1.查看yaml
[root@k8s-master01 clickhouse03]# cat clickhouse-exporter.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: clickhouse-exporter03
name: clickhouse-exporter03
namespace: monitoring
spec:
replicas: 1
selector:
matchLabels:
k8s-app: clickhouse-exporter03
template:
metadata:
labels:
k8s-app: clickhouse-exporter03
spec:
containers:
- args:
- --scrape_uri=http://1XXXXXX:8123 # 对应 CLICKHOUSE 实例的地址信息
env:
- name: CLICKHOUSE_USER
value: "root" # 对应 CLICKHOUSE的账号
- name: CLICKHOUSE_PASSWORD
value: "xxxxxxxx" # 对应 CLICKHOUSE的密码
image: f1yegor/clickhouse-exporter:latest
imagePullPolicy: IfNotPresent
name: clickhouse-exporter
ports:
- containerPort: 9116
name: metric-port # 这个名称在配置抓取任务的时候需要
2.配置PodMonitor
[root@k8s-master01 clickhouse03]# cat clickhouse-PodMonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: clickhouse-exporter03 # 填写一个唯一名称
namespace: monitoring # namespace固定,不要修改
spec:
podMetricsEndpoints:
- interval: 30s
port: metric-port # 填写pod yaml中Prometheus Exporter对应的Port的Name
path: /metrics # 填写Prometheus Exporter对应的Path的值,不填默认/metrics
relabelings:
- action: replace
sourceLabels:
- instance
regex: (.*)
targetLabel: instance
replacement: 'crs-xxxxxx' # 调整成对应的 MySQL 实例 ID
- action: replace
sourceLabels:
- instance
regex: (.*)
targetLabel: ip
replacement: '1.x.x.x' # 调整成对应的 MySQL 实例 IP
namespaceSelector: # 选择要监控pod所在的namespace
matchNames:
- monitoring
selector: # 填写要监控pod的Label值,以定位目标pod
matchLabels:
k8s-app: clickhouse-exporter03