Prometheus:监控与告警:7: Node Exporter采集机器监控信息

前面的文章介绍了Exporter在Prometheus中的概念和使用方式,这篇文章以Node Exporter为例来介绍一下如何在Prometheus中采集机器的CPU使用率、磁盘IO、内存使用率和网络状况等。

安装&运行

下载

Node Exporter也是使用go语言开发,不存在其他的安装依赖包,只需要下载此二进制文件或者下载源码生成二进制即可运行。

  • 二进制文件下载地址:https://github.com/prometheus/node_exporter/releases

根据不同操作系统获取相应的二进制文件压缩包即可,比如本文使用的是macOS,

liumiaocn:~ liumiao$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.15.2
BuildVersion:	19C57
liumiaocn:~ liumiao$ uname -a
Darwin liumiaocn 19.2.0 Darwin Kernel Version 19.2.0: Sat Nov  9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64 x86_64
liumiaocn:~ liumiao$ 

所以示例下载命令如下所示:

下载命令:wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.darwin-amd64.tar.gz

解压并运行

解压文件并运行,即可启动Node Exporter,执行示例日志如下所示

liumiaocn:~ liumiao$ ls node_exporter-0.18.1.darwin-amd64.tar.gz 
node_exporter-0.18.1.darwin-amd64.tar.gz
liumiaocn:~ liumiao$ tar xf node_exporter-0.18.1.darwin-amd64.tar.gz 
liumiaocn:~ liumiao$ cd node_exporter-0.18.1.darwin-amd64/
liumiaocn:node_exporter-0.18.1.darwin-amd64 liumiao$ ls
LICENSE		NOTICE		node_exporter
liumiaocn:node_exporter-0.18.1.darwin-amd64 liumiao$ ./node_exporter 
INFO[0000] Starting node_exporter (version=0.18.1, branch=HEAD, revision=3db77732e925c08f675d7404a8c46466b2ece83e)  source="node_exporter.go:156"
INFO[0000] Build context (go=go1.11.10, user=root@4a30727bb68c, date=20190604-16:47:36)  source="node_exporter.go:157"
INFO[0000] Enabled collectors:                           source="node_exporter.go:97"
INFO[0000]  - boottime                                   source="node_exporter.go:104"
INFO[0000]  - cpu                                        source="node_exporter.go:104"
INFO[0000]  - diskstats                                  source="node_exporter.go:104"
INFO[0000]  - filesystem                                 source="node_exporter.go:104"
INFO[0000]  - loadavg                                    source="node_exporter.go:104"
INFO[0000]  - meminfo                                    source="node_exporter.go:104"
INFO[0000]  - netdev                                     source="node_exporter.go:104"
INFO[0000]  - textfile                                   source="node_exporter.go:104"
INFO[0000]  - time                                       source="node_exporter.go:104"
INFO[0000] Listening on :9100                            source="node_exporter.go:170"

可以看到缺省会在9100端口启动服务进程

结果确认

结果示例

可以看到9100端口下提供了Prometheus所需要的/metrics的HTTP服务地址
Prometheus:监控与告警:7: Node Exporter采集机器监控信息_第1张图片
/metrics提供的监控信息如下所示:
Prometheus:监控与告警:7: Node Exporter采集机器监控信息_第2张图片

格式说明

/metrics地址返回很多监控指标数据,比如此处CPU相关的基础信息:

# HELP node_cpu_seconds_total Seconds the cpus spent in each mode.
# TYPE node_cpu_seconds_total counter
node_cpu_seconds_total{cpu="0",mode="idle"} 118025.82
node_cpu_seconds_total{cpu="0",mode="nice"} 0
node_cpu_seconds_total{cpu="0",mode="system"} 11462.36
node_cpu_seconds_total{cpu="0",mode="user"} 18924.68
...省略
node_cpu_seconds_total{cpu="7",mode="idle"} 146908.51
node_cpu_seconds_total{cpu="7",mode="nice"} 0
node_cpu_seconds_total{cpu="7",mode="system"} 816.94
node_cpu_seconds_total{cpu="7",mode="user"} 644.52

以此处的CPU使用状况的监控为例进行说明,每种监控指标之前都会有HELP和TYPE的说明,HELP是对于此监控指标的概要说明,而TYPE则用于表明此指标的类型。从上述指标返回的监控数据中可以看到这是一个8核的CPU,而监控指标分别显示了CPU的空闲状况(idle)、用户空间进程的调用优先度(nice)、系统空间进程使用比率(system)、用户空间进程使用比率(user)等4个指标的信息。

启动选项

Node Exporter在启动时常用的设定选项如下所示:

  • 指定端口:缺省为9100,可以通过--web.listen-address=":9200" 的方式指定端口号为9200
  • 指定服务地址:缺省为/metrics,可以通过--web.telemetry-path="/metrics" 的方式指定服务地址
  • 指定日志等级:缺省为INFO,可以通过--log.level="info"的方式指定,日志等级类别有:debug, info, warn, error, fatal
  • 启用Collector:可以通过Collector的指定来定制需要收集的信息,通过--collector.Collector名称 的方式指定希望收集的Collector数据
  • 禁用Collector:可以通过Collector的指定来定制需要收集的信息,通过--no-collector.Collector名称 的方式指定不需要收集的Collector数据
  • 禁用Exporter自身监控数据:可以通过--web.disable-exporter-metrics 的方式设定,这样promhttp_, process_, go_*等指标就不会出现了。

参考内容

https://github.com/prometheus/node_exporter

你可能感兴趣的:(#,Prometheus)