码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix--tcp状态应用集

时间:2019-12-31 12:14:28      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:怎么   定时   start   time   str   图片   队列   mic   com   

前言

zabbix-agent内置的key里面没有对tcp状态的监控,但是tcp的状态对我们又很重要,tcp的常用状态有11种,我们可以把这11种都搞成监控项,然后把这些监控项集中到一起做一个tcp状态的应用集。

我们可以使用笨办法,就像这样:

[root@NFS zabbix_agentd.d]# cat tcp_estab.conf 
UserParameter=tcp_estab,netstat -ant | grep -i established | wc -l  

如下,那么tcp_tstab就是一个监控项键值,监控established的连接数量,还有10种状态,那么岂不是我们要写10条这样的,如下:

[root@NFS zabbix_agentd.d]# cat tcp_estab.conf 
UserParameter=tcp_estab,netstat -ant | grep -i established | wc -l
UserParameter=tcp_time_wait,netstat -ant | grep -i time_wait| wc -l  
……

  

这样太麻烦了,要添加10次,这11次有很多的相同点,除了键值的名字和要过滤的状态不一样,其它的都是一样的,我们可以搞一个可以传递参数的键值,想用什么状态的时候直接把状态的名字做为参数传递给键值,这就不用行了吗! 怎么搞呢?我们下面会讲一下,你会发现系统的键值都是可以传递参数的,比如net.tcp.port[<ip>,port] ,我们也搞一个。

 

自定义tcp状态应用集

被控端:

[root@NFS zabbix_agentd.d]# vim tcp_status.conf
UserParameter=tcp_status[*],netstat -ant | grep -i "$1" | wc -l 

#别忘记重启agent代理服务
[root@NFS zabbix_agentd.d]# systemctl restart zabbix-agent

  

 解释一下,tcp_status就是键值的名字嘛,后面的中括号和星号是固定的格式,想要向里面传递参数就得这么写,后面的$1就代表第一个参数

 zabbix端

在zabbix端测试一下,注意格式与上述的格式对应
[root@zabbix ~]# zabbix_get -s 192.168.80.24 -k tcp_status[TIME_WAIT]
50

好,最关键的一步做完了,下面开始定义一下tcp状态应用集。

技术图片

 

 结果是这样子的

技术图片

 

 技术图片

 

 

 耐心一点,就做这一次,以后把这些模板保存下来,下次直接套用了,下方有一个批量更改,把时间更改为每5秒查看一次,这样方便我们做实验。

 我们可以给被监控的主机安装上httpd,然后用ab压一下,就可以明显的看出效果了,后面的最新数据会变化,有时变成灰色,代表超时了,处理不完,我们去到“管理--队列(选择细节)”会看到细节,。

超时的时间,zabbix配置文件当中默认定义是3秒,我们是可以更改的在/etc/zabbix/zabbix_agentd.conf里面有一个timeout值,可以更改。

 

技巧:

管理---一般---其它---可以更改“不支持的项目刷新时间”

队列--概览,查看固定时间取不到值的请求数量

zabbix--tcp状态应用集

标签:怎么   定时   start   time   str   图片   队列   mic   com   

原文地址:https://www.cnblogs.com/yizhangheka/p/12123099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!