Running the Node Exporter
Node Exporter在Unix系统(如Linux)上公开内核和机器的指标。 它提供所有标准指标,如CPU,内存,磁盘空间,磁盘I/O和网络带宽。 此外,它还提供了内核暴露的无数额外指标,从负载平均值到主板温度
Node Exporter未公开的内容是有关各个进程的度量标准,以及来自其他Exporter或应用程序的代理度量标准。 在Prometheus架构中,您可以直接监控应用程序和服务,而不是将它们整合到应用程序和服务中 机器指标
可以从https://prometheus.io/download/ 下载Node Exporter。 转到该页面下载amd64架构适用于Linux OS的最新版本的Node exporter并运行
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
$ tar -zxf node_exporter-*.linux-amd64.tar.gz
$ cd node_exporter-*.linux-amd64/
$ ./node_exporter
INFO[0000] Starting node_exporter (version=0.17.0, branch=HEAD, revision=f6f6194a436b9a63d0439abc585c76b19a206b21) source="node_exporter.go:82"
INFO[0000] Build context (go=go1.11.2, user=root@322511e06ced, date=20181130-15:51:33) source="node_exporter.go:83"
INFO[0000] Enabled collectors: source="node_exporter.go:90"
INFO[0000] - arp source="node_exporter.go:97"
INFO[0000] - bcache source="node_exporter.go:97"
INFO[0000] - bonding source="node_exporter.go:97"
INFO[0000] - conntrack source="node_exporter.go:97"
INFO[0000] - cpu source="node_exporter.go:97"
INFO[0000] - diskstats source="node_exporter.go:97"
INFO[0000] - edac source="node_exporter.go:97"
INFO[0000] - entropy source="node_exporter.go:97"
INFO[0000] - filefd source="node_exporter.go:97"
INFO[0000] - filesystem source="node_exporter.go:97"
INFO[0000] - hwmon source="node_exporter.go:97"
INFO[0000] - infiniband source="node_exporter.go:97"
INFO[0000] - ipvs source="node_exporter.go:97"
INFO[0000] - loadavg source="node_exporter.go:97"
INFO[0000] - mdadm source="node_exporter.go:97"
INFO[0000] - meminfo source="node_exporter.go:97"
INFO[0000] - netclass source="node_exporter.go:97"
INFO[0000] - netdev source="node_exporter.go:97"
INFO[0000] - netstat source="node_exporter.go:97"
INFO[0000] - nfs source="node_exporter.go:97"
INFO[0000] - nfsd source="node_exporter.go:97"
INFO[0000] - sockstat source="node_exporter.go:97"
INFO[0000] - stat source="node_exporter.go:97"
INFO[0000] - textfile source="node_exporter.go:97"
INFO[0000] - time source="node_exporter.go:97"
INFO[0000] - timex source="node_exporter.go:97"
INFO[0000] - uname source="node_exporter.go:97"
INFO[0000] - vmstat source="node_exporter.go:97"
INFO[0000] - xfs source="node_exporter.go:97"
INFO[0000] - zfs source="node_exporter.go:97"
INFO[0000] Listening on :9100 source="node_exporter.go:111"
现在可以通过访问http://localhost:9100/metrics 来访问node_exporter暴露的metrics信息
现在来让prometheus来scrape这个node_exporter的metrics信息,我们需要修改prometheus.yml
global:
scrape_interval: 10s
scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- localhost:9090
- job_name: node
static_configs:
- targets:
- localhost:9100
使用Ctrl-C将其关闭然后再启动prometheus后,访问prometheus的target页面可以看到两个target都是up的状态

现在查询up的信息能看到两个结果

当您添加更多job并配置scrape时,您需要在同一时间查看来自不同job的相同指标。 例如,Prometheus和节点导出器的内存使用情况非常不同,无关的数据使调试和调查更加困难。 您可以使用 process_resident_memory_bytes{job="node"}
来绘制node导出器的内存使用情况。 `job="node"`
称为标签匹配器,它返回负责选择结果的度量标准,如图:

这里的process_resident_memory_bytes
是node_exporter进程本身使用的内存(由进程前缀暗示)而不是整个机器。 了解Node_exporter的资源使用情况非常方便,但这并不是您运行它的主要原因而是它能够监控运行主机的基本信息。
作为最后一个示例,在Graph视图中评估 rate(node_network_receive_bytes_total[1m])
以生成如图所示的图形

node_network_receive_bytes_total
是网络接口已接收的字节数的计数器。node_exporter自动获取机器的所有网络接口,它们可以在PromQL中作为一个组使用。 这对于警报非常有用,因为标签可以避免详细地列出您希望提醒的每一件事
Last updated
Was this helpful?