首页 > 代码库 > zabbix自动发现使用中端口并图形展示各个端口连接数
zabbix自动发现使用中端口并图形展示各个端口连接数
zabbix自动发现当前服务器使用中的端口并图形展示各个端口连接数
1.修改配置文件
vi /data/server/zabbix_agent/conf/zabbix_agentd.conf
UserParameter=tcp.port.discovery,/data/server/zabbix/bin/discover_tcp_port_count tcp_port_discovery
UserParameter=tcp.port.count[*],/data/server/zabbix/bin/discover_tcp_port_count tcp_port_count $1
2.自动发现脚本
vi discover_tcp_port_count
#!/bin/bash
source/etc/bashrc >/dev/null 2>&1
source/etc/profile >/dev/null 2>&1
tcp_port_discovery(){
tcp_port=(`netstat-tnlp|egrep -i "$1"|awk {‘print $4‘}|awk -F‘:‘ ‘{if ($NF~/^[0-9]*$/)print $NF}‘|sort |uniq 2>/dev/null`)
printf‘{\n‘
printf‘\t"data":[\n‘
for((i=0;i<${#tcp_port[@]};++i))
{
num=$(echo$((${#tcp_port[@]}-1)))
if ["$i" != ${num} ]; then
printf"\t\t{ \n"
printf"\t\t\t\"{#PORTNUM}\":\"${tcp_port[$i]}\"},\n"
else
printf"\t\t{ \n"
printf"\t\t\t\"{#PORTNUM}\":\"${tcp_port[$num]}\"}]}\n"
fi
}
}
tcp_port_count(){
#/usr/bin/curl-o /dev/null -s -w %{http_code} http://$1
netstat-atnl |grep $1 |wc -l
}
case"$1" in
tcp_port_discovery)
tcp_port_discovery
;;
tcp_port_count)
tcp_port_count$2
;;
*)
echo"Usage:$0 {tcp_port_discovery|tcp_port_count [port]}"
;;
esac
3.重启agentd
4.验证
./zabbix_get -s192.168.0.7 -p 10050 -k "tcp.port.discovery"
./zabbix_get -s192.168.0.7 -p 10050 -k "tcp.port.count[8080]"
5.server端web页面配置(配置模版或单个主机)
1)创建应用集
2)创建探索规则
3)创建项目监控原型
4)添加图形原型
本文出自 “XFICC” 博客,请务必保留此出处http://xficc.blog.51cto.com/1189288/1587948
zabbix自动发现使用中端口并图形展示各个端口连接数