摘要:
node-exporter;Endpoint;
1、AirNet物理主机安装node-exporter服务;
[Unit]
Description=node_exporter
Documentation=https://github.com/prometheus/node_exporter
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/node_exporter --collector.ntp --collector.mountstats --collector.systemd --collector.perf --collector.tcpstat
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=20s
Restart=always
[Install]
WantedBy=multi-user.target
配置ServiceMonitor,通过Labels选择无头Service,没有selector的service不会出现Endpoint的信息,需要手工创建Endpoint绑定,Endpoint可以是内部的pod,下面是外部的服务,这里指定到要监控的AirNet物理主机的IP,一个Endpoints切片方式配置可以绑定多台物理服务器的IP。
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: airnet-node-exporter
namespace: monitoring
labels:
airnet: airnet-node-exporter
namespace: monitoring
spec:
jobLabel: airnet-app
endpoints:
- interval: 30s
port: api
scheme: http
namespaceSelector:
matchNames:
- monitoring
selector:
matchLabels:
airnet: airnet-node-exporter
---
apiVersion: v1
kind: Service
metadata:
labels:
airnet: airnet-node-exporter
name: airnet
namespace: monitoring
spec:
clusterIP: None
clusterIPs:
- None
ports:
- name: api
port: 9100
protocol: TCP
targetPort: api
type: ClusterIP
---
kind: Endpoints
apiVersion: v1
metadata:
name: airnet
namespace: monitoring
subsets:
- addresses:
- ip: 192.168.31.158
nodeName: airnet-fdp1
ports:
- port: 9100
name: api
protocol: TCP
- addresses:
- ip: 192.168.31.184
nodeName: airnet-acc-fdo1
ports:
- port: 9100
name: api
protocol: TCP