linux通过SNMP检测TCP&UDP连接数

linux通过SNMP检测TCP&UDP连接数

先上图&介绍

记录一次全球化网络监控的看板建设;
之前都是通过zabbix来进行建设看板,但是用了一段时间后总是缺点感觉;后面通过大佬的介绍,试用了Grafana,这不试用还好,一试用,效果的展现让我无法自拔,这就是我想要的监控看板啊!能根据数值的不同进行颜色的区分,在大屏上一眼就可以看出当前哪一块网络出现了问题!

美中不足的是,上面的两列不能设置报警,报警貌似必须是图表形式的才可以;不过可以建立一个通用的报警看板,问题不大~

其他的一些监控项都是最简单基础的,我这边就不过多的赘述,大家可以自行上网搜索,或者之前引用之前zabbix的数据,主要讲解下TCP连接数UDP连接数的获取

别的不说,这图还是很好看的;

现在讲讲获取TCP/UDP连接数的准备

  • SNMP (yum install snmpd)
  • 自定义OID

创建获取连接数脚本

1
2
3
4
#!/bin/bash
echo $2
echo integer
echo $(netstat -an|awk '/^tcp/ {++s[$NF]} END {for(a in s ) print a,s[a]}' | grep ESTABLISHED | awk '{print $2}')

这个是获取TCP连接数的脚本,如果要获取UDP的,请把tcp改成udp
设置脚本权限

1
chmod 766 zabbix.tcp.sh

修改SNMP配置文件

文件路径:/etc/snmp/snmpd.conf

1
pass .1.3.6.1.4.1.2021.21 /etc/snmp/shell/zabbix.tcp.sh

在最底下加入这条命令,后面的shell脚本就是上传创建的脚本路径

重启SNMP服务

1
service snmpd restart

后记

通过这种方式,我们就可以做更多的扩展,比如

  • 获取连接人数
  • 当前访问情况
作者

Yan Tao

发布于

2023-03-11

更新于

2023-03-11

许可协议

评论