15.2. 在 Red Hat OpenShift Container Platform 上为 KIE Server 配置 Prometheus 指标监控
您可以在 Red Hat OpenShift Container Platform 上配置 KIE 服务器部署,以使用 Prometheus 在 Red Hat Process Automation Manager 中收集并存储与业务资产活动相关的指标。如需 KIE Server 与 Prometheus 公开的可用指标的列表,请 从红帽客户门户网站下载 Red Hat Process Automation Manager 7.12.0 Source Distribution,再导航到 ~/rhpam-7.12.0-sources/src/droolsjbpm-integration-$VERSION/kie-server-parent/kie-server-services/kie-server-services-prometheus/src/main/java/org/kie/kie/kie/server/services/prometheus.
先决条件
- KIE 服务器已安装并在 Red Hat OpenShift Container Platform 上部署。如需有关 OpenShift 上的 KIE 服务器的更多信息,请参阅 Red Hat Process Automation Manager 7.12 产品文档中的相关 OpenShift 部署选项。
-
您有
kie-server用户角色对 KIE 服务器的访问权限。 - 已安装 Prometheus Operator。有关下载和使用 Prometheus Operator 的详情,请参考 GitHub 中的 Prometheus Operator 项目。
流程
在 OpenShift 上的 KIE Server 部署的
DeploymentConfig对象中,将PROMETHEUS_SERVER_EXT_DISABLED环境变量设置为false来启用 Prometheus 扩展。您可以在 OpenShift Web 控制台中设置此变量,或者在命令终端中使用oc命令:oc set env dc/<dc_name> PROMETHEUS_SERVER_EXT_DISABLED=false -n <namespace>如果您还没有在 OpenShift 上部署 KIE Server,那么您可以在您计划用于 OpenShift 部署的 OpenShift 模板(例如:
rhpam712-prod-immutable-kieserver.yaml)中,您可以将PROMETHEUS_SERVER_EXT_DISABLED模板参数设置为false来启用 Prometheus 扩展。如果您使用 OpenShift Operator 在 OpenShift 上部署 KIE 服务器,然后在 KIE Server 配置中将
PROMETHEUS_SERVER_EXT_DISABLED环境变量设置为false来启用 Prometheus 扩展:apiVersion: app.kiegroup.org/v1 kind: KieApp metadata: name: enable-prometheus spec: environment: rhpam-trial objects: servers: - env: - name: PROMETHEUS_SERVER_EXT_DISABLED value: "false"创建一个
service-metrics.yaml文件,以添加将指标从 KIE Server 公开给 Prometheus 的服务:apiVersion: v1 kind: Service metadata: annotations: description: RHPAM Prometheus metrics exposed labels: app: myapp-kieserver application: myapp-kieserver template: myapp-kieserver metrics: rhpam name: rhpam-app-metrics spec: ports: - name: web port: 8080 protocol: TCP targetPort: 8080 selector: deploymentConfig: myapp-kieserver sessionAffinity: None type: ClusterIP在命令终端中,使用
oc命令将service-metrics.yaml文件应用到 OpenShift 部署:oc apply -f service-metrics.yaml-
创建一个 OpenShift secret,如
metrics-secret,以访问 KIE Server 上的 Prometheus 指标。secret 必须包含带有 KIE Server 用户凭证的 "username" 和 "password" 元素。如需有关 OpenShift 机密的信息,请参阅 OpenShift 开发人员指南中的 机密 章节。 创建定义
ServiceMonitor对象的service-monitor.yaml文件。服务监控器可让 Prometheus 连接到 KIE 服务器指标服务。apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: rhpam-service-monitor labels: team: frontend spec: selector: matchLabels: metrics: rhpam endpoints: - port: web path: /services/rest/metrics basicAuth: password: name: metrics-secret key: password username: name: metrics-secret key: username在命令终端中,使用
oc命令将service-monitor.yaml文件应用到 OpenShift 部署:oc apply -f service-monitor.yaml完成这些配置后,Prometheus 开始收集指标和 KIE 服务器将指标发布到 REST API 端点
http://HOST:PORT/kie-server/services/rest/metrics。您可以在位于
http://HOST:PORT/graph的 Prometheus 表达式浏览器中与收集的指标交互,或者将 Prometheus 数据源与 Grafana 等数据工具集成。Prometheus 表达式浏览器位置
http://HOST:PORT/graph的主机和端口在您安装 Prometheus Operator 时公开 Prometheus web 控制台的路由中定义。如需有关 OpenShift 路由的信息,请参阅 OpenShift 架构 文档中的 路由 章节。图 15.6. 带有 KIE 服务器指标的 Prometheus 表达式浏览器
图 15.7. 带有 KIE Server 目标的 Prometheus 表达式浏览器
图 15.8. 带有 DMN 模型的 KIE 服务器指标的 Grafana 仪表板
图 15.9. 带有 KIE 服务器指标的 Grafana 仪表板
图 15.10. 带有 KIE 服务器指标的 Grafana 仪表板用于进程、用例和任务