如何以毫秒为单位而不是分钟为单位存储从Zabbix代理收集的数据指标

时间:2019-03-26 12:57:40

标签: monitoring zabbix

我想要不同的数据指标,例如CPU利用率,Zabbix代理的内存利用率(毫秒级分辨率),而不是分钟分辨率。

我正在使用Zabbix Python API从Mysql Zabbix数据库检索指标,并注意到数据以分钟分辨率存储,如下所示:

Sl.NO Date                            Value

 1   Monday, March 25, 2019 04:22:07  0.0700
 2   Monday, March 25, 2019 04:23:07  0.0600
 3   Monday, March 25, 2019 04:24:07  0.1400
 4   Monday, March 25, 2019 04:25:07  0.2700
 5   Monday, March 25, 2019 04:26:07  0.2400
 6   Monday, March 25, 2019 04:27:07  0.1800
 7   Monday, March 25, 2019 04:28:07  0.1600
 8   Monday, March 25, 2019 04:29:07  0.1700
 9   Monday, March 25, 2019 04:30:07  0.0600
 10  Monday, March 25, 2019 04:31:07  0.0600
 11  Monday, March 25, 2019 04:32:07  0.1300

在Zabbix中是否可以以毫秒(或纳秒)的分辨率存储数据指标。如果是,我应该怎么做。

1 个答案:

答案 0 :(得分:1)

根据项目上定义的更新间隔检索并存储数据,在您的示例中为60秒。

您的更新间隔不能少于1秒,请参见documentation

  

更新间隔:每N秒为此项目获取一个新值

考虑到这一点,我始终使用分钟为单位的更新间隔,在某些情况下为30秒。

如果不是“自动DoS”,那么更频繁的更新间隔通常是一个大问题,让我们举一个虚幻的示例:每秒从10台主机读取1000个值意味着每秒10000次插入数据库,每天有10000 * 86400 * 90字节的存储空间(请参阅here)...然后您必须阅读并分析大量数据!

当然,我没有考虑Zabbix代理的负载,服务器将在监视系统的负载下被压碎。

真正认真地计划更新间隔,包括代理负载和服务器负载,存储的IOPS容量,数据保留等。requirement文档详细介绍了它们。