Zabbix遠(yuǎn)程執(zhí)行命令的示例詳解
Zabbix觸發(fā)器(trigger)達(dá)到閥值后會有動作(action)執(zhí)行:發(fā)送告警信息或執(zhí)行遠(yuǎn)程命令。
本文主要配置驗(yàn)證zabbix執(zhí)行遠(yuǎn)程命令。
一.環(huán)境
Server:基于CentOS-7-x86_64-1511;
Zabbix:zabbix-3.0.1server/agent。
二.注意事項
一些能想到的比較重要的注意事項: 1.遠(yuǎn)程執(zhí)行命令是server端向agent端執(zhí)行,不支持主動模式的agent; 2.不支持代理模式; 3.zabbix用戶必須對命令具有執(zhí)行權(quán)限,可以使用sudo賦予root權(quán)限(配置sudo無密碼方式);
4.遠(yuǎn)程命令只是執(zhí)行,執(zhí)行成功與否并不檢測并確認(rèn),可在" Monitoring-->Events"中查看action執(zhí)行時,或在"Reports-->Action log"中查看遠(yuǎn)程命令是否執(zhí)行成功(成功為" Executed")。
三.示例
通過一個簡單的示例驗(yàn)證:
監(jiān)控服務(wù)器實(shí)時在線的用戶不超過2個,超過閥值時報警,并執(zhí)行命令,強(qiáng)制使第3個登錄用戶下線,以使監(jiān)控項在閥值以下。
1. 設(shè)置Trigger
Configuration-->Templates-->選擇” Template OS Linux”模板的”Triggers”-->Create trigger
#trigger name自定義,可使用宏
Name:User login number gt 2 on {HOST.NAME}
Expression:{Template OS Linux:system.users.num.last()}>2
#可以點(diǎn)擊"Expression"項后的"Add",使用zabbix自帶的Item + Function設(shè)置閥值的表達(dá)式,如下:
#自定義的級別
Severity:Warning
其余默認(rèn)值即可,設(shè)置完成后點(diǎn)擊"Add"即完成。
2. 遠(yuǎn)程命令開關(guān)
#agent默認(rèn)不支持執(zhí)行遠(yuǎn)程命令,需要在agent的配置文件中打開此參數(shù); #agent.conf文件路徑根據(jù)實(shí)際情況修改,這里是編譯安裝后自定義的路徑,請見http://www.cnblogs.com/netonline/p/7406598.html #agent.conf文件修改后需要重啟進(jìn)程。 [root@localhost ~]# sed -i 's|# EnableRemoteCommands=0|EnableRemoteCommands=1|g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@localhost ~]# service zabbix_agentd restart
3. 設(shè)置Action
Configuration-->Actions-->Create action
Action
在Action選項中,定義Name:Limit the number of online users no more than 2
#action name自定義即可,action選項的其余部分可采用默認(rèn)值,如下:
Conditions
在Conditions選項中添加新的條件判斷,以使判斷更有針對性,如:
New condition:Trigger severity = Warning
New condition:Trigger name like User login number gt 2
#trigger name對應(yīng)步驟1中定義的trigger name,如下:
Operations
在Operations選項中,添加新的"Action operation",點(diǎn)擊"New",
Operation type:選擇"Remote Command"
Target list:添加target為"Current host" #agent在本機(jī)
Type:選擇"Custom script"
Execute on:選擇"Zabbix agent",命令為" sudo /root/test.sh
"
#執(zhí)行命令的賬號是zabbix賬號,非root賬號,不采用sudo命令會導(dǎo)致命令執(zhí)行后不生效,
#另外需要說明是,這里嘗試過使用具體的命令而非腳本,結(jié)果是命令執(zhí)行了但不生效,因?yàn)闆]有具體的失敗日志,也分析不出原因
#其余部分采用默認(rèn)值,點(diǎn)擊"Add"即可,如下:
4. 遠(yuǎn)程命令腳本
#根據(jù)步驟3中定義的命令腳本的路徑,編輯命令腳本; [root@localhost ~]# vim test.sh #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH #這里簡單的認(rèn)為第3個登錄的tty為pts/2 pkill -kill -t pts/2 [root@localhost ~]# chmod 764 test.sh
5. 配置sudo
#授予zabbix賬號sudo無密碼執(zhí)行命令的權(quán)限,如果為了安全性,可將最后一個"ALL"定義為具體的命令; #或在步驟4中將腳本owner修改為zabbix,并具有執(zhí)行權(quán)限,但要注意腳本放置目錄對zabbix賬戶開放可執(zhí)行權(quán)限甚至可寫權(quán)限,這樣步驟3中腳本也不需要sudo賦予權(quán)限
[root@localhost ~]# visudo
zabbix ALL=NOPASSWD: ALL
6. 驗(yàn)證
遠(yuǎn)程登錄主機(jī)第3個tty,不在CLI下做其他任何操作,觸發(fā)trigger閥值,觸發(fā)命令動作強(qiáng)制第3個登錄用戶下線。
從截圖可以看到,在線用戶超過閥值,trigger為"PROBLEM"狀態(tài)只持續(xù)了1分鐘左右,即恢復(fù)到"OK"狀態(tài),表明強(qiáng)制第3個用戶下線的腳本命令已執(zhí)行,并且執(zhí)行成功。
從" Number of logged in users" Item的歷史數(shù)據(jù)中也可看到trigger觸發(fā)時,第3個登錄用戶即被下線。
在登錄的第3個tty下,可看到連接由主機(jī)自行中斷(顯示本地時間,與上圖的主機(jī)時間有偏差)。
總結(jié)
到此這篇關(guān)于Zabbix遠(yuǎn)程執(zhí)行命令 的文章就介紹到這了,更多相關(guān)Zabbix遠(yuǎn)程執(zhí)行命令 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用zabbix監(jiān)控ogg進(jìn)程(Linux平臺)
這篇文章主要介紹了利用zabbix監(jiān)控ogg進(jìn)程(Linux平臺)的方法,幫助大家更好的理解和使用zabbix,感興趣的朋友可以了解下2020-12-12快速通過zabbix獲取數(shù)據(jù)庫連接的信息及部分?jǐn)U展
這篇文章主要介紹了通過zabbix獲取數(shù)據(jù)庫連接的信息及部分?jǐn)U展,包括zabbix配置信息,功能腳本,本文給大家分享詳細(xì)腳本寫法,需要的朋友可以參考下2021-06-06解決zabbix監(jiān)控因php問題導(dǎo)致圖形界面中文亂碼方法
解決因編譯php中添加了-enable-gd-jis-conv選項導(dǎo)致Zabbix監(jiān)控系統(tǒng)圖形界面中文亂碼問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧2019-10-10zabbix 4.04 安裝文檔教程詳解(基于CentOS 7.6)
這篇文章主要介紹了基于CentOS 7.6系統(tǒng)zabbix 4.04 安裝文檔,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2020-01-01Zabbix 結(jié)合 bat 腳本實(shí)現(xiàn)多個應(yīng)用程序狀態(tài)監(jiān)控的方法
這篇文章主要介紹了Zabbix 結(jié)合 bat 腳本實(shí)現(xiàn)多個應(yīng)用程序狀態(tài)監(jiān)控,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02分布式監(jiān)控系統(tǒng)之Zabbix 使用SNMP、JMX信道采集數(shù)據(jù)的原理解析
這篇文章主要介紹了分布式監(jiān)控系統(tǒng)之Zabbix 使用SNMP、JMX信道采集數(shù)據(jù),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作就有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11zabbix 添加你需要監(jiān)控的主機(jī)步驟詳解
這篇文章主要介紹了zabbix 添加你需要監(jiān)控的主機(jī),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06zabbix通過percona插件監(jiān)控mysql的方法
這篇文章主要介紹了zabbix通過percona插件監(jiān)控mysql的方法步驟詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06