溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

zabbix遠程命令(remote command)配置

發(fā)布時間:2020-06-14 12:05:26 來源:網(wǎng)絡 閱讀:18280 作者:黎晨 欄目:建站服務器

1、zabbix遠程命令(remote command):

1.1 功能:

    重啟服務;

    通過IPMI接口重啟服務器;

    任何自定義腳本可以完成的功能:清理磁盤空間,虛擬機實例遷移等等;

1.2 相關屬性:

    Tatget list:遠程命令執(zhí)行的目標主機,可以實當前主機、其他主機或主機組

    Type:命令類型

        IPMI:IPMI命令;

        Custom script:自定義腳本,可以選擇其是在zabbix server上還是zabbix agent上執(zhí)行;

        SSH:通過ssh執(zhí)行命令,需要提供目標主機上的用戶賬號、相關的認證方式及認證所需額外信息;

        Telnet:通過Telnet執(zhí)行命令,需要指定用戶名、口令及遠程主機telnet服務監(jiān)聽的端口

        Global script:全局腳本,執(zhí)行"Administration-->Scripts"定義的腳本的其中之一;

    Commands:要執(zhí)行的命令 

2、使用的前提條件

在agent需要完成的配置:

(1)zabbix用戶有所需要管理的權限(基于sudo授權)

~]# visudo
# %wheel        ALL=(ALL)       NOPASSWD: ALL
zabbix  ALL=(ALL)       NOPASSWD: ALL
# Defaults    requiretty# 注釋該行

關于該配置的說明:

     1) Defaults requiretty,修改為 #Defaults requiretty,表示不需要控制終端(不需要從終端登錄就可以執(zhí)行命令)

     # su - zabbix -c 'sudo /usr/bin/systemctl restart httpd.service'

     2) Defaults requiretty, 修改為 Defaults:nobody !requiretty,表示僅nobody用戶不需要控制終端(僅nobody用戶不需要從終端登錄就可以執(zhí)行命令)

(2)agent進程要允許執(zhí)行遠程命令;

~]# 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# 創(chuàng)建家目錄,可不做
~]# 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端口沒有監(jiān)聽,則自動重啟nginx服務器

在被監(jiān)控主機安裝nginx

~]# yum install -y nginx
~]# systemctl restart nginx.service    # 啟動服務

在zabbix web上配置item和trigger,收集監(jiān)控數(shù)據(jù)和設置觸發(fā)器

item:

zabbix遠程命令(remote command)配置

trigger:

zabbix遠程命令(remote command)配置

Action配置,重點是Operation details的配置:

zabbix遠程命令(remote command)配置

zabbix遠程命令(remote command)配置


驗證:

停止nginx服務

~#] su - zabbix -c "sudo /usr/bin/systemctl stop  nginx.service"
# 該方法可以驗證zabbix在沒有登錄終端的情況下是否可以執(zhí)行命令
會有如下報錯,不影響使用,不用理會:
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里可以看到觸發(fā)的監(jiān)控項,

在Events里可以看到觸發(fā)的事件,已經(jīng)提示的Action:

zabbix遠程命令(remote command)配置在可以在agent host上/var/log/zabbix/zabbix_agentd.log目錄查看操作日志(可以通過日志查找錯誤原因):

  4620:20170511:111934.635 Executing command '/usr/bin/systemctl restart nginx.service'

在agent host上發(fā)現(xiàn)80端口已經(jīng)重新監(jiān)聽:

[root@wlm ~]# ss -tnl | grep 80
LISTEN     0      128          *:80                       *:*                  
LISTEN     0      128         :::80                      :::*

在zabbix web上的告警也已經(jīng)解除了。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI