prometheus+grafana+node-exporter监控linux(二)
prometheus+grafana+node-exporter监控linuxnode-exporter是采集linux硬件数据的软件,比如CPU使用率,内存等数据一、下载安装运行node-exporter(9100端口)采用的是docker安装https://github.com/prometheus/node_exporter/releasesdocker本地安装方法(以使用doc...
prometheus+grafana+node-exporter监控linux(二)
node-exporter是采集linux硬件数据的软件,比如CPU使用率,内存等数据
一、下载安装运行node-exporter(默认9100端口)
采用的是docker安装
https://github.com/prometheus/node_exporter/releases
docker本地安装方法
(以使用docker本地安装将最新版node-exporter打成tar包)
#docker load -i node-exporter.tar
#docker run -d -p 9100:9100 --name=node-exporter -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter:latest
访问nodeIP:9100 或http://nodeIP:9100/metrics能访问且有数据就代表安装成功
二、node-exporter常用监控项promQL
注:$node 为grafana模板变量,$node=label_values(node_exporter_build_info,instance)
CPU使用率(不使用by(instance)函数,在grafana面板中无法显示出具体监控的ip)
100 - (avg(irate(node_cpu_seconds_total{instance=~"$node",mode="idle"}[5m])) by(instance)* 100)
有by(instance)显示效果
无by(instance)显示效果
句柄使用率
node_filefd_allocated{instance=~'$node'}/node_filefd_maximum{instance=~'$node'}*100
内存使用率
(1 - (node_memory_MemAvailable_bytes{instance=~"$node"} / (node_memory_MemTotal_bytes{instance=~"$node"})))* 100
内存总量
node_memory_MemTotal_bytes{instance=~"$node"}
或
sum(node_memory_MemTotal_bytes{instance=~"$node"})
已用内存
node_memory_MemTotal_bytes{instance=~"$node"} - node_memory_MemAvailable_bytes{instance=~"$node"}
可用内存
node_memory_MemAvailable_bytes{instance=~"$node"}
交换分区使用率
(1 - (node_memory_SwapFree_bytes{instance=~"$node"} / node_memory_SwapTotal_bytes{instance=~"$node"})) * 100
系统运行时间
sum(time() - node_boot_time_seconds{instance=~"$node"})
系统5分钟的负载
node_load5{instance=~"$node"}
三、监控效果展示
可以去grafana官网找模板,然后根据实际需求做调整。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)