Prometheus 监控进程
Process-exporter
process-exporter可以用来检测所选进程的存活状态
下载process-exporter
下载地址:https://github.com/ncabatoff/process-exporter/releases/tag/v0.4.0
安装部署process-exporter
1
|
tar - zxvf process - exporter - 0.4 . 0.linux - amd64.tar.gz - C / usr / local / process - exporter |
编写配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | cat process-exporter.yaml process_names: - name: "{{.Matches}}" cmdline: - 'dbbakup' - name: "{{.Matches}}" cmdline: - 'mysql' - name: "{{.Matches}}" cmdline: - 'pushgateway' |
注 cmdline: 所选进程的唯一标识,ps -ef 可以查询到。如果改进程不存在,则不会有该进程的数据采集到。
编写启动脚本
cat /usr/lib/systemd/system/process_exporter .service [Unit] Description=Prometheus exporter for processors metrics, written in Go with pluggable metric collectors. Documentation=https: //github .com /ncabatoff/process-exporter After=network.target [Service] Type=simple User=root WorkingDirectory= /usr/local/process-exporter ExecStart= /usr/local/process-exporter/process-exporter -config.path= /usr/local/process-exporter/process-exporter .yaml Restart=on-failure [Install] WantedBy=multi-user.target |
启动process-exporter
1
2
3
|
systemctl daemon - reload systemctl start process_exporter systemctl enable process_exporter |
验证
1
|
curl localhost: 9256 / metrics |
修改Prometheus配置文件
1
2
3
4
5
|
增加 - job_name: 'process' static_configs: - targets: [ '172.16.8.187:9256' ] |
重启Prometheus
添加告警规则
cat process.yml groups : - name: process rules: - alert: backup-mysql-Down expr : absent(namedprocess_namegroup_states{groupname= "map[:mysql]" }) for : 1m labels: severity: critical annotations: summary: backup slave mysql docker process Down (instance {{ $labels.instance }}) description: "backup slave mysql process is down\n LABELS = {{ $labels }}" - alert: pushgateway-Down expr : absent(namedprocess_namegroup_states{groupname= "map[:pushgateway]" }) for : 1m labels: severity: critical annotations: summary: pushgateway process Down (instance {{ $labels.instance }}) description: "pushgateway process is down\n LABELS = {{ $labels }}" - alert: dbback-process-Down expr : absent(namedprocess_namegroup_states{groupname= "map[:dbbakup]" }) for : 1m labels: severity: critical annotations: summary: dbbackup docker process Down (instance {{ $labels.instance }}) description: "dbbackup docker process is down\n LABELS = {{ $labels }}" |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2017-05-06 pyDash:一个基于 web 的 Linux 性能监测工具
2017-05-06 dnspython模块安装
2017-05-06 linux文件权限查看及修改-chmod ------入门的一些常识
2017-05-06 在 CentOS7.0 上搭建 Chroot 的 Bind DNS 服务器