Prometheus 自动服务发现

Prometheus-Operator集群已经配置了服务自动发现,详见更新自动发现配置

更新 clickhouse 服务

# 查看 clickhouse 指标服务
kubectl get service clickhouse-operator-metrics -n middle |grep clickhouse
clickhouse-operator-metrics   ClusterIP   172.20.11.30   <none>        8888/TCP   38d

添加自动服务发现标志:

# kubectl edit svc clickhouse-operator-metrics -o yaml -n middle
apiVersion: v1
kind: Service
metadata:
  annotations:
    meta.helm.sh/release-name: ck-operater
    meta.helm.sh/release-namespace: middle
    prometheus.io/port: "8888"
    prometheus.io/scrape: "true"

主要是添加两个:

prometheus.io/port: "8888"
prometheus.io/scrape: "true"

保存退出后,service文件会重新apple。

查看clickhouse监控指标收集情况:

# 本地端口转换
kubectl -n middle port-forward service/clickhouse-operator-metrics 8888
# 获取clickhouse监控指标
curl 127.0.0.1:8888/metrics

查看 prometheus targets

对接Prometheus告警

自定义报警rules,具体文件详见prometheus-alert-rules-clickhouse.yaml

部署 clickhouse 报警规则:

kubectl apply -f prometheus-alert-rules-clickhouse.yaml

对接 Grafana

对接grafana时注意json文件的变量,应根据实际情况进行更改: