zabbix3.2监控自定义侦听端口

                    zabbix3.2监控自动发现服务端口


 环境:

    操作系统:Centos6.5

    lamp平台:apache 2.4+php 5.6+mysql 5.6

    zabbix版本:zabbix3.2



zabbix客户端

       创建端口侦听脚本

vim /etc/zabbix/zabbix_agentd.d/discovertcpport.sh
#!/bin/bash
portarray=(`netstat -tnlp|egrep -i"$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print$NF}'|sort|uniq`)
#namearray=(`netstat -tnlp|egrep -i"$1"|awk {'print $7'}|awk -F'/' '{if ($NF != "Address")print $NF}'|uniq`)
length=${#portarray[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
  do
     printf'\n\t\t{'
     printf"\"{#TCP_PORT}\":\"${portarray[$i]}\"}"
#     printf"\"{#TCP_NAME}\":\"${namearray[$i]}\"}"
     if [ $i-lt $[$length-1] ];then
               printf ','
     fi
  done
printf "\n\t]\n"
printf "}\n"



脚本说明:

       使用netstat命令输入端口号;-tnlp=Tcp协议+不显示别名+listen状态+显示程序名称;$1~$9表示输出的第几个参数;awk{‘print $4’}表示输出第4个参数(如0.0.0.0:80);awk �CF’:’‘{if ($NF~/^[0-9]*$/) print $NF}’表示截取冒号后面的值,且只能是0~9的数字;|sort|unip表示排序和去重。

              脚本中注释掉的俩行是用来监控服务的,只需替换掉齐shang的一行就是个烧苗服务的脚本了。


客户端增加discovery的key值

vim /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=tcpportlisten,/etc/zabbix/zabbix_agentd.d/discovertcpport.sh"$1"


给脚本加权限

chmod +x discovertcpport.sh


 

重启客户端服务

/etc/init.d/zabbix_agentd restart


 

Zabbix-server端使用get获取数据

/usr/local/zabbix/bin/zabbix_get -s127.0.0.1 -p 10050 -k tcpportlisten


报错处理:

                           

68387e36a7fda1a615d7f0f6b70c4bb5.png

网页报错

fff8184a5acc392fe16aaa61d420aaa3.png-wh_

 

更改netstat命令权限

chmod 4755 /bin/netstat


 

重启服务

/etc/init.d/zabbix_agentd restart



zabbix-server

重新获取值

/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p10050 -k tcpportlisten


4a6ac5d72ffa41e4b74fe73e6ff1ec40.png-wh_

刷新网页

9405ca4974dae1c26cd714193e3e925f.png

已经没有错误提示了

已经没有报错消息了 ! ! !

 


Zabbix-server网站配置


配置―模板―Template OS Linux―自动发现

211b551863b9554f991621a456792e7d.png


设置自动发现规则名称和KEY    自动发现规则―创建发现规则

14e9fba176756f24c87567d3a7ba2770.png

fa839fc2f1f0b0b416c7086fb1eae292.png


监控项原型―名称(Tcp Port $1)--键值(net.tcp.listen[{#TCP_PORT}])--数据类型(布尔)

4fb18b7cd15621eaf1e8f68d001976d6.png


选择好键值net.tcp.listen[port]   大括号中的值可以手动更改

eb601456bb49b121f391dc5f56a76a64.png


触发器类型―创建触发器

a049eff469b969ced40d3fd6ef23d73b.png

 


名称―严重性―表达式

3ca6c7b1d4619b6d703e9cedff730a55.png


表达式―选择类型―功能―排班―N―插入

f75ee8a06e3789a778a2d14a34d948cc.png

 

触发器添加成功等几分钟查看

监控项筛选

b652af148e1946d80a5a2e895c563e63.png

相关文章

相关标签/搜索