01 Zabbix采集数据方式

Zabbix采集数据方式

1. zabbix采集数据方式:

  • 基于专用agent   被监控的设备上面安装agent软件,这个agent必须在设备上面有采集数据的权限
  • 基于SNMP,  net-snmp (nms/agent架构)    三个版本SNMPV1 V2c V3(V1 V2安全性较差,V3可加密认证)
  • 基于脚本(ssh)

NMS可随时采集被监控设备的数据,简单命令 snmp get 、snmp get-next、snmp get-bulk
但问题?  获取的数据如何保存,保存在何处?   故SNMP只提供功能,不关心数据处理!

2. 开源监控软件Cacti

  • 采集数据 (例如对网络流量采集)  配合基于SNMP、基于脚本
  • 保存数据
  • 数据展示
  • 数据分析及报警(超过阀值)     cacti报警功能相对一般
       Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。
        cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
        Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
        snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。

   rrdtool:

所谓的“Round Robin” 其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。
        rrdtool轮状数据库,时间序列数据,从创建的开始就固定其大小。
        rrdtool不是cacti独有,而是一种开源工具,功能很强大,只是用小部分功能配合cacti完成数据的保存和绘图。

   一般定义两个阈值

  • 警告阈值
  • 紧急阈值

3. 开源监控软件nagios(强大的告警工具、有独立插件)

  • 依赖关系(自动分析相关设备告警情况)
  • 采集数据特殊:状态转换报警工具,只关心正常与否的状态(阀值,状态转换时报警)
  • 支持主动模式监控

cacti、nagios不适合大规模的环境中,很难实现在分布式环境中对大量节点同时监控,一般超过200个节点就出现延迟。
zabbix 是以上两种开源软件的集合,实现分布式监控。

上一篇:log4j使用总结


下一篇:在sql语句中添加php变量