Prometheus Process exporter 使用
安装部署
为 process-exporter
生成 systemd
服务启动配置文件:
[Unit] |
建议将 process-exporter
的配置写入文件并使用 -config.path
指定配置文件。
配置进程监控
process-exporter
在配置文件中使用模板变量来配置筛选要监控的进程,可以使用的模板变量包括:
变量 | 说明 | 示例 |
---|---|---|
{{.Comm}} |
匹配进程的命令名(不包括路径)。主要来源于 /proc/<pid>/stat 输出中的第二部分命令名是指进程执行时的名称。在 Linux 系统中,可以通过 /proc/<PID>/comm 文件来获取进程的命令名。例如,如果一个进程执行的命令是 /usr/local/bin/php ,那么它的命令名就是 php 。 |
|
{{.ExeBase}} |
匹配进程的可执行文件名,不包括路径 可执行文件名是指进程的完整路径的最后一个部分。例如,如果一个进程的完整路径是 /usr/local/bin/php ,那么它的可执行文件名就是 php 。 |
|
{{.ExeFull}} |
匹配进程的可执行文件的完整路径,例如 /usr/local/php73/bin/php |
|
{{.Username}} |
匹配进程的用户名 | |
{{.Matches}} |
匹配进程的命令行参数列表 | |
{{.StartTime}} |
||
{{.Cgroups}} |
监控系统上的所有进程
要监控系统上的所有进程的运行情况,可以参考以下配置: [1]
process_names: |
- 以上配置会获取到系统上的所有进程(子进程被统计入父进程中)
- 假如配置中有多个匹配项,以上配置不能放到第一个,否则因为其可以匹配到系统中所有的进程,后续配置的匹配不会再有机会生效
监控系统上面指定进程
假如系统中运行了多个 php
的子进程,为了获取到各个子进程的统计数据,可以参考以下配置
process_names: |
使用此配置,可以获取到系统中以下进程的统计数据:
/usr/local/php73/bin/php /home/www/admin/artisan Pulldata
/usr/local/php73/bin/php /home/www/admin/artisan schedule:run
/usr/local/php73/bin/php /home/www/admin/artisan queue:work
除可以获取到以上特定进程的统计数据外,还可以统计到除此之外的其他所有进程的统计数据。
因为配置中匹配进程的顺序的关系,假如系统中还有除此之外的其他
php
进程,那么由最后的{{.Comm}}
统计到的php
进程资源使用数据中不再包含前面 3 个特定进程的资源使用数据。