Prometheus 监控Linux服务器和系统服务
Prometheus 如何监控服务?
如果要想监控,前提是能获取被监控端指标数据,并且这个数据格式必须遵循Prometheus数据模型,这样才能识别和采集,一般使用exporter提供监控指标数据。
exporter列表:https://prometheus.io/docs/instrumenting/exporters
监控Linux服务器
客户端配置:
node_exporter:用于监控Linux系统的指标采集器。
常用指标:
•CPU
•内存
•硬盘
•网络流量
•文件描述符
•系统负载
•系统服务
数据接口:http://IP:9100
使用文档:https://prometheus.io/docs/guides/node-exporter/
GitHub:https://github.com/prometheus/node_exporter
cd /opt && wget http://github.com/prometheus/node_exporter/releases/download/v1.2.0/node_exporter-1.2.0.linux-amd64.tar.gz
mv node_exporter-1.2.0.linux-amd64 /usr/local/node_exporter
配置为系统服务管理:
# vi /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
[Service]
ExecStart=/usr/local/node_exporter/node_exporter --web.config=/usr/local/node_exporter/config.yml(有配置文件就指定配置文件位置,没有就不需要)
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
# systemctl start node_exporter
# systemctl enable node_exporter
启用HTTP认证:
# vi /usr/local/node_exporter/config.yml
basic_auth_users:
prometheus: $2y$12$RC4HOCkmmupzZfgdL56XUu0zZ1sdEVbe3J4NS17nybLFt54hzWO7G
# 用户名: 密码
上面密码用下面命令生成:
yum install httpd-tools –y
htpasswd -nBC 12 '' | tr -d ':\n' --->123456
使用http认证访问node_exporter metrics 接口
Prometheus 服务端配置:
使用promtool check config 配置文件检查配置文件是否正确
重启prometheus让配置生效,systemctl restart prometheus 不推荐使用,使用热加载
查看web页面看配置是否生效:
使用Grafana展示node_exporter数据指标,仪表盘ID:9276
仪表盘也可以使用官网提供的ID 号:https://grafana.com/grafana/dashboards
Manage --->Import --->9276(仪表盘ID) --->Name(定义名字)--->Prometheus(选择数据源)
监控系统服务运行状态
需要在node_exporter 启动的配置文件里面添加白名单:/usr/local/node_exporter/node_exporter --web.config=/usr/local/node_exporter/config.yml --collector.systemd --collector.systemd.unit-whitelist=(docker|sshd|nginx).service
重启node_exporter 查看进程可以启动,说明配置没问题,然后在prometheus 查询,也可以通过grafana 展示数据
以上监控也可以通过grafana 图形来展示,此次省略