五、监控案例之监控TCP
1、 安装agent,过程略
(下面是apt安装,如果是编译安装,请注意路径)
2、监控脚本
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
3、授予权限
chmod a+x check_tcp.sh
chown zabbix.zabbix check_tcp.sh
chown zabbix.zabbix /tmp/tcp_conn.txt
4、创建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"
5、 如果是编译安装,还需要配置agent 配置文件导入自定义配置那文件
vim /etc/zabbix/zabbix_agentd.conf
263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
6、 重启agent服务
systemctl restart zabbix-agent
7、 在被监控服务器为zabbix 用户授权:
vim /etc/sudoers
21 zabbix ALL =(ALL) NOPASSWD: ALL
8、server端测试获取数据
zabbix_get -s 192.168.7.105 -p 10050 -k "check_tcp["tcp_status","LISTEN"]"
添加模版
导入监控项
添加监控项
配置监控项
添加图形
创建图形
配置图形
创建触发器
配置触发器
添加表达式
配置完成
添加主机,如果有可以以现有的主机更改
模板选择我们刚刚创建的模板
查看图形
想要其它的TCP状态,需要修改check_tcp["tcp_status","LISTEN"]LISTEN这个值
如想要监控TIME-WAIT的值,修改成check_tcp["tcp_status","TIME-WAIT"]