因爲咱們經常使用的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