Zabbix:如何实现有效项目的1秒间隔?

它甚至可能/推荐?

我们正在尝试设置几个configuration为1秒间隔的活动项目。 然而,这些项目没有保持期望的时间间隔,而是我们每约30秒收集一个值(如相应的图表所示)。

在客户端用一个简单的“echo 1”作为用户参数来testing上面的内容,应该每隔1秒发送一次,而不是延迟。 我们在服务器上部署了一个客户端,其中一个项目的configuration方式与上面相同,每秒都会成功收集一个项目。

我们的Zabbix设置是比较新的,因此底层的MySQL数据库是相当小的,我们没有那么多的客户端/项目。 服务器在Linux VM中运行,而客户机在专用Linux主机上(不在本地networking上)运行。

我们查看了服务器/客户端上的configuration文件,但没有看到什么可以帮助我们实现这一点(除了添加更多的捕获器)。 这似乎不是一个连接问题,因为客户端缓冲区应该克服这个问题。

  • 可能是这种行为的原因是什么?
  • 如何find瓶颈? Zabbix服务器统计数据可以看到什么?
  • 硬件是最重要的因素吗?
  • MySQL优化是强制性的吗?

不能发布更多的链接,所以这里是我们看的东西:

  • Zabbix参考手册中的性能调整页面
  • 阿列克谢Vladishev zabbix性能调整幻灯片(在幻灯片上find)

感谢@Richlv ,经过一些testing(见评论),我们发现这个问题。 由于活动项目是按顺序处理的,并且这些项目后面的命令可能需要一点时间才能返回,因此为每个项目产生了一些延迟叠加 ,代理正在对所有项目进行最佳循环。

由于无法对活动项目进行并行处理,因此可能的解决scheme如下:

  • 增加活动项目的时间间隔
  • 使用zabbix_sender手动执行该工作(可能还需要实现与活动项目一起提供的客户端缓冲区)
  • 也许另一种方法是使用日志文件监视
  • 在同一个客户机上运行2个代理,从而build立并行进程,明智地传播活动项目(虽然不是很好的解决scheme)
  • 提高活动项目背后命令的性能和/或减less最坏情况下的时间(例如超时) – 我们做了什么