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

编写配置文件

bash;gutter:true; cat process-exporter.yaml process_names:</p> <ul> <li> <p>name: "{{.Matches}}" cmdline:</p> <ul> <li>'dbbakup'</li> </ul> </li> <li> <p>name: "{{.Matches}}" cmdline:</p> <ul> <li>'mysql'</li> </ul> </li> <li> <p>name: "{{.Matches}}" cmdline:</p> <ul> <li>'pushgateway'</li> </ul> </li> </ul> <pre><code> 注 cmdline: 所选进程的唯一标识,ps -ef 可以查询到。如果改进程不存在,则不会有该进程的数据采集到。 编写启动脚本 ;gutter:false;
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

&#x589E;&#x52A0;
- job_name:&#xA0; 'process'
static_configs:
- targets: [ '172.16.8.187:9256' ]

重启Prometheus

Prometheus 监控进程

添加告警规则

bash;gutter:false; 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 }}"</p> <ul> <li> <p>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 }}"</p> </li> <li> <p>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 }}"

Original: https://www.cnblogs.com/weifeng1463/p/16229204.html
Author: Oops!#
Title: Prometheus 监控进程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/553868/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球