Zabbix默认模板中是不能监控到TCP各个状态的连接数的,需要我们自定义模板来实现。网上方法很多,并且很多都是一长串的脚本,有点让人望而却步。我个人总结就是先弄清楚TCP有哪些状态,然后在zabbix的agent上新增一条配置即可,具体操作按如下步骤。

1、在zabbix的/etc/zabbix/zabbix_agentd.d目录下新增配置文件tcp_status.conf

# cat > /etc/zabbix/zabbix_agentd.d/tcp_status.conf << EOF

## 下面列出的2条UserParameter,2选1即可.

##1. 使用 netstat 命令来获取TCP状态连接数,需要修改netstat权限,即zabbix用户在执行netstat命令时,需具有与netstat命令所有者相当的权限要先执行chmod 4755 /bin/netstat .

UserParameter=system.netstat[*],netstat -antp |grep -i $1 |grep -v grep|wc -l

##2. 或者使用 ss 命令来获取TCP状态连接数,速度比netstat快,也不需要修改ss命令权限,但需要注意是ss列出来的ESTABLISHED是缩写成ESTAB,且TIME-WAIT、SYN-SENT等状态中间是中横线,netstat用的是下划线TIME_WAIT、SYN_SENT.

UserParameter=system.ss[*], ss -antp |grep -i $1 |grep -v grep |wc -l

EOF

完成添加后,如下图所示

说明:此处为演示,netstat和ss都添加到了配置中。

2、重启zabbix-agent

# systemctl restart zabbix-agent

3、需要监控的TCP状态主要包括如下几种:

LISTEN、ESTABLISHED、TIME_WAIT、CLOSE_WAIT、LAST_ACK、SYN_SENT、SYN_RECV、FIN_WAIT1、FIN_WAIT2等。

然后使用zabbix_get命令先检查一下,确认添加无误且能获取到数据。

使用system.netstat时,若不修改netstat命令权限,则会有如下相关提示,需赋予zabbix用户在执行netstat命令时具有与netstat命令所有者相当的权限,即root权限。

使用system.ss时,不需要修改ss命令权限即可执行,但获取TIME_WAIT时要用中横线

说明:在1台主机上验证获取数据正常后,就可以使用ansible等批量部署工具将配置推送到其它需要监控的节点上。

4、获取数据正常后,接下来是在zabbix中创建模板。通常我们在Zabbix添加项(item)的步骤为:

先创建模板① (Template)-->② 应用(Application)-->③ 监控项(items)-->④触发器(triggers),⑤将模板应用到对应的主机上(此处创建模板时,将模板加到了Linux servers组中)。

① 在Configuration-->Templates中创建一个名为"Template TCP Connections"的模板,并且归属于"Linux Servers"组中,这样属于Linux Servers组中的主机将自动继承"Template TCP Connections"模板,如下图所示。

创建的Templates状态如下图所示。

② 创建Application,名为"TCP Connections",创建Application的用途是后续添加的items都归属于该Application,便于分类以及查找,如下图所示。

③ 创建items,如下图所示,点击右上角的"Create item"。

添加TIME_WAIT的监控,相关设置如下图所示,在item的名称"Name"这里,我们用了zabbix的位置变量,每次添加item时,我们只需要修改key中中括号的内容,方便快速添加。

添加完成后,状态如下图所示。

接下来,如果要继续添加其它监控项,我们就可以使用Zabbix的Clone(克隆)功能,如下图所示。

点击"Clone"后,就相当于基于原有的item并重新复制了一个item,我们只需要修改key就可以了。

完成修改后,点击下方的"Add"添加,显示如下。

最后,我们用"Clone"方式添加完其它item项,最终显示如下图所示。

说明:此处均用netstat命令来完成添加,ss也可以,但要注意添加的TCP状态名称是用中横线。

④ 为需要设置阈值的items是添加触发器,点击右上角的"Create trigger",创建触发器,如下图所示。

触发器的名称最好与对应item相同,然后选择严重等级(Severity),严重等级为分:Not classified(未分类,需关注)、Information(普通信息,需关注)、Warning(警告)、Average(一般严重)、High(非常严重)、Disaster(灾难),具体设置如下图所示。

在添加触发器表达式时,我们只需要点击表达式对话框右边的"Add"按钮,选择对应的item,先按默认完成添加,然后再按需修改表达式,较复杂的表达式都是手工按需求编写的。

最后,以"Clone"方式完成其它item对应的trigger添加,完成后,如下图所示。

说明:相关Trigger阈值需要根据实际情况进行设置调整。

⑤ 在所有主机上添加模板"Template TCP Connections",如下图所示。

完成添加后,在"Latest data"中查看数据,如下图所示。

说明:Application对话框是支持模糊匹配的,这也体现了在创建某一类items时,需创建Application的重要性。

5、将TCP状态连接数据添到加Grafana上,展示效果如下图所示

最后再来一副主机全景图

总结:使用Grafana来展示数据确实比Zabbix自身图表要有优势,对Grafana感兴趣的可以关注我前面写的17篇文章,全是干货哦,后续会继续分享使用经验。

Grafana之数据可视化(第一篇)

Grafana之部署Zabbix数据源(第二篇)

Grafana安装、升级与备份(第三篇)

Grafana插件安装并接入zabbix数据源(第四篇)

Grafana功能菜单介绍(第五篇)

Grafana之Graph Panel使用(第六篇)

Grafana之Heatmap Panel使用(第七篇)

Grafana之Singlestat Panel使用(第八篇)

Grafana之Stat Panel使用(第九篇)

Grafana之Table Panel使用(第十篇)

Grafana之Gauge和Bar Gauge使用(第十一篇)

Grafana之Pie Chart使用(第十二篇)

Grafana之Clock Panel使用(第十三篇)

Grafana之其他Native Panel(第十四篇)

Grafana之模板与变量(第十五篇)

Grafana之邮件告警设置(第十六篇)

Grafana之ImageIt实现动态可感知网络拓扑(第十七篇)

模板应用到多个主机 zabbix_Zabbix监控TCP连接数相关推荐

  1. zabbix监控TCP连接数

    模板可以将多个监控项 触发器 图形都配置在模板中,方便多个监控的主机进行重复调用,提升了很多的工作效率 模板的简单配置 1.配置-----模板---------创建模板 配置合适的模板名称再点击添加 ...

  2. linux查看tcp络连接日志,Linux监控TCP连接数并触发日志记录

    场景 由于服务器经常半夜出现TCP连接数暴增,没办法及时查看处理,回头看记录又看不到现象,不好排查,故编写此脚本用于记录日志. 脚本内容#!/bin/bash #任务计划设置此脚本每分钟执行一次即可, ...

  3. mysql日志监控 zabbix_zabbix监控mysql+报警

    做完这一步后需要做的就是,将这个监控命令添加到Zabbix Agent中,并与一个Key对应,这样Zabbox Server就能通过这个Key获取MySQL的状态了.我们使用mysql.ping作为M ...

  4. Zabbix(一):server,agent端 安装配置及主机,监控项,触发器,动作,媒介配置步骤...

    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供柔软的通知机制以让系统管理员快速定位/解决 ...

  5. Linux分布式应用 Zabbix监控配置[添加主机 自定义监控内容 邮件报警 自动发现/注册 代理服务器 高可用集群]

    -------------------- 添加 zabbix 客户端主机 -------------------- 关闭防火墙 systemctl disable --now firewalld se ...

  6. 使用 Shell 脚本监控主机,实现主机性能监控

    使用 Shell 脚本监控主机,实现主机性能监控 一.编写脚本程序,组织好各种代码 二.验证脚本执行效果.邮件发送效果 三.结合计划任务,实现主机性能自动监控 一.编写脚本程序,组织好各种代码 [ro ...

  7. zabbix Server 4.0 监控TCP的12种状态

      zabbix Server 4.0 监控TCP的12种状态 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家对TCP三次握手比较熟悉了,都知道当发生DOSS攻击时,客户端发送 ...

  8. 【zabbix个性化监控之一】TCP连接数

    一.在被监控端上设置 主要命令: netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 1 netstat -an ...

  9. Zabbix 监控TCP的SYN,establised

    1.在 agent 端建立脚本,并赋予 zabbix 执行权限 #!/bin/bash # Script to fetch Netstat statuses for tribily monitorin ...

最新文章

  1. 【JSConf EU 2018】WebAssembly 的手工艺术
  2. dataset__getitem___PyTorch源码解析与实践(1):数据加载Dataset,Sampler与DataLoader
  3. 岭南六少个人独立博客开通啦
  4. winrar压缩文件但是排除指定目录
  5. ASP.NET 26个常用性能优化方法
  6. Atitit.js this错误指向window的解决方案
  7. 关于css外链和js外链的位置
  8. 第三章 游戏软件工程基础
  9. 向iis注册framework命令
  10. html下拉菜单右侧显示,css如何设置下拉菜单?
  11. 2020中兴捧月算法大赛——傅里叶赛道 第1名方案
  12. c语言打印三角形//洛谷
  13. 关于.NET报表中图表控件线条颜色和粗细设置
  14. 安装Dev c++后,编译文件出现未编译的解决方法
  15. spring boot 打包成二进制可以直接执行的jar , 非java -jar 启动方式
  16. 使用Scrapy来爬取自己的CSDN文章
  17. # 2023 好用免费图床推荐
  18. when you start Windows 7: The Windows Boot Configuration Data file is missing required information
  19. echarts 折线图线条粗细_echarts 折线图点击高亮
  20. Word写论文注意事项

热门文章

  1. 算成绩啦(洛谷P5740、P5741题题解,Java语言描述)
  2. 【堆内存】动态图+代码五分钟轻松理解学会
  3. CentOS 6.9编译安装新版本内核
  4. 在SharePoint网站中访问Webservice被拒绝的解决方法
  5. Laravel 在Centos上的安装
  6. cc笔记_robotium_01
  7. SCAU_WeiShenWahle 之省赛任务
  8. poj 3041 Asteroids
  9. Windows 7 IIS HTTP 错误 403.14 - Forbidden
  10. 精品 IDEA 插件大汇总!值得收藏