服务部署
部署 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]))