Zabbix獲取並監控linux系統的進程名

最近需要監控運行在業務系統上的進程,要求是看到具體的進程名。
通常監控進程一般可以使用內置的鍵值,也就是 proc.num[進程名,root,,]這個鍵值,但只能返回的是進程的數量,雖然效果上也能實現,但和預期的結果有些區別,而且也不直觀,尤其在同一個進程數多的時候。下面說下獲取具體進程名的方法!
Zabbix獲取並監控linux系統的進程名

1、 agent端開啓遠程命令
需要注意5.0版本及最新的agent和舊版本的配置是有寫區別的。
5.0版本的zabbix_agentd.conf以下的參數是: EnabledRemoteCommand=1
5.0版本的zabbix_agentd.conf的參數是: AllowKey=system.run
保存後,重啓agent。



2、獲取進程名
總的來說,獲取進程名還是用命令,這裏介紹一下我的方法:
一、先在agent端上面用ps -ef| grep 看下進程,然後調整一下,只輸出進程名;
調整前
Zabbix獲取並監控linux系統的進程名
調整後
Zabbix獲取並監控linux系統的進程名
但還會有一個 grep XXX 的存在,也需要去掉,方法就是反向過濾即可,參考命令:
ps -ef|grep 進程名 | grep -v grep | awk ‘{print $10}’







二、創建進程模板,先創建宏,把輸出進程名的命令複製過來,然後創建監控項,使用 system.run[宏]鍵值,最後關聯主機
Zabbix獲取並監控linux系統的進程名
Zabbix獲取並監控linux系統的進程名
效果
Zabbix獲取並監控linux系統的進程名



三、觸發器
5分鐘沒有找到字符觸發。
Zabbix獲取並監控linux系統的進程名
因爲進程比較多,這裏是採用創建模板的方式;另外也可以在agent的配置文件自定義鍵值,例如 UserParameter=agent, ps-ef|grep zabbix_agentd | grep -v grep | awk ‘{print $NF}’,然後就創建監控項,鍵值寫 agent就行。還有一種寫腳本方式,也是執行ps -ef|grep 命令。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章