Prometheus 监控k8s集群以外机器
2025-01-19 本文已影响0人
Rami
例如在 k8s 集群外部也有多台 Linux 主机,需要采集 node-exporter 指标进行监控,过程如下:
1. 在被监控机器上部署node_exporter采集器
参考:https://www.jianshu.com/p/12cd96826c82
2. 添加prometheus自定义配置
vim external-node-exporter-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: external-node-exporter
namespace: monitoring
type: Opaque
stringData:
external-node-exporter.yaml: |
- job_name: node-exporter #这里必须是这个名字,不然复用不了集群已经存在的prometheusrule控制的node-exporter-rules规则
static_configs:
- targets: #下面是你要监控的主机
- 10.100.2.3:9100
- 10.100.2.4:9100
- 10.100.2.5:9100
- 10.100.1.6:9100
创建secert
kubectl apply -f external-node-exporter-secret.yaml
kubectl get secrets -n monitoring |grep node
external-node-exporter Opaque 1 73m
3. 修改prometheus引用上面的配置
# 进入部署prometheus的项目目录
cd kube-prometheus/manifests
vim prometheus-prometheus.yaml
spec:
additionalScrapeConfigs: # 新增自定义资源
key: external-node-exporter.yaml # 文件名
name: external-node-exporter # secret 的名字
alerting:
alertmanagers:
- apiVersion: v2
name: alertmanager-main
namespace: monitoring
port: web
enableFeatures: []
externalLabels: {}
更新
kubectl apply -f prometheus-prometheus.yaml
4. 访问验证
看到已被全部监控
image.png
5. 导入grafana 模板
ID: 16098
https://grafana.com/grafana/dashboards/16098-node-exporter-dashboard-20240520-job/