Zabbix監控程序狀態,並遠程執行對應程序命令自動恢復

原文出自 赤鹿小組

     當程序或者某個程序所需要的服務宕掉時,我們接收到警告都需要連接到機器上重啓服務,那樣是否顯得過於麻煩。要是在自身down掉時,能夠自己檢測並執行相對應的命令就好了。
     別急,接着往下看,說不定你想要的就在文章下方。


     詳情可查看zabbix官方文檔:https://www.zabbix.com/documentation/3.4/zh/manual/config/notifications/action


     本文是基於之前zabbix監控之創建模版談監控項、觸發器的使用的前提上進行闡述。

     部署遠程執行命令操作:

     操作順序:Configuration——> Actions——>Create action

     1. 首先,創建執行的動作,效果如下圖:

     New condition:選擇觸發器(Tigger),然後選擇(select)條件成立的選項,最後進行添加保存即可。


     2. 在Operations處,填寫當條件成立時,執行的操作動作,效果如下圖:

         <1> 添加新的Operations
         <2> Operation type:選擇Remote command(遠程命令);
         <3> Tagger list :這裏對應的是需要執行的主機。注意: 如果選中的主機沒有應用相應的模版,該動作可能不生效;
         <4> Commands:填寫需要執行的命令;
         <5>保存生效測試。


     3. 在測試之前,還需要一項重要的操作,就是給主機zabbix用戶進行授權,以及在zabbix_agentd配置文件下添加EnableRemoteCommands=1參數,如下:

[root@scong ] vim /etc/sudoers
[root@scong ] 添加一下內容:
			zabbix  ALL=(root) NOPASSWD:ALL
[root@scong ] vim /usr/local/zabbix/etc/zabbix_agentd.conf
EnableRemoteCommands=1


     4. 編者將php-fpm.service服務停止,觀察zabbix監控控制面板的情況,效果如下圖:

在這裏插入圖片描述

     可以看到,當php-fpm.service服務停止時,zabbix自動通過事先自定義好的動作,遠程的將php-fpm.service服務啓動起來。整個過程只需要10s的時間。

     如果運維人員接收到警告,然後登上主機,再將服務啓動起來,或許,整個過程需要的可能是1~2分鐘,如果是重要的業務,這個時間差造成的損失也許是不可估量。


     感謝閱讀,本文旨在提供參考,如有錯誤,歡迎大家指正。幫助編者不斷的改進!

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