为zabbix增加支持传参的自定义监控项

例如使用zabbix来监控tcp的12种状态

tcp的12种状态可以通过man netstat来找到,即

LISTEN:等待从任何远端TCP 和端口的连接请求。

SYN_SENT:发送完一个连接请求后等待一个匹配的连接请求。

SYN_RECEIVED:发送连接请求并且接收到匹配的连接请求以后等待连接请求确认。

ESTABLISHED:表示一个打开的连接,接收到的数据可以被投递给用户。连接的数据传输阶段的正常状态。

FIN_WAIT_1:等待远端TCP 的连接终止请求,或者等待之前发送的连接终止请求的确认。

FIN_WAIT_2:等待远端TCP 的连接终止请求。

CLOSE_WAIT:等待本地用户的连接终止请求。

CLOSING:等待远端TCP 的连接终止请求确认。

LAST_ACK:等待先前发送给远端TCP 的连接终止请求的确认(包括它字节的连接终止请求的确认)

TIME_WAIT:等待足够的时间过去以确保远端TCP 接收到它的连接终止请求的确认。

TIME_WAIT 两个存在的理由:

1.可靠的实现tcp全双工连接的终止;

2.允许老的重复分节在网络中消逝。

CLOSED:不在连接状态(这是为方便描述假想的状态,实际不存在)

1、添加zabbix-agent配置文件,增加自定义监控项

[root@zabbix ~]# cd /etc/zabbix/zabbix_agentd.d/

[root@zabbix zabbix_agentd.d]# ls

tps.conf userparameter_mysql.conf

[root@zabbix zabbix_agentd.d]# vim tcp.conf

UserParameter=tcp_state[*],netstat -ant|grep -c "$1"    #参数用[]来引用,参数为*

[root@zabbix zabbix_agentd.d]# systemctl restart zabbix-agent.service    #重启服务

2、模拟取值

[root@zabbix zabbix_agentd.d]# zabbix_get -s 127.0.0.1 -p 10050 -k "tcp_state[LISTEN]"

8

3、web界面添加监控项

点击:配置——>选择主机——>监控项——>创建监控项,添加需要创建的tcp的状态为监控项,将参数*换为具体的状态

tcp_state[ESTABLISHED]

tcp_state[SYN_SENT]

tcp_state[SYN_RECV]

tcp_state[FIN_WAIT1]

tcp_state[FIN_WAIT2]

tcp_state[TIME_WAIT]

tcp_state[CLOSE]

tcp_state[CLOSE_WAIT]

tcp_state[LAST_ACK]

tcp_state[LISTEN]

tcp_state[CLOSING]

tcp_state[UNKNOWN]

添加完一个监控项后,克隆添加的监控项继续添加其他的监控项

4、检查

点击:监测中,最新数据,过滤添加的主机和应用集,监控tcp的状态值已经成功添加

5、将自定义的监控项链接到新的模板

如果需要将自定义的监控将应用于多台机器,就可以选择将某个主机添加的监控项链接到新的模板

点击:配置——>模板——>创建模板,填写模板的名称,其中模板所在的群组为Templates

添加完成

为新添加的模板创建监控项

点击:配置——>主机,选择上面添加了自定义监控项的主机,过滤出添加的监控项,全选进行复制,复制到模板组,选择Temolates,复制成功后监控项就添加到了tcp_state_11模板中

为新添加的模板创建应用集

点击:配置——>模板,选择模板tcp_state_11,点击应用集,创建应用集tcp_state

点击:配置——>模板,选择模板tcp_state_11,点击监控项,全选,点击批量更新

勾选"添加新的或者已经存在的应用",选择创建的应用集tcp_state,点击更新

自定义监控项添加到模板基本完成。以后添加的主机除了在客户端添加配置文件外,可以选择模板来使用自定义的监控项,另外还可以根据需要创建触发器,图形等

 

博主原创文章,转载请务必注明出处

zabbix自定义监控项二的更多相关文章

  1. Zabbix自定义监控项(模板)

    虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...

  2. zabbix自定义监控项、添加图形、设置触发器、远程执行命令

    监控项是在zabbix中手机数据的基础,没有监控项就没有数据,系统自带模板带有大量默认item,自定义item可以定义在模板中,在应用模板即可使用对应item:也可直接在host中定义 目标:自定义监 ...

  3. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

  4. zabbix自定义监控项数据类型错误

    问题描述 监控cpu使用率,脚本获取的值是浮点型  zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...

  5. zabbix自定义监控项

    原因:zabbix监控系统自带的监控规则有限,如果需要更加灵活的定义监控项,可以通过修改配置文件实现 vim xxx/zabbix_agentd.conf UnsafeUserParameters=1 ...

  6. zabbix 自定义监控项,监控tomcat访问量

    uv:访客量.每个独立上网电脑视为一位访客.pv:访问量.页面浏览量或者点击量,访客每访问一次记录一次. 1.创建文件 /home/zabbix/pvuv_number.sh [ #/bin/bash ...

  7. zabbix 自定义监控项简单案例

    例如:获取被监控主机的登录用户数 以uptime为例: 输入命令:uptime | awk '{print $6}'  可以获得当前登录用户数(不通终端打印出的位置不同) 1.被监控主机修改zabbi ...

  8. zabbix 自定义监控项每隔1分钟检测一次三次失败报警

    在agent上添加 UserParameter=auth.check,/etc/zabbix/auth_monitor/auth_check.py auth.check就是之后添加的自定义的item值 ...

  9. zabbix 自定义监控项 获取nginx监控状态

    本篇是基于zabbix 源码安装的 [root@localhost conf]# curl "http://192.168.0.73:8080/nginx_status" Acti ...

随机推荐

  1. 使用C#创建windows服务程序

    创建windows服务项目 一.创建服务 1.文件->新建->项目->windows桌面->windows服务,修改你要的项目名称.我这不改名,仍叫WindowsService ...

  2. OpenNI2安装

    1.Openni2:从官网下载linux用zip压缩包,解压再解压2.终端转到解压目录下,找到install.sh文件,执行$sudo ./install.sh 3.执行后,生成OpenNIDevEn ...

  3. Codeforces Round #352 (Div. 2) B

    B. Different is Good time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  4. 接下来打算写一下visual stuido 2013使用git进行远端管理。

    虽然我有了vs的账号,也vs2013开始已经可以进行远端的账户管理了,可是vs的版控毕竟有些依赖vs,想想还是用git吧 今天把这个环境的整套都弄地基本熟了.记录一下,算是一个小结.开始搭建系统框架

  5. 行为型设计模式之访问者模式(Visitor)

    结构 意图 表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作. 适用性 一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依 ...

  6. 结构型设计模式之装饰模式(Decorator)

    结构 意图 动态地给一个对象添加一些额外的职责.就增加功能来说,D e c o r a t o r 模式相比生成子类更为灵活. 适用性 在不影响其他对象的情况下,以动态.透明的方式给单个对象添加职责. ...

  7. matlab 命令行快捷键

  8. Kubernetes DNS安装配置

    #镜像在谷歌上需要FQ###################################下载kubernetes#DNS#cd kubernetes/cluster/addons/dns#修改tr ...

  9. Visual Studio跨平台开发(3):Xamarin iOS多页面应用开发

    前言 在前一篇教学中, 我们学会如何使用Visual Studio 搭配Xcode进行iOS基本控制项的操作. 但都是属于单一画面的应用程式. 这次我们要来练习如何通过Navigation Contr ...

  10. react setState里的作用域

    从接触racet开始,我们就认识了setState,它是对全局变量进去更新的一个重要方法, 不仅可以更新数据,还能在更新后执行方法时直接调用刚刚更新的数据 今天碰到的问题就在于它的作用域的先后问题 先 ...