Zabbix监控服务器的TCP连接数
1、 被监控服务器上安装zabbix-agent
yum install zabbix-agent
systemctl start zabbix-agent
systemctl enabel zabbix-agent
2、编写脚本
vim /tmp/tcp_status.sh #!/bin/bash tcp_conn_status(){ TCP_STATE=$1 ss -nat | awk 'NR>1 {++s[$1]} END {for (k in s) print k,s[k]}' > /tmp/tcp_conn.txt TCP_NUM=`grep "$TCP_STATE" /tmp/tcp_conn.txt | cut -d " " -f 2` if [ -z $TCP_NUM ];then TCP_NUM=0 fi echo $TCP_NUM } main(){ tcp_conn_status $1 } main $1
chmod +x /tmp/tcp_status.sh
chmod 777 /tmp/tcp_conn.txt #设定权限,不然zabbix server获取数据的时候提示无权限
3、配置zabbix_agentd.conf和userparameter_mysql.conf
vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,10.122.77.20 #加上zabbix server地址,不然会提示没有权限
ServerActive=127.0.0.1,10.122.77.20 #加上zabbix server地址,不然会提示没有权限
UnsafeUserParameters=1 #允许所有字符在参数中传递给用户定义的参数
vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=linux_status[*],/tmp/tcp_status.sh $1
systemctl restart zabbix-agent
4、在zabbix server上测试
zabbix_get -s 10.124.191.202 -p 10050 -k linux_status["LISTEN"]
zabbix_get -s 10.124.191.202 -p 10050 -k linux_status["ESTAB"]
5、在zabbix server上创建模板、监控项、图形
6、在zabbix server创建主机调用模板
7、图形展示