当前位置: 首页 > article >正文

Prometheus监控实战系列九:主机监控

Prometheus使用各种Exporter来监控资源。Exporter可以看成是监控的agent端,它负责收集对应资源的指标,并提供接口给到Prometheus读取。不同资源的监控对应不同的Exporter,如node-exporeter、mysql-exporter、kafka-exporter等,在这其中最常用的当属node_exporter

node-exporter使用Go语言编写,它主要用来监控主机系统的各项性能参数,可收集各种主机指标的库,还提供了textfile功能,用于自定义指标。

1、安装node-exporter

1.1 二进制安装

下载安装包并解压,下载地址: https://prometheus.io/download/

tar zxvf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter

启动node_exporter

里面就一个启动命令node_exporter,可以直接使用此命令启动
[root@agent expoter]# ls /usr/local/node_exporter/
LICENSE  node_exporter  NOTICE
[root@agent expoter]# nohup /usr/local/node_exporter/node_exporter &
1.2 docker安装

官方不建议通过Docekr方式部署node-exporter,因为它需要访问主机系统。通过docker部署的方式,需要把任何非根安装点都绑定到容器中,并通过–path.rootfs参数指定。

docker pull prom/node-exporter
docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" prom/node-exporter --path.rootfs=/host

访问http://localhost:9100/metrics,可以看到当前node exporter获取到的当前主机的所有监控数据,如下所示:
在这里插入图片描述

2、配置node-exporter

node-exporter提供不少配置参数,可使用 --help 进行查看。

[root@agent node_exporter]# ./node_exporter --help

例如:通过–web.listen-address 改变监听的端口

./node_exporter  --web.listen-address=":8080" &

如果需要收集主机上面运行服务的状态,可启用systemd收集器。由于systemd指标较多,可以用–collector.systemd.unit-include参数配置只收集指定的服务,减少无用数据,该参数支持正则表达式匹配。如docker和ssh服务状态,

示例:

./node_exporter --collector.systemd --collector.systemd.unit-whitelist="(docker|sshd).service" &

在这里插入图片描述

3、textfile收集器

textfile是一个特定的收集器,它的功能非常有用,textfile允许我们暴露自定义的指标。这些指标或者是没有相关的exporter可以使用,或者是你自己开发的应用指标。

textfile通过扫描指定目录中的文件,提取所有符合Prometheus数据格式的字符串,然后暴露它们给到Prometheus进行抓取。

示例:

创建指标文件保存目录

mkdir /opt/prom

写入指标文件,此处我们用手动方式写入

cat <<EOF | tee /tmp/prom/metadata.prom 
# HELP alex_test this is a test
# TYPE alex_test gauge
alex_test{server="test",idc="bj"} 1
EOF

启用textfile

./node_exporter --collector.textfile.directory="/tmp/prom" &

访问node-exporter的地址,可看到指标已生效
在这里插入图片描述

4、Prometheus抓取指标

在Prometheus配置关于node-exporter节点的target,即可抓取相关节点指标数据。

- job_name: 'agent1'
    static_configs:
    - targets: ['192.168.75.162:9100'] # 被监控ip,端口9100

实例抓取正常
在这里插入图片描述

上一篇:Prometheus监控实战系列八:标签重写
下一篇:Prometheus监控运维实战十: 主机监控指标


http://www.kler.cn/a/4899.html

相关文章:

  • 【组织架构】中国铁路上海局集团有限公司
  • 光耦合器的工作,类型和应用
  • 【案例教程】R语言贝叶斯方法在生态环境领域中的高阶技术
  • ai对话一例
  • 华为OD机试题【异常的打卡记录】用 Java 解 | 含解题说明
  • C++17好用的类
  • NVIDIA英伟达又发布了哪些黑科技?
  • PHP如何优雅从表格导入十万条数据甚至百万条数据呢?
  • 数位排序(2023寒假每日一题 9)
  • 【C#】List.ForEach方法
  • 做抖音起号的五件套是什么?抖音五件套怎么搭建?
  • VisualDCT用户手册
  • Synchronized锁升级之无锁和偏向锁
  • 【计算机视觉】COCO Caption数据集简单介绍
  • 032:cesium修改默认地图源,动态指定地图
  • Redis7笔记(正在更新中)
  • 【华为OD机试 2023最新 】 优选核酸检测点(C++)
  • 优思学院|平衡计分卡是什么?
  • 网站流量飙升背后:外贸企业谷歌SEO优化实战经验分享
  • Prometheus监控实战系列二十五: Thanos介绍