服务部署
部署 Node Exporter 服务
# helm pull prometheus-community/prometheus-node-exporter --version 4.3.0
# helm show value ./prometheus-node-exporter-4.3.0.tgz > prometheus-node-exporter-4.3.0.helm-values.yaml
# vim prometheus-node-exporter-4.3.0.helm-values.yaml
# helm install -n observing-client mon-node-exporter \
./prometheus-node-exporter-4.3.0.tgz -f prometheus-node-exporter-4.3.0.helm-values.yaml
配置 Prometheus 抓取
Configuration | Prometheus
How to configure prometheus kubernetes_sd_configs to specify a specific host port?
prometheus-community https://prometheus-community.github.io/helm-charts
prometheus-community/prometheus
...
extraScrapeConfigs: |
...
- job_name: 'node-exporter'
kubernetes_sd_configs:
- role: node
relabel_configs:
- source_labels: [__address__]
action: replace
regex: ([^:]+):.*
replacement: $1:9100
target_label: __address__
...
配置 Grafana 展示
Grafana Labs/Dashboards/Node Exporter Full
指标数据
Block Device and File System
Mapping iostat to the node exporter’s node_disk_* metrics
IOPS, iostat (r/s) => rate(node_disk_reads_completed_total[5m])
IOPS, iostat (w/s) => rate(node_disk_writes_completed_total[5m])
Bindwidth, iostat (rkB/s) => rate(node_disk_read_bytes_total[5m])
Bindwidth, iostat (wkB/s) => rate(node_disk_write_bytes_total[5m])
Latency, iostat (r_await) => rate(node_disk_read_time_seconds_total[5m]) / rate(node_disk_reads_completed_total[5m])
Latency, iostat (w_await) => rate(node_disk_write_time_seconds_total[5m]) / rate(node_disk_writes_completed_total[5m])
iostat (avgqu-sz) => rate(node_disk_io_time_weighted_seconds_total[5m])
iostat (rrqm/s) => rate(node_disk_reads_merged_total[5m])
iostat (wrqm/s) => rate(node_disk_writes_merged_total[5m])
iostat (%util) => rate(node_disk_io_time_seconds_total[5m])
iostat (svctm) => deprecated
iostat (avgrq-sz) => (rate(node_disk_read_bytes_total[5m]) + rate(node_disk_written_bytes_total[5m])) / (rate(node_disk_reads_completed_total[5m]) + rate(node_disk_writes_completed_total[5m]))