zabbix监控网络连接状态 |
您所在的位置:网站首页 › zabbix网站 › zabbix监控网络连接状态 |
目录 一、环境准备 二、网络连接状态介绍 三、自定义监控key 四、给主机添加监控项 一、环境准备1、搭建zabbix基础环境 zabbix基础环境部署参照:zabbix基础环境部署_桂安俊@kylinOS的博客-CSDN博客 2、给web1安装nginx环境,并加载status模块 以下实验部署均基于上述环境 二、网络连接状态介绍1、TCP连接状态 建立连接的3次握手: 断开连接的4次握手:
2、查看网络连接状态 模拟多人并发连接: #在zabbixserver向web1发送模拟并发数据 #如果没有命令则需要安装httpd-tools ab -c 1000 -n 100000 http://192.168.2.20/ #最后一定要有反斜杠/ ,20是web1主机,主机环境详见前文《zabbix基础环境部署》查看网络连接状态: ss -antup #-a参数显示所有,-t显示TCP连接,-u显示UDP连接,-n以数字形式显示端口和IP,-p显示连接对应的进程名如上,State列显示了主机的所有网络连接状态,我们可以用zabbix监控脚本来远程获取每种网络连接状态的数量值。 三、自定义监控key(注意创建自定义监控key要在agent端/usr/local/etc/zabbix_agentd.conf里打开Include,前文环境已经设置过,这里不再重复) 被监控端修改配置文件: vim /usr/local/etc/zabbix_agentd.conf.d/net.status输入如下内容: UserParameter=net.status[*],/usr/local/bin/net_status.sh $1重启agent: killall zabbix_agentd zabbix_agentd编写监控脚本net_statis.sh: vim /usr/local/bin/net_status.sh内容如下: #!/bin/bash case $1 in estab) ss -antp | awk 'BEGIN{x=0} /^ESTAB/{x++} END{print x}';; close_wait) ss -antp | awk 'BEGIN{x=0} /^CLOSE-WAIT/{x++} END{print x}';; time_wait) ss -antp | awk 'BEGIN{x=0} /^TIME-WAIT/{x++} END{print x}';; esac chmod +x /usr/local/bin/net_status.sh测试zabbix_get: 在web1本地执行zabbix_get,测试能否获取: zabbix_get -s 127.0.0.1 -k 'net.status[time_wait]' zabbix_get -s 127.0.0.1 -k 'net.status[estab]' zabbix_get -s 127.0.0.1 -k 'net.status[close_wait]'四、给主机添加监控项 配置--->主机,找到目标主机web1,选中后面的监控项: 创建监控项: 自定义监控项名称,键值手动输入,并添加自己想要监控的参数:
保存后可以看到多了一个监控项net_status: 监控测试: 如下可以看到有数据过来: 可以在另一端主机比如zabbixservre使用ab进行并发访问测试: #在zabbixserver端执行 ab -c 100 -n 10000 http://192.168.2.20/查看zabbix监控端数据图:
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |