携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
1.部署prometheus
1.1.环境准备
| ip | 服务类型 |
|---|---|
| 192.168.100.143 | prometheus-server |
| 192.168.100.145 | node_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界面使用
2.1.1.查看监控主机列表
可以看刚安装好的prometheus只有自己服务器的监控
2.2.查看监控指标
点击图中的endpoint下面的链接
http://192.168.100.143:9090/metrics
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" &
再次点击链接地址即可正常调整,无需修改链接地址
2.3.1.搜索监控项并查看图形
在首页搜索框填写监控项关键字即可显示所有匹配的监控项名称
找到匹配的监控项后点击execute即可查询(execute:执行)
点击graph即可看图形
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
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']
#监控主机的地址
补充说明:
不管是什么主机,要想让prometheus监控,最基础都要装node_exporter
node_exporter就像zabbix的agent,是收集服务器系统的监控指标的
prometheus针对mysql有mysql_exporter,针对nginx就有nginx_exporter