Zabbix 自定義監控項之監控 vsftpd
zabbix 提供了很多監控選擇,功能豐富,我們還可以根據自定義來監控想要監控一些日常的服務等。
說明:
此處我們通過監控 ftp (自定義命令),實現如果 ftp 服務掛掉后自動重啟,並郵件告警通知。
參考官檔:https://www.zabbix.com/documentation/4.0/zh/manual/config/items/userparameters
具體步驟
1)在agent上先測試命令,vsftpd作為一個示例,監控vsftpd是否正常
[root@Srt_Aly_244 ~]# /etc/init.d/vsftpd start Starting vsftpd for vsftpd: [ OK ] [root@Srt_Aly_244 ~]# [root@Srt_Aly_244 ~]# pgrep -l vsftpd |wc -l 1 [root@Srt_Aly_244 ~]# /etc/init.d/vsftpd stop Shutting down vsftpd: [ OK ] [root@Srt_Aly_244 ~]# [root@Srt_Aly_244 ~]# pgrep -l vsftpd |wc -l 0
2)通過上面的命令測試發現 pgrep -l vsftpd |wc -l 這條命令結果為 0 時,即表示 vsftpd 掛了。編輯配置文件(放在/etc/zabbix/zabbix_agentd.d目錄里面)
# vim /etc/zabbix/zabbix_agentd.d/userparameter_vsftpd.conf UserParameter=vsftpd.alive,pgrep -l vsftpd |wc -l
3)在 zabbix 服務器端通過 zabbix_get 命令進行測試(結果為 0,表示agent端 vsftpd 服務掛了,為 1 表示 vsftpd 服務正常)
[root@SrtAly120 zabbix]# zabbix_get -s 39.107.xx.xx -k vsftpd.alive 0
4)在 web 頁面創建監控項 (說明:鍵值處填寫自定義的UserParameter=key, key的名字。必須對應)
進入:配置 -> 主機 -> 監控項 -> 創建監控項
5)在 web 頁面創建觸發器 (說明:監控項選擇上面創建的監控項, 功能選擇根據上面定義的命令來設置,因為測試結果是當值為 0 時就表示服務down了,所以這里選擇最新的t值=0,(就是說最新的t值如果是0,表示服務down了) )
進入:配置 -> 主機 -> 觸發器 -> 創建觸發器
6)在 web 頁面配置動作,配置重啟動作(由於使用的 zabbix 用戶運行的守護進程,所以zabbix用戶執行 /etc/init.d/vsftpd restart命令是沒有權限的,所以需要先進行sudo授權)
[root@Srt_Aly_244 ~]# chmod 640 /etc/sudoers [root@Srt_Aly_244 ~]# vim /etc/sudoers ## Allow 'zabbix' user to restart vsftpd without password zabbix ALL=NOPASSWD: /etc/init.d/vsftpd restart [root@Srt_Aly_244 ~]# su zabbix sh-4.1$ sudo /etc/init.d/vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
進入:配置 -> 動作 -> 創建動作
配置恢復操作 + 郵件告警
至此,當我們在 agent 上面停掉 vsftpd 服務,就會觸發 zabbix 監控動作自動重啟 vsftpd 並郵件告警相應人員。