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?