Openshift中的Prometheus-Operator如何添加新的应用监控

- prometheus使用的配置文件在
openshift-monitoring/secret/prometheus-k8s中。
有添加ServiceMonitor时会动态更新该文件 - 为
system:serviceaccount:openshift-monitoring:prometheus-k8s添加应用所在project的view权限
1 | oc policy add-role-to-user view system:serviceaccount:openshift-monitoring:prometheus-k8s -n myproject |
- 查看prometheus的配置,查看对于servicemonitor的过滤器
1 | $ oc get prometheus k8s -o yaml |
serviceMonitorSelector表示,只有设置了k8s-app的Label的serviceMonitor的状态才能被该prometheus监听到
- 添加
servicemonitor按照3的说明,serviceMonitor必须设置k8s-appLabel
1 | apiVersion: monitoring.coreos.com/v1 |
- selector:匹配的exporter的service的Label
- namespaceSelector:匹配exporter所在的namespace。any为匹配所有的namespace
- endpoints:对应为exporter服务port名
注意:经过实验serviceMonitor必须创建在prometheus相同的project下,默认为openshift-monitoring
另外如果OpenShift网络开启的是多租房/NetworkPolicy模式,需要确保prometheus访问exporter节点的网络通畅。
原理部分可参考:
官方手册 Prometheus Cluster Monitoring,包含对Openshift集群etcd的监控的详细操作
使用Prometheus Operator優雅的監控Kubernetes
基于 Prometheus 的集群监控
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!

