2.4. Fuse Online 的重要备注
Fuse Online 发行版的 Fuse 7.12 版本的重要备注:
- 对 Fuse Online 的支持现已弃用,因为 Fuse 7 现在处于维护支持中。Fuse 7 结束支持时,不会有任何用于 Fuse Online 的开发。
- OCP 3.11 不再支持安装 Fuse Online。
- Fuse Online 不再支持 Camel K 运行时或 KNative 连接器。
- 当在红帽基础架构上安装和配置 Fuse Online 时,该帐户仅限于一次可以运行的特定数量集成。详情请查看定价计划。
- 上传到 Fuse Online 的 OpenAPI 模式可能无法定义输入/输出类型。当 Fuse Online 从 OpenAPI 模式创建自定义 API 客户端时,它没有指定输入/输出类型,则无法创建集成数据将集成数据映射到 API 客户端处理的字段或来自 API 客户端处理的字段。如果集成需要数据映射到自定义 API,那么当您上传 OpenAPI 模式时,点 Review/Edit 以打开 API Designer,它是一个 API 编辑工具,并添加输入/输出类型规格。
- 自 Fuse 7.8 起,用于自定义 API 客户端连接器或 API 供应商集成的 OpenAPI 文档不能具有 cyclic 模式引用。例如,指定请求或响应正文的 JSON 模式无法作为整体引用,也无法通过任意数量的中间模式引用其自身的任何部分。
在 OCP 4.9 (或更新版本)上,
application-monitoring
项目不再有效。监控 Fuse 在线集成和基础架构组件与 Prometheus 和 Grafana 的先决条件。要临时解决这个问题,您可以使用 内置的监控堆栈(在
openshift-monitoring
命名空间中)使用openshift-user-workload-monitoring
功能和grafana-operator
来使用ops addon
,如以下在 OCP 4.9 (或稍后的)上添加 Fuse Online 监控资源(Prometheus 和 Grafana) 所述。
2.4.1. 在 OCP 4.9 (或更新版本)中添加 Fuse Online 监控资源(Prometheus 和 Grafana)
先决条件
- Fuse Online 在 OCP 4.9 (或更新版本)上安装并运行。
-
已安装
oc
客户端工具,并连接到安装了 Fuse Online 的 OCP 集群。 -
有 OCP 集群的
admin
访问权限。 您的 Fuse 在线安装启用了
ops addon
。如果需要,您可以使用以下命令启用它:oc patch syndesis/app --type=merge -p '{"spec": {"addons": {"ops": {"enabled": true}}}}'
步骤
如果有现有的
openshift-monitoring
配置,请跳至第 2 步。否则,创建一个
openshift-monitoring
配置,将用户工作负载监控选项设置为true
,然后跳至第 3 步:oc apply -f - <<EOF apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: enableUserWorkload: true EOF
如果存在现有的
openshift-monitoring
配置:检查现有的
openshift-monitoring
配置,以确定 用户工作负载监控 选项是否设置为 true :oc get -n openshift-monitoring cm/cluster-monitoring-config -ojsonpath='{.data.config\.yaml}'
如果结果为
enableUserWorkload: true
,则用户工作负载监控选项设置为 true。跳至第 3 步。如果结果显示任何其他配置,请继续下一步,以便通过编辑 ConfigMap 来启用用户工作负载的监控。
在编辑器中打开 ConfigMap 文件,例如:
oc -n openshift-monitoring edit cm/cluster-monitoring-config
将 enableUserWorkload 设置为 true。例如:
apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: enableUserWorkload: true
- 保存 ConfigMap 文件。
使用以下命令监控
openshift-user-workload-monitoring
命名空间中的 pod 状态:oc -n openshift-user-workload-monitoring get pods -w
等待 pod 的状态为 Running,例如:
prometheus-operator-5d989f48fd-2qbzd 2/2 Running prometheus-user-workload-0 5/5 Running prometheus-user-workload-1 5/5 Running thanos-ruler-user-workload-0 3/3 Running thanos-ruler-user-workload-1 3/3 Running
验证 Prometheus 中是否启用了 Fuse Online 警报规则:
访问内部 prometheus 实例
oc port-forward -n openshift-user-workload-monitoring pod/prometheus-user-workload-0 9090
-
打开浏览器到
localhost:9090
-
选择 Status> Targets。您应该会看到三个
复合
端点。 -
按 CTRL-C 终止
端口转发
进程。
-
在 OperatorHub 中,将 Grafana Operator 4.1.0 安装到您选择的命名空间,例如
grafana-middleware
命名空间。 添加集群角色和集群角色绑定,以允许
grafana-operator
列出节点和命名空间:从
grafana-operator
网站下载集群角色 YAML 文件:curl https://raw.githubusercontent.com/grafana-operator/grafana-operator/master/deploy/cluster_roles/cluster_role_grafana_operator.yaml > tmp_role.yaml
为
grafana-operator
添加集群权限以读取其他命名空间和节点:cat <<EOF >> tmp_role.yaml - apiGroups: - "" resources: - namespaces - nodes verbs: - get - list - watch EOF
oc apply -f tmp_role.yaml
oc apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: grafana-operator roleRef: name: grafana-operator kind: ClusterRole apiGroup: "" subjects: - kind: ServiceAccount name: grafana-operator-controller-manager namespace: grafana-middleware EOF
使用
DASHBOARD_NAMESPACES_ALL
环境变量从其他命名空间中读取 Grafana 仪表板,以限制命名空间:oc -n grafana-middleware patch subs/grafana-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"DASHBOARD_NAMESPACES_ALL","value":"true"}]}}}'
检查
grafana
pod 是否已重新创建:oc -n grafana-middleware get pods -w
另外,还可查看
grafana-operator
日志:oc -n grafana-middleware logs -f `oc -n grafana-middleware get pods -oname|grep grafana-operator-controller-manager` -c manager
添加 Grafana 自定义资源 以启动 Grafana 服务器 pod,例如:
oc apply -f - <<EOF apiVersion: integreatly.org/v1alpha1 kind: Grafana metadata: name: grafana-middleware namespace: grafana-middleware spec: config: auth: disable_signout_menu: true auth.anonymous: enabled: true log: level: warn mode: console security: admin_password: secret admin_user: root dashboardLabelSelector: - matchExpressions: - key: app operator: In values: - grafana - syndesis ingress: enabled: true EOF
允许
grafana-operator
读取监控信息:oc -n grafana-middleware adm policy add-cluster-role-to-user cluster-monitoring-view -z grafana-serviceaccount
添加
GrafanaDatasource
以查询thanos-querier
:oc apply -f - <<EOF apiVersion: integreatly.org/v1alpha1 kind: GrafanaDataSource metadata: name: prometheus-grafanadatasource namespace: grafana-middleware spec: datasources: - access: proxy editable: true isDefault: true jsonData: httpHeaderName1: 'Authorization' timeInterval: 5s tlsSkipVerify: true name: Prometheus secureJsonData: httpHeaderValue1: "Bearer $(oc -n grafana-middleware serviceaccounts get-token grafana-serviceaccount)" type: prometheus url: "https://$(oc get route thanos-querier -n openshift-monitoring -ojsonpath='{.spec.host}')" name: prometheus-grafanadatasource.yaml EOF
查看 grafana 服务器日志:
oc logs -f `oc get pods -l app=grafana -oname`
访问 grafana URL 并查看 Fuse 在线仪表板:
echo "https://"$(oc -n grafana-middleware get route/grafana-route -ojsonpath='{.spec.host}')