原文出自 赤鹿小組
當程序或者某個程序所需要的服務宕掉時,我們接收到警告都需要連接到機器上重啓服務,那樣是否顯得過於麻煩。要是在自身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分鐘,如果是重要的業務,這個時間差造成的損失也許是不可估量。
感謝閱讀,本文旨在提供參考,如有錯誤,歡迎大家指正。幫助編者不斷的改進!