原文:http://blog.chinaunix.net/uid-9411004-id-4139807.html

或许读者还记得,我们在介绍如何创建一个监控项目时,我们介绍过在“配置项目”表单页面上有两个表单项“保留历史数据(天)”和“保留趋势数据(天)”,并且当时我们给出提示,建议为减轻数据库的压力,在配置监控项目时,应尽可能的在“保留历史数据(天)”表单项里输入较小数据。比如说将这个表单项的输入值调整成7天或半个月。那么,在Zabbix系统中为何有“历史数据”和“趋势数据”两种数据呢?它们又都什么类型的数据呢?以及这两种数据有什么联系和区别吗?下面,我们就针这些问题谈谈Zabbix系统中的“历史数据”和“趋势数据”。

历史数据和趋势数据是Zabbix系统中存储所采集的监控项目数据的两种存储方式。它们既有区别又有联系。所谓历史数据就是指,Zabbix系统针对每个监控项目在每次采集时所收集到的数据,这个数据保存Zabbix系统数据库的历史表中。因为是每次所采集到的数据都保存在历史表中,所以如果监控项目的更新间隔越小,则在固定时间内所保存到历史表中的数据就越多。如果每个监控项目的更新间隔是30秒的话,则两个小时,该监控项目在Zabbix数据库的历史表中就会产生240条记录,一天就会产生2880条记录。或许你会认为,对于MySQL数据库来说,2880条记录几乎可以忽略不计。是的,如果我们的Zabbix系统只监控一台被监控主机,且这台被监控主机只有一个被监控项目,那么每天产生2880条记录确实不值得一提的。但是,当我们监控系统所监控的项目比较多时,则这个数据量还是非常大的。比如说,如果我们监控系统监控1000个监控项目,且每个监控项目的更新间隔都是30秒,则每天历史表中就会产生2880*1000=2880000条记录,也即近300万条记录。而1000个监控项目可以监控多少主机呢?我们以48口的交换机为例,单监控每台交换机的每个端口的流量,则一台48口的交换机就有96个监控项目。所以,如果我们仅监控这样的48口的交换机,1000个监控项目只差不多只够监控10台这样交换机。由此可见,如果我们所监控主机的数量稍等多一点,或者更确切的来说,我们所监控的项目稍微多点,则Zabbix系统每天在其数据库中所产生的记录是非常大的。因此,我们建议,如非必须的, 我们在配置监控项目时,应尽量减小历史数据的保留天数,以免给数据库系统带来很大的压力。

而趋势数据则不同,对于相同的更新间隔,系统所产生的趋势数据的数量远远没有历史数据那么庞大。对同一个监控项目,之所以趋势数据的数据量要远远小于历史数据的数据量,是由趋势数据的取值方式决定的。趋势数据取值方式是,它取对应监控项目的历史数据在一个小时内的平均值、最大值、最小值以及这一个小时内该监控项目所采集到的数据的个数。因此,不管一个监控项目的更新间隔是多少,它所对应的趋势数据在数据库中的记录都只有一条。更新间隔越小,仅可能导致数据个数增大,而不会影响该监控项目在趋势表里的记录条数的。由此,或许你觉得趋势数据很不准确,你还是愿意保留更长时间的历史数据,以便查看较长时间的数据图。其实不是这样的,因为在Zabbix系统数据库的趋势表里不但保留一个小时内历史数据的最大值、最小值和平均值,而还保存这一个小时内所采集到的数据个数。因此,在要求并不是很高的场合,使用趋势数据绘出的监控项目的数据图的走势与用历史数据绘出的数据图的走势差别不会很大的。

不是历史数据还是趋势数据,都会周期性被Zabbix服务器端一种称之为“主妇(housekeeper)”进程进行清理,它会周期性的删除过期的历史数据和趋势数据。也正是因为这个进程的存在,才会使Zabbix系统数据的数据量不会一直的彭胀下去。而实际上,如果我们在保持Zabbix系统的被监控主机和被监控项目不变,且不更改监控项目的更新间隔的情况下,Zabbix系统的数据库的数据量会在增长到一定的数据量后不会再增长,而是基本维护在这个数据量上不变。“主妇”进程清理历史数据和趋势数据的频率可以在Zabbix服务器端组件(或服务器代理组件)的配置文件zabbix_server.conf中进行配置,它的配置项是HousekeepingFrequency。

注意                                                              1、如果监控项目的“保留历史数据(天)”配置项被设置成0时,则数据库历史表中仅保留该监控项目所采集的最后一条数据,其它历史数据将数据将不会被会保留。而且,引用该监控项目的触发器也只能使用该项目所采集的最后数据。因此,此时如果在触发器里引用该项目时使用max、avg、min等函数据时将没有意义。                                                                             2、如果监控项目的“保留趋势数据(天)”配置项被设置成0时,则该项目在系统数据库的趋势表里将不保留任何数据。

Zabbix系统中的历史数据和趋势数据的更多相关文章

  1. 使用API接口在zabbix系统中登陆、创建、删除agent

    一.API的介绍 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力 ...

  2. 金蝶K3,名称或代码在系统中已被使用,由于数据移动,未能继续以NOLOCK方式扫描

    使用金蝶K3时出现:名称或代码在系统中已被使用:错误代码:3604(E14H)source:Microsoft OLE DB provider for SQL SERVERDetail:由于数据移动, ...

  3. Zabbix系统数据采集方法总结

    转:http://www.blog.chinaunix.net/uid-9411004-id-4115731.html 老文章,直接拿来用了,官网也有最新分类,没高兴翻译 在Zabbix系统中有多达十 ...

  4. 【转】Spark Streaming 实时计算在甜橙金融监控系统中的应用及优化

    系统架构介绍 整个实时监控系统的架构是先由 Flume 收集服务器产生的日志 Log 和前端埋点数据, 然后实时把这些信息发送到 Kafka 分布式发布订阅消息系统,接着由 Spark Streami ...

  5. (16)zabbix history trends历史与趋势数据详解

    1. 保留历史数据 我们可以通过如下方式来设置保留数据的时长:监控项(item)配置里匹配更新监控项(item)设置Housekeeper tasksHousekeeper会定期删除过期的数据.如果数 ...

  6. 分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据

    前文我们了解了zabbix的被动.主动以及web监控相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14024212.html:今天我们来了解下zabb ...

  7. 如何从Linux系统中获取带宽、流量网络数据

    引入 国外的云主机厂商,例如AWS提供的网络数据是以流量为单位的,例如下面的图片: 从上图来看,其取值方式为 每隔5分钟取值1次,(每次)每个点显示为1分钟内的流量字节数(Bytes) 带宽与流量 我 ...

  8. 25 Zabbix系统数据表结构介绍

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...

  9. LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法

    1.QTP11 下载地址:http://www.genilogix.com/downloads/unified-functional-testing/quicktest-professional-11 ...

随机推荐

  1. hdu2174 kiki's game 博弈

    Recently kiki has nothing to do. While she is bored, an idea appears in his mind, she just playes th ...

  2. 监控页面后退前进,浏览器文档加载事件之pageshow、pagehide

    https://www.cnblogs.com/milo-wjh/p/6811868.html http://www.runoob.com/jsref/event-onpageshow.html on ...

  3. Cobbler自动装机--1

    cobbler介绍 cobbler官网:http://cobbler.github.io/用个人的话来说就是cobbler就是一款通过网络快速安装Linux操作系统的产品.cobbler可以配置,管理 ...

  4. mongodb之 oplog 日志详解

    1:oplog简介 oplog是local库下的一个固定集合,Secondary就是通过查看Primary 的oplog这个集合来进行复制的.每个节点都有oplog,记录这从主节点复制过来的信息,这样 ...

  5. redis之 Redis持久化配置

    Redis持久化配置 Redis的持久化有2种方式   1快照  2是日志 Rdb快照的配置选项 save 900 1      // 900内,有1条写入,则产生快照 save 300 1000   ...

  6. 深入理解 Python yield

    https://blog.csdn.net/lftaoyuan/article/details/78915518 python2和python3是不兼容的,通篇环境都是python3.6 简单的yie ...

  7. LOJ 2586 「APIO2018」选圆圈——KD树

    题目:https://loj.ac/problem/2586 只会 19 分的暴力. y 都相等,仍然按直径从大到小做.如果当前圆没有被删除,那么用线段树把 [ x-r , x+r ] 都打上它的标记 ...

  8. bzoj 2216 [Poi2011]Lightning Conductor——单调队列+二分处理决策单调性

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2216 那个关于位置的代价是带根号的,所以随着距离的增加而增长变慢:所以靠后的位置一旦比靠前的 ...

  9. jmeter --JVM调优设置

    JMeter用户可根据运行的计算机配置,来适当调整JMeter.bat中的JVM调优设置,如下所示: set HEAP=-Xms512m -Xmx512m set NEW=-XX:NewSize=12 ...

  10. JSON C# Class Generator ---由json字符串生成C#实体类的工具

    json作为互联网上轻量便捷的数据传输格式,越来越受到重视.但在服务器端编程过程中,我们常常希望能通过智能提示来提高编码效率.JSON C# Class Generator 能将json格式所表示的J ...