设为首页 收藏本站
查看: 5686|回复: 0

[经验分享] Zabbix系统通过SNMP协议采集监控数据

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-8 09:13:06 | 显示全部楼层 |阅读模式

前面我们说过,其实不管是使用SNMP协议的哪个版本的来采集数据,其本质上都是一样的,都是Zabbix服务器端组件周期性的通过SNMP协议去查询SNMP协议代理进程,以获取被监控项目的监控数据。这种监控数据采集方法的原理很简单,Zabbix服务器端组件(或服务器代理端组件)根据用户针对不同监控项目所配置的OID值,定期的调用net-snmp软包(或ucd-snmp软件)提供的接口函,去查询被监控主机(或其代理)上MIB库中被监控项目的数据,从而采集到被监控项目的监控数据。因此,通过SNMP协议采集监控数据的方法是一种被动监控方法,且使用这种方法采集监控数据在配置和日常管理也比较简单。只需要在被监控主机上开启并配置好SNMP服务,并针对Zabbix服务器开放查询权限后,我们在配置监控项目时指定好被监控项目的OID值,Zabbix服务器就会按照我们要求定时去监控主机上采集所需要的数据,不需要我们额外的编写数据采集程序或脚本。或许您会说,我怎么知道我所需要监控的项目的OID值,以及如果我们所监控项目数量很多的时候,我们在Zabbix系统中配置时需要针对不同监控项目配置不同的OID值,这样我们日常管理的工作量不是非常大?您说的一点没有错,要想知道某个被监控项目具体的OID值,我们无非有几种方法。第一,是由设备的供应商给我们提供相关的技术文档,从这些技术文档中我们可以查出我们所要监控项目在MIB库中的OID值。第二种方法是,国际标准化组织已经定义好了通用的MIB库的结构。所以,对于一些通用项目的OID值,例如系统内存大小、CPU负载信息、设备网卡数量等等项目的OID值都是固定。这样,对于这类监控项目的OID值,我们有很多种方法可以获取得到,比如查阅相关的标准文件、通过互联网搜索等等。第三、其实当我们需要通过SNMP协议采集某些监控项目的监控数据时,我们也可以不需要知道这些监控项目具体的OID值。Zabbix系统我们提供了一种动态索引的方法来实现这类监控项目的监控数据的采集。关于Zabbix系统中如何使用SNMP协议的动态索引的方法采集监控数据,我们将后续章节中作进一步介绍和说明。

虽然SNMP陷入与SNMP查询一样,都是Zabbix服务器端(或服务器代理端)组件通过SNMP协议与被监控主机(或者其代理)通信,以完成监控数据的采集。但是,SNMP陷入方法采集监控数据与通过SNMP协议查询的方法采集监控数据还是有很大的差别的。首先,SNMP查询方法采集监控数据是由Zabbix服务器端根据我们的配置周期性的连接到被监控主机或者其代理的SNMP服务上的,然后查询监控项目所需要的数据,属于一种被动监控模式。而SNMP陷入方法采集监控数据则不同,它是当被监控主机发生某种事件时,由其(或者被监控主动代理)主动地将所发生的事件信息发送给Zabbix服务器端(或者其服务器代理端)组件,由Zabbix系统进分析并获取监控数据的一种监控数据采集方式,它是一种主动的监控模式。另外,通过SNMP查询方式采集监控数据的监控项目,其关键字(何为监控项目的关键字,我们将在后续章节再做详细介绍)可以由我们自由定义,只需要我们所定义的关键字符合Zabbix系统对监控项目的关键字的要求和规则即可,但是通过SNMP陷入方式采集数据的监控项目则不同,它们的关键字具有固定的形式,这个形式是由Zabbix系统内部预定义好的,我们只能使用这种关键形式,最多只能修改关键字的参数。以下表2-3即为通过SNMP陷入方式采集数据的监控项目的关键列表。

表2-3 通过SNMP陷入方式采集数据的监控项目关键字列表

关键字
备注
snmptrap[regex]
该关键字的作用是从相应监控接口所接收到的陷入信息中匹配出SNMP陷入信息。期中regex为所需要匹配的关键字,当Zabbix系统中从所接收到的陷入信息中匹配这个数所指定的关键字,则表示系统接收到了指定项目所配置的陷入数据。
从前面我们所描述的通过SNMP陷入的方式采集监控数据的流程中我们可以看出,当Zabbix服务器上所运行的snmpd服务接收到了来自被监控主机(或者是其代理)所发送的陷入信息后,会将SNMP陷入信息发给snmptt进程,由其进行格式化,以便Zabbix服务端组件能够识别出这条陷入信息,格式化后的陷入信息存放在/etc/snmp/snmptt.ini配置文件中log_file配置项所指定的日志文件里,zabbix服务器端组件会定时去读取这个日志文件,然后根据每条陷入信息的内容,用监控项目关键字中regex参数所指定的内容去匹配,如果匹配到了,则表示对应的监控项目接收到来自被监控主机的一条陷入信息。
snmptrap.fallback
这个关键字所对应的监控项目可能有一点不太好理解。在前一个关键字中我们已经说过,Zabbix服务器会定时的用regex参数指定的内容去逐条匹配所接收到的SNMP陷入信息,当匹配到了,则就将对应的监控项目的数据更新为所接收到陷入信息的时间截。当某台被监控主机上所有SNMP陷入类的监控项目所指定的关键字都没有匹配上所接收到的陷入信息时,而且这台被监控主机上也配置了关键字为snmptrap.fallback的监控项目,这个时候系统就将这条陷入信息的内容更新到这个监控项目上。
需要注意的是,这里所说的系统接收到的陷入信息没有匹配上,是指这类陷入信息在Zabbix系统没有配置相对应的监控项目与之对应。但是,在/etc/snmp/snmptt.conf配置文件中还是得有这类陷入信息格式化配置的,否则Zabbix系统将因为无法识出陷入信息,而抱怨接收到了一条非法的陷入信息。因此,就不会更新关键字为snmptrap.fallback监控项目的采集数据了。对于这种我们未知的陷入信息,则我们也可以通过在snmptt.conf配置文件里添加上:
EVENT general .* “General event” Normal
FORMAT ZBXTRAP $aA Unknow trap Message
内容,以便对这类陷入信息进行格式化,从而让Zabbix服务器能够进行识别和处理。在snmptt.conf文件里添加上上面这两行内容后,则系统将会将这类陷入信息的内容统一更新到关键字是snmptrap.fallbacku的监控项目上。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-16884-1-1.html 上篇帖子: zabbix 安装错误汇总 下篇帖子: zabbix监控java的方法 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表