您好,登錄后才能下訂單哦!
1、zabbix遠程命令(remote command):
1.1 功能:
重啟服務;
通過IPMI接口重啟服務器;
任何自定義腳本可以完成的功能:清理磁盤空間,虛擬機實例遷移等等;
1.2 相關屬性:
Tatget list:遠程命令執行的目標主機,可以實當前主機、其他主機或主機組
Type:命令類型
IPMI:IPMI命令;
Custom script:自定義腳本,可以選擇其是在zabbix server上還是zabbix agent上執行;
SSH:通過ssh執行命令,需要提供目標主機上的用戶賬號、相關的認證方式及認證所需額外信息;
Telnet:通過Telnet執行命令,需要指定用戶名、口令及遠程主機telnet服務監聽的端口
Global script:全局腳本,執行"Administration-->Scripts"定義的腳本的其中之一;
Commands:要執行的命令
2、使用的前提條件
在agent需要完成的配置:
(1)zabbix用戶有所需要管理的權限(基于sudo授權)
~]# visudo # %wheel ALL=(ALL) NOPASSWD: ALL zabbix ALL=(ALL) NOPASSWD: ALL # Defaults requiretty# 注釋該行
關于該配置的說明:
1) Defaults requiretty,修改為 #Defaults requiretty,表示不需要控制終端(不需要從終端登錄就可以執行命令)
# su - zabbix -c 'sudo /usr/bin/systemctl restart httpd.service'
2) Defaults requiretty, 修改為 Defaults:nobody !requiretty,表示僅nobody用戶不需要控制終端(僅nobody用戶不需要從終端登錄就可以執行命令)
(2)agent進程要允許執行遠程命令;
~]# vim /etc/zabbix/zabbix_agentd.conf EnableRemoteCommands=1# 開啟遠程命令 ### Option: LogRemoteCommands # Enable logging of executed shell commands as warnings. # 0 - disabled # 1 - enabled # # Mandatory: no # Default: # LogRemoteCommands=0 LogRemoteCommands=1# 記錄日志
(3)重啟服務
~]# systemctl restart zabbix-agent.service
(4)zabbix用戶可登陸
~]# mkdir /var/lib/zabbix# 創建家目錄,可不做 ~]# grep "^zabbix" /etc/passwd zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin ~]# usermod -s /bin/bash zabbix ~]# grep "^zabbix" /etc/passwd zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/bin/bash
3、探測tcp的80端口,如果tcp的80端口沒有監聽,則自動重啟nginx服務器
在被監控主機安裝nginx
~]# yum install -y nginx ~]# systemctl restart nginx.service # 啟動服務
在zabbix web上配置item和trigger,收集監控數據和設置觸發器
item:
trigger:
Action配置,重點是Operation details的配置:
驗證:
停止nginx服務
~#] su - zabbix -c "sudo /usr/bin/systemctl stop nginx.service" # 該方法可以驗證zabbix在沒有登錄終端的情況下是否可以執行命令 會有如下報錯,不影響使用,不用理會: Error creating textual authentication agent: Error opening current controlling terminal for the process (`/dev/tty'): No such device or address (polkit-error-quark, 0)
在Monitoring的Triggers里可以看到觸發的監控項,
在Events里可以看到觸發的事件,已經提示的Action:
在可以在agent host上/var/log/zabbix/zabbix_agentd.log目錄查看操作日志(可以通過日志查找錯誤原因):
4620:20170511:111934.635 Executing command '/usr/bin/systemctl restart nginx.service'
在agent host上發現80端口已經重新監聽:
[root@wlm ~]# ss -tnl | grep 80 LISTEN 0 128 *:80 *:* LISTEN 0 128 :::80 :::*
在zabbix web上的告警也已經解除了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。