由 IBM® MQ Operator 管理的队列管理器可以生成与 Prometheus兼容的度量。 队列管理器指标已启用,并通过 HTTP 提供。
开始之前
使用 HTTPS 进行队列管理器指标
从 9.4.2.0-r1 可知,队列管理器可通过 HTTPS 提供指标服务。 在 9.4.2.0-r1 之前,队列管理器只能通过 HTTP 提供指标服务。
注意 :所有队列管理器默认通过 HTTP 提供指标。
关于本任务
Prometheus是一个开源的时间序列数据库和度量规则评估引擎。 IBM MQ 容器暴露了一个指标端点,可由 Prometheus 查询。 这些指标由 IBM MQ 队列管理器的系统主题生成。
OpenShift® Container Platform 包含一个预配置、预安装且可自动更新的监控堆栈,该堆栈采用 Prometheus 服务器。 监控 OpenShift Container Platform 堆栈需要进行配置,以便监控用户定义的项目。 请参阅文档 Red Hat® OpenShift 中关于为用户自定义项目启用监控的说明。
若您在部署,可部署 PrometheusAmazon EKS,然后手动在 Prometheus 中配置抓取目标。
当您创建一个启用指标的 QueueManager 时,默认情况下 会 IBM MQ Operator 创建一个 ServiceMonitor , Prometheus 操作符随后可以发现该。 若您采用其他方式部署 Prometheus ,必须禁用 ServiceMonitor ,并手动在 Prometheus 中配置抓取目标。
过程
- 查看队列管理器指标。
- Red Hat OpenShift
- 使用 Red Hat OpenShift Container Platform (OCP) 监控堆栈
- 在 中打开 “指标 OCP”选项卡。
- 点击 。
- Amazon EKS
- 设置
.spec.queueManager.metrics.serviceMonitor.enabled 为 false ,因为 ServiceMonitors 是默认启用的特定 Red Hat OpenShift 功能。 此功能必须在以下位置明确禁用: Amazon EKS spec:
queueManager:
metrics:
enabled: true
serviceMonitor:
enabled: false
- 部署 Prometheus ,然后在 Prometheus 中手动配置抓取目标。
- 查看指标。 队列管理器指标通过端口提供服务
9157。 您可以在队列管理器 Pod 内部通过查询此端点查看指标。 例如,运行以下命令,其中 <POD> 是您的队列管理器 Pod 的名称:kubectl exec -t <POD> -- curl http://0.0.0.0:9157/metrics
- 通过以下方式提供队列管理指标 HTTPS
- Red Hat OpenShift
- 请将 .spec.queueManager.metrics.tls.provider 设置为 openshift。
spec:
queueManager:
metrics:
enabled: true
tls:
provider: openshift
注意: 使用此设置将生成一个 Red Hat OpenShift 证书,该证书由队列管理器的 HTTPS 指标服务器使用。 无法为. 配置其他提供商供其使用 IBM MQ Operator。
- Amazon EKS (可选,但不推荐 Red Hat OpenShift)
- 提供您自己的证书,以便通过 HTTPS 提供队列管理器指标。
若您正在使用 Red Hat OpenShift,可选择此选项,但不建议这样做,因为这需要禁用 功能 ServiceMonitor ,从而丧失该功能带来的优势。
- 禁用队列管理器指标。
将 .spec.queueManager.metrics.enabled 设置为 false.