通过Zabbix监控服务器tcp连接数
zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix可以监控网络和服务的监控状况. Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出相应. Zabbix可以利用存储数据提供杰出的报告及图形化方式。这一特性将帮助用户完成容量规划。
以上简介来源于网络,关于zabbix的更详细介绍可自行搜索,下面开始步入正题,如何利用zabbix监控服务器tcp连接数。
原理:zabbix自定义监控的原理就是通过脚本获取你想监控的数据,zabbix帮你定时取数据,达到告警阈值触发条件,将告警发送出来,就是这么简单。
下面说下具体配置步骤:
1. 监控脚本配置
将脚本放到主机上的zabbix脚本目录中
cd /etc/zabbix/scripts/
vi netsat_ps.sh
#!/bin/bash
#------服务器IP-----------
ip="$1"
#------服务名-----------
pname="$2"
cnt=0
pid_infos=`netstat -anop | grep $ip | grep ESTABLISHED | awk '{print $7}'`
pids=`ps -ef | grep $pname | grep -v grep | awk '{print $2}'`
arr_pid=($pids)
arr_pid_info=($pid_infos)
for pid in ${arr_pid[*]}
do
for pid_info in ${pid_infos[*]}
do
if [[ $pid_info ==*"$pid"* ]]; then
((cnt++))
fi
done
done
echo $cnt
2. 配置zabbix-agent
cd/etc/zabbix/zabbix_agentd.d
声明监控项key和脚本路径
vi userparameter_netstat_ps.conf
UserParameter=netstat_ps[*],/etc/zabbix/script/netstat_ps.sh $1 $2
3. 重启zabbix-agent服务
service zabbix-agentrestart
4. Zabbix监控项配置
名称你按照自己的习惯命名
键值要和步骤2的UserParameter保持一致。
最后点添加即可。
5. 配置触发器
名称还是按照自己的习惯命名,作用是收到告警一眼就能看出来是什么
表达式选择监控项最新的T值小于多少阈值,我这里演示随便写的100.这个阈值根据业务实际情况而定。
选择告警级别:警告还是一般严重。。。。。
最后点添加