因为咱们经常使用的node_exporter并不能覆盖全部监控项,这里咱们使用Process-exporter 对进程进行监控。 #安装process-exporter wget https://github.com/ncabatoff/process-exporter/releases/download/v0.4.0/process-exporter-0.4.0.linux-amd64.tar.gz tar -xvf process-exporter-0.4.0.linux-amd64.tar.gz -C /usr/local/node
#建立配置文件 可用的模板变量: {{.Comm}} 包含原始可执行文件的basename,/proc//stat 中的换句话说,2nd 字段 {{.ExeBase}} 包含可执行文件的basename {{.ExeFull}} 包含可执行文件的彻底限定路径 {{.Matches}} 映射包含应用命令行tlb所产生的全部匹配项linux
##定义进程名监控 Process-exporter 能够进程名字匹配进程,获取进程信息。匹配规则由name对应的模板变量决定,如下表示监控进程名字为nginx 与 zombie 的进程状态nginx
vim process-name.yaml process_names: - name: "{{.Matches}}" cmdline: - 'nginx' - name: "{{.Matches}}" cmdline: - 'zombie'
重启服务git
./process-exporter -config.path process-name.yaml &
查看数据github
curl http://localhost:9256/metrics > ccc
能够看到关于nginx进程的多个指标,如下框内为进程状态对应的进程数 ##定义所有进程监控 vim conf.yaml process_names: - name: "{{.Comm}}" cmdline: - '.+' 重启服务web
./process-exporter -config.path conf.yaml
查看全部监控项vim
curl http://localhost:9256/metrics
Prometheus加上此数据源 ip:9256 在Prometheus的web界面可查询须要的进程信息 #经常使用进程监控项 总进程数 sum(namedprocess_namegroup_states)curl
总僵尸进程数 sum(namedprocess_namegroup_states{state="Zombie"})url