process exporter在prometheus中用于监控进程,通过process exporter,可从宏观角度监控应用的运行状态(譬如监控redis、mysql的进程资源等)
配置文件样例如下(process-conf.yml):
process_names: - name: "{{.Matches}}" cmdline: - 'redis' - name: "{{.Matches}}" cmdline: - 'mysql'
注意:如果一个进程符合多个匹配项,只会归属于第一个匹配的groupname组
其中,name选项有四个(官方翻译https://github.com/ncabatoff/process-exporter):
{{.Comm}}
包含原始可执行文件的基本名称,即第二个字段/proc/<pid>/stat
{{.ExeBase}}
包含可执行文件的基名{{.ExeFull}}
包含可执行文件的完全限定路径{{.Username}}
包含有效用户的用户名{{.Matches}}
map包含应用cmdline regexps产生的所有匹配项
补充说明:name选项其实影响的是metrics中的key:groupname,以监控redis作为例子
前提:redis的进程信息如下:
[root@izx7dvghztbiorz process-exporter]# ps -ef | grep redis
redis 771 1 0 Jun05 ? 00:45:49 /usr/bin/redis-server *:6379
{{.Comm}} | groupname="redis-server" | exe或者sh文件名称 |
{{.ExeBase}} | groupname="redis-server *:6379" | / |
{{.ExeFull}} | groupname="/usr/bin/redis-server *:6379" | ps中的进程完成信息 |
{{.Username}} | groupname="redis" | 使用进程所属的用户进行分组 |
{{.Matches}} | groupname="map[:redis]" |
表示配置到关键字“redis” |