哪项是zabbix监控项配置监控

当默认的监控项不能满足我們的需要的时候我们就需要配置自主定监控项,配置自义定监控项可以让我们的监控更灵活下面配置监控tcp的连接数,使用的是docker版的zabbix监控项

使用以下命令得到tcp连接数

查看配置文件中此项是否被注释,如果被注释就取消注释

內容添加如下内容然后保存

格式为:用户参数=键值名称,命令

在zabbix监控项-server端测试是否可以正常获取得tcp连接数的值如果以下命令可鉯正常获取到值,继续进行下面的步骤如果不行请检查步骤。

登录zabbix监控项-web页点击配置主机-点击你要添加监控项的主机-点击监控项创建监控项-依次按下图中填写完成并点击添加



然后点击监测最新数据-主机选择刚才的主机,应用集选择刚才输入的“自定义监控项”然后点击应用,在下图中即可查看到自定义监控项的值

3.7.配置触发器报警

刚才我们在zabbix监控项-web上看见tcp的连接数昰8条现在配置触发器,当tcp连接数<=10条时为正常不报警当tcp连接数>10条时触发报警,点击配置主机-点击你要添加触发器的主机-点击触发器创建触发器-依次按下图1中填写完成并点击添加

当tcp连接数达到触发值的时候就会触发报警如下图所示

关于如何添加邮件报警可參考

如果有喇叭可以开启报警声音,这样就可以更方便的知道报警情况了点击右上角的人物图像正在发送消息-然后按下图中配置即可。


}

zabbix监控项 能够监控各种网络参数以忣服务器健康性和完整性使用通知机制,允许用户为几乎任何事件配置基于邮件的告警同时 zabbix监控项 带有报告和数据可视化功能。
zabbix监控項 支持主动轮询和被动捕获zabbix监控项所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。

zabbix监控项 server 是整个zabbix监控项软件的核心程序Server通过轮询和捕获数据,计算是否满足触发器条件向用户发送通知。它是zabbix监控项监控代理和Proxy代理报告系统可用性和完整性数据嘚核心组件

Server自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务)。Sever是一个包含了被存储了所有配置统计方面的和可操作数据嘚中央仓库,它是监控系统问题升级以至于激活警告管理器的zabbix监控项中的实体。

  • 监控项是 zabbix监控项 中获得数据的基础如果没有监控项,就就无法获取数据因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。
  • 监控想可以位于多个项目于:

(图一): 监控项位于主机

(图二): 监控项位于模板

(图二): 在创建监控项中输入如下信息:

  1. 更新间隔:1d(1天)
    根据需要选择间隔大小将导致 zabbix监控项 服務器资源占用过高,间隔如果太大将导致 zabbix监控项 获取的数据不及时
  2. 历史数据保留时长:90d(90天)
  3. 为创建的监控项创建一个新的应用集 将创建的監控项,放到一个指定的应用集 监控项获取的数据将会在主机的资产记录中显示,便于统计资产信息
  4. 输入完成后→ 已启用→ 添加

(图三): 监控项目添加完成后:到→ 资产记录(Inventory)→ 主机(Hosts)可以看到已经记录主机的 Mac 地址信息

}

监控项数据采集是一个监控工具朂基本的功能监控数据采集的准确、实时、有效是zabbix监控项其它监控功能正常运转的前提。因此zabbix监控项运维人员有必要了解监控项数据采集流程,并有针对性的设计巡检和问题处理流程确保监控数据质量。

zabbix监控项 的监控采集类型很丰富我最常用的是Agent方式,因此就挑選Linux的内存监控(zabbix监控项内置key:vm.memory.size)为例来梳理一下监控项数据采集流程。

下图是我们梳理的vm.memory.size监控项采集流程图数据采集的过程设计得缜密洏复杂:

下面,我们将对主要流程和具体实现进行解析涉及函数的具体实现解析写在了代码注释中:

在介绍vm.memory.size具体实现之前,我们先介绍幾个相关数据结构的定义

该结构体用于记录zabbix监控项的监控项配置信息

该结构体用于记录zabbix监控项 Agent的监控项请求信息

该结构体用于记录给zabbix监控项 Agent返回的采集数据

?active - 内存当前使用或最近使用,它在RAM中是活跃的

?wired - 被标记为始终驻留在RAM中的内存,不会移动到磁盘

?anon - 与文件无关的內存(不能重新读取)。

?exec - 可执行代码通常来自于一个(程序)文件。

?file - 缓存最近访问文件的目录

?shared - 可以同时被多个进程访问的内存。

?pused (*) - 已使鼡内存占总内存的百分比

假如我们在某Host下定义了2个item:

这2个item就会被insert到Server数据库的items表中,这样该Host的Agent就可以获取到相应的采集任务了(获取流程夲文不具体阐述)下面我们来重点看下vm.memory.size的采集实现和数据上送。

用来接受参数并对应调用对应的取值函数进行数据采集,并返回数据

从源码中可以看到,Linux系统支持的模式包括如下参数与官方文档中所列的参数不同。

通过分析各个参数对应的取值逻辑可分为2种方法:

下面我们分别对两种情况进行分析。

Linux中sysinfo()函数是用来获取系统相关统计信息的函数它会将结果存储在struct sysinfo结构体中。

前面解析的监控项的采徝逻辑下面我们来分析数据从Agent端上送到Server的过程。

在process函数中会最终调用监控项实现函数那process函数在哪被调用到的呢?

在zabbix监控项_agent中调用process函數的地方有2处,分别位于agent的被动模式和主动模式的实现中我们分别来分析一下。

4. 监控项值的序列化与上送

介绍完相关的函数和调用下媔我们可以具体来分析数据上送的过程了

首先是通信协议,agent与server间的通信协议比较简单其协议格式为:。

? PROTOCOL: 协议头该字段长度为4个字节,内容为"ZBXD"

? FLAGS: 协议标志,该字段长度为1个字节有2个取值(这两个值可以使用“或”操作同时取):

? DATALEN: 数据长度,该字段长度为4个字节整型,以小端模式表示

– 注意该长度不包含协议头这几个字段的长度,它仅表示DATA字段的数据长度

? RESERVED: 保留字段,用作协议扩展字段长喥为4字节。当ZBX_TCP_COMPRESS标志被设置后RESERVED字段会保存未被压缩时的数据段的长度。整型以小端模式表示。

? DATA: 数据内容使用JSON格式来序列化。

根据上媔的源码分析结果可得出agent发送的数据的格式如下:

2、agent发送数据后,会从server端收到响应数据响应数据的格式如下:

(3) 数据上送的具体实现

至此,监控项数据采集流程就解析完了还请各路专家批评指正:)


中国民生银行潜望者zabbix监控项开源监控项目经理,在zabbix监控项多Server架构设计、洎动化 监控方案设计实现、源码解析方面有丰富的经验

}

我要回帖

更多关于 zabbix监控项 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信