Zabbix系统中的历史数据和趋势数据
原文: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系统中的历史数据和趋势数据的更多相关文章
- 使用API接口在zabbix系统中登陆、创建、删除agent
一.API的介绍 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力 ...
- 金蝶K3,名称或代码在系统中已被使用,由于数据移动,未能继续以NOLOCK方式扫描
使用金蝶K3时出现:名称或代码在系统中已被使用:错误代码:3604(E14H)source:Microsoft OLE DB provider for SQL SERVERDetail:由于数据移动, ...
- Zabbix系统数据采集方法总结
转:http://www.blog.chinaunix.net/uid-9411004-id-4115731.html 老文章,直接拿来用了,官网也有最新分类,没高兴翻译 在Zabbix系统中有多达十 ...
- 【转】Spark Streaming 实时计算在甜橙金融监控系统中的应用及优化
系统架构介绍 整个实时监控系统的架构是先由 Flume 收集服务器产生的日志 Log 和前端埋点数据, 然后实时把这些信息发送到 Kafka 分布式发布订阅消息系统,接着由 Spark Streami ...
- (16)zabbix history trends历史与趋势数据详解
1. 保留历史数据 我们可以通过如下方式来设置保留数据的时长:监控项(item)配置里匹配更新监控项(item)设置Housekeeper tasksHousekeeper会定期删除过期的数据.如果数 ...
- 分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据
前文我们了解了zabbix的被动.主动以及web监控相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14024212.html:今天我们来了解下zabb ...
- 如何从Linux系统中获取带宽、流量网络数据
引入 国外的云主机厂商,例如AWS提供的网络数据是以流量为单位的,例如下面的图片: 从上图来看,其取值方式为 每隔5分钟取值1次,(每次)每个点显示为1分钟内的流量字节数(Bytes) 带宽与流量 我 ...
- 25 Zabbix系统数据表结构介绍
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...
- LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法
1.QTP11 下载地址:http://www.genilogix.com/downloads/unified-functional-testing/quicktest-professional-11 ...
随机推荐
- Mybatis(七)-- LRU LFU 算法
这篇博客主要介绍LRU LFU 算法,因为在Mybatis的缓存中会用到,所以放到这个系列中了.此外,这是我翻译的一篇文章,觉得原文已经写的很好了,所以就直接翻译一下,留作知识整理. 英文原文出处如下 ...
- spring mvc发送请求404,不能进入处理方法,也不报错
找了很久找不到原因,那多半是字段绑定出错了.如字段不能为空的如int,double,没传给了空:字段是int的,给了double形式的值(1.0)..这些都会使spring mvc自动绑定出错,而且不 ...
- java中类与方法叙述正确的是
这道题的4个选项全是错的. A.一个文件中,可以有多个public class public class Main { public class Inner{ } } 即,外部类为public,还 ...
- LG4213 【【模板】杜教筛(Sum)】
sum\(\mu\)求法 设 \[S(n)=\sum_{i=1}^n \mu(i)\] 回顾公式 \[\sum_{d|n}\mu(d)=[n=1]\] 对\(n\)求和 \[\sum_{i=1}^n\ ...
- Nginx:承受3万并发连接数,胜过Apache 10倍
编者按:Nginx是目前比较重要的开源性负载均衡技术,新浪.网易.六间房等很多网站都将Nginx部署进自己的网站系统架构,并解决部分问题.本文是作者长期的实战经验,很有参考价值. 本文是我撰写的关于搭 ...
- Centos7安装32位库用来安装32位软件程序
打算在centos7上安装一个远程控制软件,发现teamviewer只有centos的32位版本,试着安装了一下,各种报错,尝试多次无果.于是试着用向日葵远程控制软件,也报错,貌似也是只支持32位. ...
- shell入门(二)——面试题实例
[~/shell]$ cat one.sh #!/bin/bash path=/root/shell/test.txt if [ ! -f $path ] //检测文件是否存在,如果不存在,把内容改为 ...
- 数学 它的内容,方法和意义 第一卷 (A. D. 亚历山大洛夫 著)
第一章 数学概观 (已看) 1. 数学的特点 2. 算术 3. 几何 4. 算术和几何 5. 初等数学时代 6. 变量的数学 7. 现代数学 8. 数学的本质 9. 数学发展的规律性 第二章 数学分析 ...
- Tensorflow 笔记
TensorFlow笔记-08-过拟合,正则化,matplotlib 区分红蓝点 TensorFlow笔记-07-神经网络优化-学习率,滑动平均 TensorFlow笔记-06-神经网络优化-损失函数 ...
- 我的虚拟机静态IP配置