我想要不同的数据指标,例如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中是否可以以毫秒(或纳秒)的分辨率存储数据指标。如果是,我应该怎么做。
答案 0 :(得分:1)
根据项目上定义的更新间隔检索并存储数据,在您的示例中为60秒。
您的更新间隔不能少于1秒,请参见documentation:
更新间隔:每N秒为此项目获取一个新值
考虑到这一点,我始终使用分钟为单位的更新间隔,在某些情况下为30秒。
如果不是“自动DoS”,那么更频繁的更新间隔通常是一个大问题,让我们举一个虚幻的示例:每秒从10台主机读取1000个值意味着每秒10000次插入数据库,每天有10000 * 86400 * 90字节的存储空间(请参阅here)...然后您必须阅读并分析大量数据!
当然,我没有考虑Zabbix代理的负载,服务器将在监视系统的负载下被压碎。
真正认真地计划更新间隔,包括代理负载和服务器负载,存储的IOPS容量,数据保留等。requirement文档详细介绍了它们。