您的位置:首页 > 运维架构

zabbix4.0(一) Zabbix实现对服务器端口的自定义监控

2019-06-04 09:11 3099 查看

介绍

服务器上跑了很多应用,和一些api接口,现在需要把他们全部监控起来,下面介绍通过zabbix对服务器上端口的监控,实现端口挂掉之后,通过zabbix报警通知到运维人员

准备

先准备两台服务器,已经部署好了zabbix-sever和zabbix-agent

服务器 ip 系统
zabbix-server 192.168.1.70 centos7.2
zabbix-agent 192.168.1.6 centos7.2

zabbix-agent端 添加自定义监控

准备三个文件

port.sh为获取服务器端口的脚本

[code]CONFIG_FILE=/etc/zabbix/zabbix_agentd.d/port
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

port 此文件存放需要监控的端口

[code]11883
6379
8080

port.conf

[code]root@weremote-test zabbix_agentd.d]# cat port.conf1
UserParameter=port.alert,/etc/zabbix/zabbix_agentd.d/port.sh

配 4000 置好之后重启zabbix-agent端

[code]systemctl restart zabbix-agent

zabbix-server端通过zabbix-get获取数据

[code][root@localhost ~]# zabbix_get -s 192.168.1.6 -k port.alert
{
"data":[
{"{#TCP_PORT}":"11883"},
{"{#TCP_PORT}":"6379"},
{"{#TCP_PORT}":"8080"}
]
}

可以正常的获取zabbix-agent上的端口信息

去zabbix-sever页面添加监控模板

配置->模板->创建模板,填写对应的信息

配置->模板->端口监控->自动发现规则->创建发现规则

 

填写与zabbix-agent端配置文件port.conf中的port.alert保持一致 

 

创建监控项原型

 

{#TCP_PORT}端口

键值:net.tcp.listen[{#TCP_PORT}] TCP_PORT与脚本中port.sh中的保持一致,键值选择net.tcp.listen[port],然后把port改成{#TCP_PORT}

新建触发器

 

{#TCP_PORT} is down,please check

问题表现形式如下

 

 

关联模板

去主机里面,选择模板,链接指示器中,选择端口监控,添加模板

监测->最新数据,就能看到要监控的接口信息了

 

注:我这个监控的数据端口比较多,在上port文件中 我删除了一些,把要监控的端口都写在port文件中,最新数据中会自动发现port文件中的端口 

端口挂了之后报警

 

钉钉群接受报警信息

 

到此 已实现zabbix对服务器上端口状态的监控

关注微信公众号,获取更多zabbix监控教程

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: