(七)Prometheus 自动发现主机

本文详细介绍如何在Prometheus中实现自动发现并监控新的主机,包括环境准备、客户端配置、服务端配置修改及重启等步骤,使Prometheus能自动识别并收集目标服务器的监控数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过上一篇[(六)Prometheus 监控 apache 服务 的学习,我们已经对 prometheus 做了一个传统服务的监控,本篇详细讲解 Prometheus 自动发现主机并添加。

准备环境

# 这里使用的是(四)Prometheus + Grafana 可视化 完成时的环境
centos 7
prometheus 运行正常
grafana 运行正常

[root@fp-21 ~]# getenforce
Permissive

[root@fp-21 ~]# ss -lntp |grep prometheus
LISTEN     0      128         :::9090                    :::*                   users:(("prometheus",pid=10531,fd=6))

[root@fp-21 ~]# ss -lntp |grep grafana
LISTEN     0      128    10.0.0.21:3000                     *:*                   users:(("grafana-server",pid=10690,fd=7))

新开一台服务器,做客户端

# 关闭防火墙
[root@fp-22 ~]# systemctl stop firewalld.service 

# 修改 selinux 为警告模式
[root@fp-22 ~]# setenforce 0

# 时间同步
[root@fp-22 ~]# ntpdate ntp.aliyun.com
31 Mar 22:16:56 ntpdate[1872]: step time server 203.107.6.88 offset -43199.490573 sec

安装 node_exporter 收集数据,点击下载

# 本地上传或下载
[root@fp-22 ~]# cd /opt/ ; mkdir node_exporter ; cd node_exporter
[root@fp-22 node_exporter]# ls
node_exporter-0.18.1.linux-amd64.tar.gz

解压

[root@fp-22 node_exporter]# tar xf node_exporter-0.18.1.linux-amd64.tar.gz 
[root@fp-22 node_exporter]# ls
node_exporter-0.18.1.linux-amd64  node_exporter-0.18.1.linux-amd64.tar.gz
[root@fp-22 node_exporter]# mv node_exporter-0.18.1.linux-amd64 /usr/local/node_exporter
[root@fp-22 node_exporter]# cd !$
cd /usr/local/node_exporter
[root@fp-22 node_exporter]# cp node_exporter /usr/local/bin
[root@fp-22 node_exporter]# node_exporter 

添加至开机自启

# 添加为系统服务
[root@fp-22 node_exporter]# vim /usr/lib/systemd/system/node_exporter.service

[Unit]
Description=node_exporter
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

# 重新加载
[root@fp-22 node_exporter]# systemctl daemon-reload

# 添加至开机自启
[root@fp-22 node_exporter]# systemctl enable node_exporter.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/node_exporter.service to /usr/lib/systemd/system/node_exporter.service.

# 启动服务
[root@fp-22 node_exporter]# systemctl start node_exporter.service 

# 查看进程
[root@fp-22 node_exporter]# ps -ef |grep node_exporter
root      13952      1  1 21:29 ?        00:00:00 /usr/local/node_exporter/node_exporter
root      13956   1799  0 21:29 pts/0    00:00:00 grep --color=auto node_exporter

# 查看端口
[root@fp-22 node_exporter]# ss -lntp |grep node_exporter
LISTEN     0      128       [::]:9100                  [::]:*                   users:(("node_exporter",pid=13952,fd=3))

服务端添加配置文件

[root@fp-21 ~]# mkdir -p /usr/local/prometheus/target/{node,docker}
[root@fp-21 ~]# vim /usr/local/prometheus/target/node/host_status.json

[
        {
                "targets": [ "10.0.0.22:9100" ],
                "labels": {
                  "job": "node2-status",
                  "service": "node2"
                }
        }
]

修改 Prometheus 配置文件

[root@fp-21 ~]# vim /usr/local/prometheus/conf/prometheus.yml
 39   - job_name: 'host-status'
 40     file_sd_configs:
 41     - files:
 42       - "/usr/local/prometheus/target/node/host_status.json"
 43       refresh_interval: 6s

重启 Prometheus

第一次引用,所以定义完成之后,需要重启一下,如果后续再添加节点,则直接写入json文件即可,无需重启Prometheus服务

[root@fp-21 ~]# systemctl restart prometheus.service

查看 Prometheus 监控

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ZsIQAEs-1585665153737)(E:\知识点总结\Prometheus\assets\prometheus_31.png)]

查看 Grafana 的数据

在这里插入图片描述

只有注入思想的博客才是好的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值