zabbix 提供了不少監控選擇,功能豐富,咱們還能夠根據自定義來監控想要監控一些平常的服務等。web
說明:vim
此處咱們經過監控 ftp (自定義命令),實現若是 ftp 服務掛掉後自動重啓,並郵件告警通知。服務器
參考官檔:https://www.zabbix.com/documentation/4.0/zh/manual/config/items/userparameters測試
具體步驟spa
1)在agent上先測試命令,vsftpd做爲一個示例,監控vsftpd是否正常rest
[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目錄裏面)code
# 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 服務正常)blog
[root@SrtAly120 zabbix]# zabbix_get -s 39.107.xx.xx -k vsftpd.alive 0
4)在 web 頁面建立監控項 (說明:鍵值處填寫自定義的UserParameter=key, key的名字。必須對應)進程
進入:配置 -> 主機 -> 監控項 -> 建立監控項rem
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 並郵件告警相應人員。