Zabbix監控指定端口


生產上經常會監控某些具體端口狀態,下面介紹具體步驟:

 

主機名 ip 操作系統 zabbix版本
zabbix-server 172.27.9.63 Centos7.3.1611 zabbix_server (Zabbix) 3.4.8
zabbix-agent 172.27.9.65 Centos7.3.1611 zabbix_agentd (daemon) (Zabbix) 3.4.8

 

1.腳本編寫

兩個腳本,port_alert.sh為端口自發現腳本,port.conf為指定的監控端口號

[root@zabbix-agent ~]# cd /etc/zabbix/script/
[root@zabbix-agent script]# more port_alert.sh 
#/bin/bash
CONFIG_FILE=/etc/zabbix/script/port.conf
Check(){
    grep -vE '(^ *#|^$)' ${CONFIG_FILE} | grep -vE '^ *[0-9]+' &> /dev/null
    if [ $? -eq 0 ]
    then
        echo Error: ${CONFIG_FILE} Contains Invalid Port.
        exit 1
    else
        portarray=($(grep -vE '(^ *#|^$)' ${CONFIG_FILE} | grep -E '^ *[0-9]+'))
    fi
}
PortDiscovery(){
    length=${#portarray[@]}
    printf "{\n"
    printf  '\t'"\"data\":["
    for ((i=0;i<$length;i++))
      do
         printf '\n\t\t{'
         printf "\"{#TCP_PORT}\":\"${portarray[$i]}\"}"
         if [ $i -lt $[$length-1] ];then
                    printf ','
         fi
      done
    printf  "\n\t]\n"
    printf "}\n"
}
port(){
    Check
    PortDiscovery
}
port
[root@zabbix-agent script]# more port.conf
22
80
#  abc 1
#ebc
50
3306  
8080
10050
10051
 3822
21
9100

注意兩個腳本屬主為zabbix:zabbix。

配置文件port.conf每個端口號一行,每行的被監控端口可以有空格,空行和注釋行#會被過濾。

 

2.修改被監控端的zabbix_agent.conf配置文件,新增KEY值port.alert

[root@zabbix-agent ~]# view /etc/zabbix/zabbix_agentd.conf
UserParameter=port.alert,/etc/zabbix/script/port_alert.sh

重啟agent端zabbix服務

[root@zabbix-agent ~]# systemctl restart zabbix-agent 

3.server端測試

[root@zabbix-server ~]# zabbix_get -s 172.27.9.65 -k port.alert
{
        "data":[
                {"{#TCP_PORT}":"22"},
                {"{#TCP_PORT}":"80"},
                {"{#TCP_PORT}":"50"},
                {"{#TCP_PORT}":"3306"},
                {"{#TCP_PORT}":"8080"},
                {"{#TCP_PORT}":"10050"},
                {"{#TCP_PORT}":"10051"},
                {"{#TCP_PORT}":"3822"},
                {"{#TCP_PORT}":"21"},
                {"{#TCP_PORT}":"9100"}
        ]
}

測試成功,返回json格式的合法端口號

 

4.新建模板,創建自動發現規則

新建模板:

 

 新建自動發現規則:

 

 自動發現清單中新建監控項原型:

自動發現清單中新建觸發器:

添加表達式:

模板關聯主機:

查看最新數據:

查看告警信息:

 

 

原文鏈接:https://blog.51cto.com/loong576/2117521


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM