Prometheus对主机监控

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

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

一. 安装node-exporter

1.下载二进制安装包并解压

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

tar -xvf tar -xvf node_exporter-1.1.2.linux-amd64.tar.gz

cd node_exporter-1.1.2.linux-amd64

2.启动 Node Exporter

./node_exporter &

3. 查看服务器,可看到端口已启动(默认端口9100)

netstat -lnpt |grep ":9100"

tcp6 0 0 :::9100 :::* LISTEN

三、docker方式安装

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

docker pull prom/node-exporter

2.启动容器

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

3.部署完成后,访问节点地址:http://ip:9100/metrics ,可看到node-exporter获取的指标。

四. 配置node-exporter

1.node-exporter提供不少配置参数,可使用 --help 进行查看参数说明;

./node_exporter --help

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

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

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

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

3.如果只想启用需要的收集器,其他的全部禁用,可用如下格式配置

--collector.disable-defaults --collector.<name>

五. textfile收集器

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

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

创建指标文件保存目录 :

mkdir /opt/prom

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

cat <<EOF | tee /opt/prom/metadata.prom

# HELP alex_test this is a test

# TYPE alex_test gauge

alex_test{server="test",idc="bj"} 1

EOF

2.启用textfile

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

访问node-exporter的地址,可看到指标已生效

六、Prometheus抓取指标

- job_name: 'node-exporter'

static_configs:

- targets:

- 'locahost:9100'

指标抓取正常

在表达式浏览器中搜索 {job="node-exporter",instance="localhost:9100"},可看到相关指标已被收集到Prometheus。

博客并不是无时无刻关注。如有技术问题欢迎加入交流;

微信号:king_songax

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MichaelCoCoQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值