prometheus部署node_exporter节点收集数据(二)

为监控服务器CPU、内存、磁盘、I/O等信息,需要node_exporter,作用是用于机器系统数据收集。

1 下载安装node_exporter

wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz

tar -xf node_exporter-1.2.2.linux-amd64.tar.gz 
cd node_exporter-1.2.2.linux-amd64/
mv node_exporter  /usr/local/bin/

2 添加启动用户

useradd prometheus -s /sbin/nologin -M

3 配置启动服务

cat << EOF>/usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_export
Documentation=https://github.com/prometheus/node_exporter
After=network.target

[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

4 启动node-exporter

systemctl daemon-reload 

systemctl start node_exporter.service
systemctl enable node_exporter.service

5 配置prometheus收集

- job_name: 'node'
    static_configs:
      - targets: ['192.168.160.23:9090'] 

重启    
./promtool check config prometheus.yml
Checking prometheus.yml
  SUCCESS: 0 rule files found

[root@prometheus-server prometheus]# ps -ef|grep prometheus
root        873      1  0 8月13 ?       00:00:51 /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/data/
root       4017   3725  0 12:38 pts/0    00:00:00 grep --color=auto prometheus
[root@prometheus-server prometheus]# kill -hup 873

6 node_exporter收集设置

功能对照表 默认开启的功能
名称 说明 系统
arp 从 /proc/net/arp 中收集 ARP 统计信息 Linux
conntrack 从 /proc/sys/net/netfilter/ 中收集 conntrack 统计信息 Linux
cpu 收集 cpu 统计信息 Darwin, Dragonfly,FreeBSD, Linux
diskstats 从 /proc/diskstats 中收集磁盘 I/O 统计信息 Linux
edac 错误检测与纠正统计信息 Linux
entropy 可用内核熵信息 Linux
exec execution 统计信息 Dragonfly, FreeBSD
filefd 从 /proc/sys/fs/file-nr 中收集文件描述符统计信息 Linux
filesystem 文件系统统计信息,例如磁盘已使用空间 Darwin, Dragonfly,FreeBSD, Linux, OpenBSD
hwmon 从 /sys/class/hwmon/ 中收集监控器或传感器数据信息 Linux
infiniband 从 InfiniBand 配置中收集网络统计信息 Linux
loadavg 收集系统负载信息 Darwin, Dragonfly, FreeBSD,Linux, NetBSD, OpenBSD, Solaris
mdadm 从 /proc/mdstat 中获取设备统计信息 Linux
meminfo 内存统计信息 Darwin, Dragonfly,FreeBSD, Linux
netdev 网口流量统计信息,单位 bytes Darwin, Dragonfly,FreeBSD, Linux, OpenBSD
netstat 从 /proc/net/netstat 收集网络统计数据,等同于 netstat -s Linux
sockstat 从 /proc/net/sockstat 中收集 socket 统计信息 Linux
stat 从 /proc/stat 中收集各种统计信息,包含系统启动时间,forks, 中断等 Linux
textfile 通过 --collector.textfile.directory参数指定本地文本收集路径,收集文本信息 any
time 系统当前时间 any
uname 通过 uname 系统调用, 获取系统信息 any
vmstat 从 /proc/vmstat 中收集统计信息 Linux
wifi 收集 wifi 设备相关统计数据 Linux
xfs 收集 xfs 运行时统计信息 Linux (kernel 4.4+)
zfs 收集 zfs 性能统计信息 Linux
默认关闭的功能
名称 说明 系统
bonding 收集系统配置以及激活的绑定网卡数量 Linux
buddyinfo 从 /proc/buddyinfo 中收集内存碎片统计信息 Linux
devstat 收集设备统计信息 Dragonfly, FreeBSD
drbd 收集远程镜像块设备(DRBD)统计信息 Linux
interrupts 收集更具体的中断统计信息 Linux,OpenBSD
ipvs 从 /proc/net/ip_vs 中收集 IPVS 状态信息,从/proc/net/ip_vs_stats 获取统计信息 Linux
ksmd 从 /sys/kernel/mm/ksm 中获取内核和系统统计信 Linux
logind 从 logind 中收集会话统计信息 Linux
meminfo_numa 从 /proc/meminfo_numa 中收集内存统计信 Linux
mountstats 从 /proc/self/mountstat 中收集文件系统统计信息,包括 NFS 客户端统计信息 Linux
nfs 从 /proc/net/rpc/nfs 中收集 NFS 统计信息,等同于 nfsstat -c Linux
qdisc 收集队列推定统计信息 Linux
runit 收集 runit 状态信息 any
supervisord 收集 supervisord 状态信息 any
systemd 从 systemd 中收集设备系统状态信息 Linux
tcpstat 从 /proc/net/tcp 和 /proc/net/tcp6 收集 TCP 连接状态信息 Linux
注意:我们可以使用 --collectors.enabled 运行参数指定 node_exporter 收集的功能模块, 如果不指定,将使用默认模块。 例子:监控sshd
vim /usr/lib/systemd/system/node_exporter.service
 /usr/local/bin/node_exporter     ExecStart=/usr/local/bin/node_exporter  --collector.systemd  --collector.systemd.unit-whitelist=(sshd|docker).service

systemctl daemon-reload 
systemctl restart node_exporter.service
[root@grafana ~]# ps -ef|grep node_exporter
prometh+   2272      1  0 13:36 ?        00:00:00 /usr/local/bin/node_exporter --collector.systemd --collector.systemd.unit-whitelist=(sshd|docker).service

prometheus部署node_exporter节点收集数据(二)

7 node exporter 常用查询语句

1.磁盘剩余容量
100 - ((node_filesystem_avail_bytes{job="node",mountpoint=~".*",fstype=~"ext4|xfs|ext2|ext3"} * 100) / node_filesystem_size_bytes {job="node",mountpoint=~".*",fstype=~"ext4|xfs|ext2|ext3"})
2.内存剩余容量

100 - ((node_memory_MemTotal_bytes - node_memory_MemFree_bytes - node_memory_Buffers_bytes - node_memory_Cached_bytes) / (node_memory_MemTotal_bytes )) * 100 

3.cpu使用率
100 - ((avg by (instance,job,env)(irate(node_cpu_seconds_total{mode="idle"}[30s]))) *100) 

8 grafana图表展示

node模版9276
模版展示如下
prometheus部署node_exporter节点收集数据(二)
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: