目录
1. 前言
接上一篇Prometheus+Grafana监控部署,环境已经安装完成,本篇进行学习使用process-exporter可以用来检测所选进程的存活状态信息。
2. 安装配置process-exporter
2.1 下载
安装包下载,这里我下载到了home目录下
2.2 解压/usr/local目录下,并重命名
# tar -zxvf process-exporter-0.7.2.linux-amd64.tar.gz -C /usr/local/
# cd /usr/local/
# mv process-exporter-0.7.2.linux-amd64/ process-exporter
2.3 创建配置文件
创建配置文件process-conf.yaml, 选择要监视的进程并将它的分组,提供命令行参数或者使用YAML配置文件
配置模板编写规则如下:
举例查看redis进程:ps -ef | grep redis
root 22108 1 0 Jul28 ? 00:40:14 ./redis-server 0.0.0.0:6379
{{.Comm}} | groupname="redis-server" | exe或者sh文件名称 |
{{.ExeBase}} | groupname="redis-server 0.0.0.0:6379" | / |
{{.ExeFull}} | groupname="./redis-server 0.0.0.0:6379" | ps中的进程完全路径 |
{{.Username}} | groupname="redis" | 使用进程所属的用户进行分组 |
{{.Matches}} | groupname="map[:redis]" | 表示配置到关键字“redis” |
对于cmdline,正则表达式列表为AND,表示它们都必须匹配。 正则表达式中的任何捕获组都必须使用?P <name>选项为捕获分配一个名称,该名称用于填充.Matches。
配置进程信息:(如监控进程名为XLRuleConversion/、XLFormatConversion程序),注意:实际配置为你需要监控的进程。
# touch process-conf.yaml
process_names:
- name: "{{.Matches}}"
cmdline:
- 'XLRuleConversion'
- name: "{{.Matches}}"
cmdline:
- 'XLFormatConversion'
注意: cmdline: 所选进程的唯一标识,ps -ef 可以查询到。如果改进程不存在,则不会有该进程的数据采集到。
2.4 启动
前台启动,默认监听端口9256
# ./process-exporter -config.path=/usr/local/process-exporter/process-conf.yaml
后台启动
# nohup ./process-exporter -config.path=/usr/local/process-exporter/process-conf.yaml &
命令行常用的参数:
2.5 加入开机自启
cat > /etc/systemd/system/process_exporter.service << "EOF"
[Unit]
Description=process_exporter
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
ExecStart=/usr/local/process-exporter/process-exporter -config.path=/usr/local/process-exporter/process-conf.yaml
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# systemctl daemon-reload
# systemctl enable process_exporter
# systemctl start process_exporter
# systemctl status process_exporter
2.6 浏览器访问
也可以通过http://172.20.32.218:9256/metrics,看抓取的指标信息。
3. Prometheus配置
3.1 进入prometheus安装目录,编辑prometheus.yml
# vim prometheus.yml
- job_name: 'process'
static_configs:
- targets: ['172.20.32.218:9256']
3.2 重启Prometheus
# systemctl restart prometheus
浏览器查看监控信息:http://172.20.32.218:9090/targets
4. Grafana配置
浏览器访问:http://172.20.32.218:3000
导入官方模板 ,可在官方模板查看模板编号249、8378,如果内网环境建议可下载后导入。
修改模板信息Prometheus
配置完之后,查看仪表盘,就能自动读取prometheus存储的数据 ,可以看到可以监控进程的数量、cpu,读写速率,所占内存。