主頁 > 知識庫 > Zabbix遠程執(zhí)行命令的示例詳解

Zabbix遠程執(zhí)行命令的示例詳解

熱門標簽:地圖標注能更改嗎 云南電商智能外呼系統(tǒng)哪家好 濰坊寒亭400電話辦理多少錢 地圖標注員有發(fā)展前景嗎 宜賓銷售外呼系統(tǒng)軟件 廈門防封電銷電話卡 四川保險智能外呼系統(tǒng) 高德地圖標注公司需要錢 外呼系統(tǒng)全國

Zabbix觸發(fā)器(trigger)達到閥值后會有動作(action)執(zhí)行:發(fā)送告警信息或執(zhí)行遠程命令。

本文主要配置驗證zabbix執(zhí)行遠程命令。

一.環(huán)境

Server:基于CentOS-7-x86_64-1511;

Zabbix:zabbix-3.0.1server/agent。

二.注意事項

一些能想到的比較重要的注意事項: 1.遠程執(zhí)行命令是server端向agent端執(zhí)行,不支持主動模式的agent; 2.不支持代理模式; 3.zabbix用戶必須對命令具有執(zhí)行權(quán)限,可以使用sudo賦予root權(quán)限(配置sudo無密碼方式);

4.遠程命令只是執(zhí)行,執(zhí)行成功與否并不檢測并確認,可在" Monitoring-->Events"中查看action執(zhí)行時,或在"Reports-->Action log"中查看遠程命令是否執(zhí)行成功(成功為" Executed")。

三.示例

通過一個簡單的示例驗證:

監(jiān)控服務器實時在線的用戶不超過2個,超過閥值時報警,并執(zhí)行命令,強制使第3個登錄用戶下線,以使監(jiān)控項在閥值以下。

1. 設置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

#可以點擊"Expression"項后的"Add",使用zabbix自帶的Item + Function設置閥值的表達式,如下:

#自定義的級別

Severity:Warning

其余默認值即可,設置完成后點擊"Add"即完成。

2. 遠程命令開關(guān)

#agent默認不支持執(zhí)行遠程命令,需要在agent的配置文件中打開此參數(shù);
#agent.conf文件路徑根據(jù)實際情況修改,這里是編譯安裝后自定義的路徑,請見http://www.cnblogs.com/netonline/p/7406598.html
#agent.conf文件修改后需要重啟進程。
[root@localhost ~]# sed -i 's|# EnableRemoteCommands=0|EnableRemoteCommands=1|g' /usr/local/zabbix/etc/zabbix_agentd.conf
[root@localhost ~]# service zabbix_agentd restart 

3. 設置Action

Configuration-->Actions-->Create action

Action

在Action選項中,定義Name:Limit the number of online users no more than 2

#action name自定義即可,action選項的其余部分可采用默認值,如下:

Conditions

在Conditions選項中添加新的條件判斷,以使判斷更有針對性,如:

New condition:Trigger severity = Warning

New condition:Trigger name like User login number gt 2

#trigger name對應步驟1中定義的trigger name,如下:

Operations

在Operations選項中,添加新的"Action operation",點擊"New",

Operation type:選擇"Remote Command"

Target list:添加target為"Current host" #agent在本機

Type:選擇"Custom script"

Execute on:選擇"Zabbix agent",命令為" sudo /root/test.sh"

#執(zhí)行命令的賬號是zabbix賬號,非root賬號,不采用sudo命令會導致命令執(zhí)行后不生效,

#另外需要說明是,這里嘗試過使用具體的命令而非腳本,結(jié)果是命令執(zhí)行了但不生效,因為沒有具體的失敗日志,也分析不出原因

#其余部分采用默認值,點擊"Add"即可,如下:

4. 遠程命令腳本

#根據(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

#這里簡單的認為第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. 驗證

遠程登錄主機第3個tty,不在CLI下做其他任何操作,觸發(fā)trigger閥值,觸發(fā)命令動作強制第3個登錄用戶下線。

從截圖可以看到,在線用戶超過閥值,trigger為"PROBLEM"狀態(tài)只持續(xù)了1分鐘左右,即恢復到"OK"狀態(tài),表明強制第3個用戶下線的腳本命令已執(zhí)行,并且執(zhí)行成功。

從" Number of logged in users" Item的歷史數(shù)據(jù)中也可看到trigger觸發(fā)時,第3個登錄用戶即被下線。

在登錄的第3個tty下,可看到連接由主機自行中斷(顯示本地時間,與上圖的主機時間有偏差)。

總結(jié)

到此這篇關(guān)于Zabbix遠程執(zhí)行命令 的文章就介紹到這了,更多相關(guān)Zabbix遠程執(zhí)行命令 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標簽:紅河 湛江 廊坊 滁州 德州 回訪 巴彥淖爾 廣安

巨人網(wǎng)絡通訊聲明:本文標題《Zabbix遠程執(zhí)行命令的示例詳解》,本文關(guān)鍵詞  Zabbix,遠程,執(zhí)行,命令,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Zabbix遠程執(zhí)行命令的示例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Zabbix遠程執(zhí)行命令的示例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章