溫馨提示×

溫馨提示×

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

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

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

發(fā)布時間:2020-06-28 10:17:54 來源:網(wǎng)絡 閱讀:1166 作者:蜷縮的蝸牛 欄目:建站服務器

1、配置自動發(fā)現(xiàn)腳本

#!/bin/bash 
# -------------------------------------------------------------------------------
# Script_name: discovery_port.sh 
# Revision:    1.0
# Date:        2017/05/08
# Author:      kbsonlong
# Email:       kbsonlong@gamil.com
# Website:     www.along.party
# -------------------------------------------------------------------------------
 
source /etc/bashrc >/dev/null 2>&1 
source /etc/profile  >/dev/null 2>&1 


port_discovery () { 
PORTS=($(cat  /data/PRG/zabbix/scripts/PORT.txt|grep -v "^#")) 
        printf '{\n' 
        printf '\t"data":[\n' 
for((i=0;i<${#PORTS[@]};++i)) 
{ 
num=$(echo $((${#PORTS[@]}-1))) 
        if [ "$i" != ${num} ]; 
                then 
        printf "\t\t{ \n" 
        printf "\t\t\t\"{#PORT}\":\"${PORTS[$i]}\"},\n" 
                else 
                        printf  "\t\t{ \n" 
                        printf  "\t\t\t\"{#PORT}\":\"${PORTS[$num]}\"}]}\n" 
        fi 
} 
} 
 
case "$1" in 
port_discovery) 
port_discovery 
;;
*) 
 
echo "Usage:$0 port_discovery" 
;; 
esac

 

 

2、配置自定義KEY port

vim zabbix_agentd.conf 添加如下內(nèi)容,并重啟zabbix agent讓自定義key生效

UserParameter=port,/data/PRG/zabbix/scripts/port_discovery.sh port_discovery

 

3、在zabbix server端使用zabbix_get測試ket是否生效

[root@ctc-167 bin]# ./zabbix_get -s 192.168.xxx.147 -k port
{
        "data":[
                {"{#IP}":" 192.168.xxx.147"},
                { 
                        "{#PORT}":"80"},
                { 
                        "{#PORT}":"8080"}]}

 

4、zabbix web端添加自動發(fā)現(xiàn)規(guī)則模板(check_port.xml),導入后有如下模板,關聯(lián)主機后自動創(chuàng)建監(jiān)控項跟觸發(fā)器

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

 

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

 

5、配置觸發(fā)器動作

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

 

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

 

6、開啟客戶端遠程執(zhí)行命令,并重啟agent

vim zabbix_agentd.conf 
EnableRemoteCommands = 1

 

7、由于遠程執(zhí)行命令使用的是zabbix用戶執(zhí)行,配置sudo,使zabbix用戶擁有權限執(zhí)行重啟腳本

# visudo
zabbix ALL=NOPASSWD:/etc/init.d/nginxd

 

8、將監(jiān)控端口關閉,此時通過zabbix web會發(fā)現(xiàn),觸發(fā)器執(zhí)行遠程命令操作。但是查看端口還是關閉狀態(tài)

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

這是由于sudo執(zhí)行默認需要控制終端

編輯 /etc/sudoers

  1)Defaults    requiretty,修改為 #Defaults    requiretty,表示不需要控制終端。

  2)Defaults    requiretty,修改為 Defaults:nobody !requiretty,表示僅 nobody 用戶不需要控制終端。

       如果修改為 Defaults:%nobody !requiretty,表示僅 nobody 組不需要控制終端。

其實只要注釋掉)Defaults    requiretty 那個就可以了。表示在執(zhí)行的時候不打開終端

 

重新開啟服務,并等觸發(fā)器恢復之后再將服務關閉,此時可以看到nginx進程是在16:16分啟動。

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

# ps -ef |grep nginx
root     24516     1  0 16:16 ?        00:00:00 nginx: master process /data/PRG/nginx/sbin/nginx -c /data/PRG/nginx/conf/nginx.conf
nobody   24517 24516  0 16:16 ?        00:00:00 nginx: worker process                                        
nobody   24519 24516  0 16:16 ?        00:00:00 nginx: worker process                                        
nobody   24520 24516  0 16:16 ?        00:00:00 nginx: worker process                                        
nobody   24521 24516  1 16:16 ?        00:00:00 nginx: worker process                                        
root     24710 29543  0 16:17 pts/1    00:00:00 grep nginx

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務

 

ZABBIX配置自動添加端口監(jiān)控,并觸發(fā)重啟服務 

向AI問一下細節(jié)

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

AI