部署prometheus并结合node_exporter监控Linux主机

363 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

1.部署prometheus

1.1.环境准备

ip服务类型
192.168.100.143prometheus-server
192.168.100.145node_exporter(agent)
#基础环境准备---三台都需要执行 
[root@192.168.100.143 ~]# setenforce 0 
#/c 用新文本替换定位文本 

[root@192.168.100.143 ~]# sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/sysconfig/selinux 
[root@192.168.100.143 ~]# sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
[root@192.168.100.143 ~]# systemctl stop firewalld 
[root@192.168.100.143 ~]# systemctl disable firewalld

2.安装prometheus服务

软件下载地址:prometheus.io/download/

#1.下载prometheus安装包 
[root@192.168.100.143 ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz 

#2.安装prometheus
[root@192.168.100.143 ~]# mkdir /data 
[root@192.168.100.143 ~]# tar xf prometheus-2.26.0.linux-amd64.tar.gz -C /data 

#3.启动prometheus 
[root@192.168.100.143 ~]# cd /data/ 
[root@192.168.100.143 /data]# mv prometheus-2.26.0.linux-amd64/ prometheus
[root@192.168.100.143 /data]# cd prometheus/ 
[root@192.168.100.143 /data/prometheus]# ./prometheus --config.file="/data/prometheus/prometheus.yml" & 
出现这一行代表启动成功 
level=info ts=2021-05-11T03:03:45.115Z caller=main.go:767 msg="Server is ready to receive web requests."

2.1.prometheus界面使用

访问http://localhost:9090/

image.png

image.png

2.1.1.查看监控主机列表

image.png

可以看刚安装好的prometheus只有自己服务器的监控

image.png

2.2.查看监控指标

点击图中的endpoint下面的链接

image.png

http://192.168.100.143:9090/metrics

image.png

2.3.解决监控指向页面为localhost问题

#1.修改主配置文件prometheus.yml 
[root@192.168.100.143 /data/prometheus]# vim prometheus.yml
    - job_name: 'prometheus' 
    
    # metrics_path defaults to '/metrics' 
    # scheme defaults to 'http'. 

    static_configs: 
    - targets: ['192.168.100.143:9090']   #这么原本的localhost改为我们prometheus主机ip 

#2.重启prometheus 
[root@192.168.100.143 /data/prometheus]# ps aux | grep prometheus | awk '{print $2}' | xargs kill -9 
[root@192.168.100.143 /data/prometheus]# ./prometheus --config.file="/data/prometheus/prometheus.yml" &

image.png

再次点击链接地址即可正常调整,无需修改链接地址

image.png

2.3.1.搜索监控项并查看图形

在首页搜索框填写监控项关键字即可显示所有匹配的监控项名称

image.png

找到匹配的监控项后点击execute即可查询(execute:执行)

image.png

image.png

点击graph即可看图形

image.png

3.安装node_exporter组件监控liunx主机

3.1.安装node_exporter

[root@192.168.100.145 ~]# wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz 
[root@192.168.100.145 ~]# mkdir /data 
[root@192.168.100.145 ~]# tar xf node_exporter-1.0.1.linux-amd64.tar.gz -C /data/ 
[root@192.168.100.145 ~]# cd /data/ 
[root@192.168.100.145 /data]# mv node_exporter-1.0.1.linux-amd64/ node_exporter 

#启动node_exporter 
[root@192.168.100.145 /data]# cd node_exporter/ 
[root@192.168.100.145 /data/node_exporter]# nohup /data/node_exporter/node_exporter 

#查看端口 
[root@192.168.100.145 /data/node_exporter]# netstat -lnpta | grep 9100 
tcp6 0 0 :::9100 :::* LISTEN 73651/node_exporter

3.2.查看监控数据

安装好node_exporter后访问本机9100端口下的metrics目录即可看到监控数据

http://192.168.100.145:9100/metrics

image.png

3.3.在prometheus-server上添加监控主机

我们在本机开启node_exporter后需要在prometheus server上进行配置,最终实现在prometheus页面看到监控主机的信息

[root@192.168.100.143 ~]# cd /data/prometheus/ 
[root@192.168.100.143 /data/prometheus]# vim prometheus.yml 
    - job_name: "192.168.100.145" 
    static_configs: 
    - targets: ['192.168.100.145:9100'] 
#此内容为添加内容 

#重启prometheus 
[root@192.168.100.143 /data/prometheus]# ps aux | grep prometheus | awk '{print $2}' | xargs kill -9 
[root@192.168.100.143 /data/prometheus]# ./prometheus --config.file="/data/prometheus/prometheus.yml" & 

解释: job_name: "192.168.100.145" 
#起一个监控主机的名称,我们这里以ip地址为名 

targets: ['192.168.100.145:9100'] 
#监控主机的地址

image.png

补充说明:

不管是什么主机,要想让prometheus监控,最基础都要装node_exporter

node_exporter就像zabbix的agent,是收集服务器系统的监控指标的

prometheus针对mysql有mysql_exporter,针对nginx就有nginx_exporter