process exporter 配置项解释

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”

原文地址:https://www.cnblogs.com/danny-djy/p/11149818.html