6.3. 在 OpenShift 项目中创建服务监控器
Prometheus 使用 pull 模型从应用程序获取指标,这意味着它会提取或监视端点来拉取指标。虽然前面的流程可帮助在 OpenShift 实例中公开您的服务,但您还没有将 Prometheus 中的任何内容配置为提取您的服务。这就是必要的服务监控器的原因。
服务监控器是一个自定义资源,您必须在运行该服务的同一项目或命名空间中创建资源: my-project
。
流程
设置
service-monitor.yaml
:apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: k8s-app: prometheus-app-monitor name: prometheus-app-monitor namespace: my-project spec: endpoints: - interval: 30s targetPort: 8080 scheme: http selector: matchLabels: app-with-metrics: 'quarkus-app'
应用 service-monitor.yaml:
oc apply -f service-monitor.yaml
此命令创建一个名为
prometheus-app-monitor
的服务监控器,它将选择标签app-with-metrics: quarkus-app
的应用程序。此标签在将 Quarkus 应用程序部署到 OpenShift 过程中被添加。OpenShift 为带有app-with-metrics: quarkus-app
的所有服务调用端点/metrics
。使用您的服务监控器:
-
致电您的问候服务:
curl http://quarkus-micrometer-my-project.ocp.host/hello
。这会增加greeting_counter_total
计数器。 - 要查看指标,请浏览 OpenShift Console 并选择 Developer > Monitoring 视图。
- 选择 Metrics 选项卡。
-
在 Custom Query 字段中输入
greeting_counter_total
。
-
致电您的问候服务:
指标显示在 Custom Query 字段的表中。