Node Exporter 自定义指标采集
参考文档
Node Exporter textfile 自定义指标收集器_富士康质检员张全蛋的博客-CSDN博客 除了本身可以收集系统指标之外,还可以通过 textfile,模块来采集我们自定义的监控指标,这对于系统监控提供了更灵活的使用空间,比如我们通过脚本采集的监控数据就可以通过该模块暴露出去,用于 Prometheus 进行监控报警。)
指标格式
指定一个生成的监控指标存放目录下,并以
.prom文件名后缀结尾。
textfile_network_send_packages{src="172.18.252.1",dest="172.31.0.25"} 7textfile_network_recieved_package{src="172.18.252.1",dest="172.31.0.25"} 7textfile_network_availability{src="172.18.252.1",dest="172.31.0.25"} 100textfile_network_rtt{src="172.18.252.1",dest="172.31.0.25"} 20textfile_network_send_packages{src="172.18.252.1",dest="172.31.0.33"} 7textfile_network_recieved_package{src="172.18.252.1",dest="172.31.0.33"} 7textfile_network_availability{src="172.18.252.1",dest="172.31.0.33"} 100textfile_network_rtt{src="172.18.252.1",dest="172.31.0.33"} 20
[root@k8s-node-nj-71 textfile]# pwd/tmp/textfile[root@k8s-node-nj-71 textfile]# lsnetwork.prom[root@k8s-node-nj-71 textfile]# cat network.promtextfile_network_send_packages{src="172.18.252.1",dest="172.31.0.25"} 7textfile_network_recieved_package{src="172.18.252.1",dest="172.31.0.25"} 7textfile_network_availability{src="172.18.252.1",dest="172.31.0.25"} 100textfile_network_rtt{src="172.18.252.1",dest="172.31.0.25"} 20textfile_network_send_packages{src="172.18.252.1",dest="172.31.0.33"} 7textfile_network_recieved_package{src="172.18.252.1",dest="172.31.0.33"} 7textfile_network_availability{src="172.18.252.1",dest="172.31.0.33"} 100textfile_network_rtt{src="172.18.252.1",dest="172.31.0.33"} 60
node exporter yaml文件
apiVersion: apps/v1kind: DaemonSetmetadata:name: node-exporternamespace: thanoslabels:app: node-exporterspec:selector:matchLabels:app: node-exportertemplate:metadata:labels:app: node-exporterspec:hostPID: truehostIPC: truehostNetwork: truenodeSelector:kubernetes.io/os: linuxcontainers:- name: node-exporterimage: 172.16.140.21/prometheus/node-exporter:v1.2.2args:- --web.listen-address=$(HOSTIP):9100- --path.procfs=/host/proc- --path.sysfs=/host/sys- --path.rootfs=/host/root- --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+)($|/)- --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$- --collector.textfile.directory=/tmp/textfileports:- containerPort: 9100env:- name: HOSTIPvalueFrom:fieldRef:fieldPath: status.hostIPresources:requests:cpu: 150mmemory: 180Milimits:cpu: 150mmemory: 180MisecurityContext:runAsNonRoot: truerunAsUser: 65534volumeMounts:- name: procmountPath: /host/proc- name: sysmountPath: /host/sys- name: rootmountPath: /host/rootmountPropagation: HostToContainerreadOnly: true- name: textfilemountPath: /tmp/textfile/tolerations:- operator: "Exists"volumes:- name: prochostPath:path: /proc- name: devhostPath:path: /dev- name: syshostPath:path: /sys- name: roothostPath:path: /- name: textfilehostPath:path: /tmp/textfile/
