我们目前正在将监控解决方案从 OneSight 转换为 Zabbix。我们已启动并运行 Zabbix,并监控硬件、性能计数器和软件错误。我们使用 OneSight 进行合成事务,这些事务涉及大量 HTTP POST、表达式匹配和多个原点。Zabbix 的内置网络检查对我们来说太费力了。
哪些综合事务解决方案可以与 Zabbix 集成或良好协作?
我们开始关注 Gomez、Dotcom-Monitor,并保留 OneSight,但只用于合成。感谢您的帮助!
答案1
我使用了 JMeter、Zabbix 和 Splunk 来实现这一点,有一篇博客文章介绍了我如何设置它http://engineering.navinet.net/?p=322。我将简单解释一下这一切是如何运作的。
本质上,我们使用 JMeter 记录执行应用程序中各种事务/流程所需的各种 HTTP 请求,然后使用虚拟用户运行这些请求。作为此测试计划的一部分,我们创建了自己的 Beanshell Sampler 脚本,该脚本在每次请求后执行。此脚本创建了 Sys Log 格式的消息,其中包含有关 URL 命中、状态代码、时间等的详细信息以及 Header 变量。在内部,我们使用 Splunk 来存储和查询机器数据(例如事件日志等),因此我们使用 Sampler 脚本将数据发送到 Splunk。
使用 Splunk 中的功能,我们能够创建可视化仪表板和图表,报告每次执行的持续时间并显示错误计数等。我们还设置了一些定期运行的报告,并在以下情况下通过电子邮件发送:
- 执行某个步骤的时间超过了定义的阈值(基于定义窗口内的平均值)
- 在给定的时间范围内未找到某些步骤的数据
然后,我们使用 Zabbix 定期启动 JMeter 测试计划,使用其用户参数功能,并让其跟踪执行过程中发生错误的时间。这样,执行过程中发生错误时,系统就会通知我们,我们可以使用 Splunk 进行调试。
如果您有兴趣,我可以转发一些截图或脚本来帮助人们入门。
答案2
您看过 AlertFox 和 Browsermob 了吗?在我看来,在综合交易监控方面,这两个是最好的。您可以轻松编写复杂交易脚本,而且价格合理。两者都可以作为外部检查与 Zabbix、Nagios 等集成。
答案3
如果您想要免费/开源工具,您应该检查 SeleniumIDE 和 Jmeter 软件。
在工作中,我们使用 JMeter (http://jmeter.apache.org/) 用于负载和自定义测试。
我相信 Selenium IDE(http://seleniumhq.org/projects/ide/) 也应该能起到作用。
它们是最完整的Web监控开源工具,您可以使用zabbix_sender将结果发送到Zabbix。