kube-prometheus监控外部exporter
2024-11-19
kube-prometheus 使用外部 exporter
kube-prometheus 简化了部署 prometheus 复杂程度,但是这个项目的 prometheus-operator 添加动态目标是通过 serviceMonitor 资源实现。只能针对 k8s 中 service 的类型,如果是外部的 exporter 就需要进行挂载 prometheus 文件实现
实现方法,静态文件
需要添加一个文件内容如下:
[root@VM]# cat external-node.yaml
- job_name: 'external-node-exporter'
static_configs:
- targets:
- 10.0.1.130:9100
relabel_configs:
- source_labels: [__address__]
regex: "([^:]+):[0-9]+"
target_label: instance
replacement: "$1"
创建 secret 配置文件
kubectl create secret generic external-node-configs --from-file=external-node.yaml -n monitoring
引用到 prometheus 资源下,添加 additionalScrapeConfigs
实现
[root@VM]# kubectl edit prometheus -n monitoring k8s
...
namespace: monitoring
resourceVersion: "45924480"
uid: ab9b158c-8027-42a8-8f0f-acc2341d99de
spec:
additionalScrapeConfigs: // 添加内容
key: external-node.yaml // 添加内容
name: external-node-configs // 添加内容
alerting:
alertmanagers:
- apiVersion: v2
name: alertmanager-main
namespace: monitoring
port: web
enableFeatures: []
evaluationInterval: 30s
externalLabels: {}
image: quay.io/prometheus/prometheus:v2.55.1
...