Zabbix监控案例(一)监控tcp连接数据
-
安装agent,过程略
(下面是apt安装,如果是编译安装,请注意路径) -
监控脚本
cd /etc/zabbix/zabbix_agentd.conf.d/
vim check_tcp.sh
#!/bin/bash
tcp_conn_status(){
TCP_STAT=$1
ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > /tmp/tcp_conn.txt
TCP_STAT_VALUE=$(grep "$TCP_STAT" /tmp/tcp_conn.txt | cut -d ' ' -f2)
if [ -z $TCP_STAT_VALUE ];then
TCP_STAT_VALUE=0
fi
echo $TCP_STAT_VALUE
}
main(){
case $1 in
tcp_status)
tcp_conn_status $2;
;;
*)
echo "$0 + tcp_status + STATUS"
esac
}
main $1 $2
- 授予权限
chmod a+x check_tcp.sh
chown zabbix.zabbix check_tcp.sh
chown zabbix.zabbix /tmp/tcp_conn.txt
- 创建conf文件引用脚本
cd /etc/zabbix/zabbix_agentd.conf.d/
chown zabbix.zabbix check.conf
vim check.conf
UserParameter=check_tcp[*],/etc/zabbix/zabbix_agentd.conf.d/check_tcp.sh "$1" "$2"
- 如果是编译安装,还需要配置agent 配置文件导入自定义配置那文件
vim /etc/zabbix/zabbix_agentd.conf
263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
- 重启agent服务
systemctl restart zabbix-agent
- 在被监控服务器为zabbix 用户授权:
vim /etc/sudoers
21 zabbix ALL =(ALL) NOPASSWD: ALL
- 测试获取数据:
# zabbix_get -s 192.168.99.23 -p 10050 -k "check_tcp["tcp_status","LISTEN"]"
11
- 创建模板并导入监控项
-
点击监控项
-
添加监控项
-
添加
-
创建图形
-
在图形中添加监控项
-
创建触发器
-
添加表达式
-
添加条件
扫描二维码关注公众号,回复: 9548990 查看本文章 -
添加成功
-
添加主机,如果有可以以现有的主机更改
-
模板选择我们刚刚创建的模板
-
查看图形有没有数据
想要其它的TCP状态,需要修改check_tcp["tcp_status","LISTEN"]
LISTEN这个值
如想要监控TIME-WAIT
的值,修改成check_tcp["tcp_status","TIME-WAIT"]