请为云托管的应用程序建议一个良好的监控和警报工具

时间:2012-04-09 10:09:23

标签: monitoring zabbix

我正在为我在云端托管的应用程序寻找监控和警报工具。我的应用程序托管在多个服务器上,我想监视所有这些服务器。我有兴趣监控以下内容:

1。服务监控:

  • 检查服务是否已启动。这需要
    • 尝试选择新用户
    • 使用指定的用户名/密码登录应用程序并执行某些步骤,例如搜索等。
  • 监控QoS。搜索和其他一些操作花了多少时间

2。资源监测 监视每个服务器中的以下参数:

  • CPU利用率
  • 平均负载
  • 内存使用
  • 磁盘使用情况
  • IOPS

第3。过程监控

监视一组进程是否正在运行。如果没有运行,请尝试重启它们。 例如:php-fpm,我的应用程序二进制文件,mysql,nginx,smtp等。

4。监控日志文件

  • 我的应用程序的错误日志
  • mysql错误日志
  • MySQL慢查询日志 等

此外,我应该能够通过执行shell命令或编写自己的shell脚本来扩展其用法。

如果发现任何受监控的项目有问题,我应该能够设置警报。我应该能够通过

获得警报
  • 电子邮件
  • 移动短信

监控系统应该保留我想要的时间段的历史记录。因此,在收到警报后,我应该能够登录到 系统和查看过去的数据(比如过去2周)并调查问题。

最重要的是:

该工具应该有一种非常好的方法来管理自己的配置。

  • 配置不应分散在多个位置。所有配置都应存储在集中的位置。将来说,受监控日志文件的路径已更改。我想在我的配置中搜索并替换所有出现的文件。
  • 我应该可以对我的配置进行版本控制。
  • 我想设置一个自动加载所有配置并开始监控的脚本,而不是去手动界面和设置配置。

我正在探索Zabbix,但没有看到令人满意的配置管理方式。我应该试试Nagios吗?还有其他工具吗?

3 个答案:

答案 0 :(得分:1)

可能对您感兴趣的2种较新的云类型监控解决方案是http://logicmonitor.com/http://copperegg.com/

LogicMonitor具有开箱即用的许多要求,因为它可以为您自己的警报进行一些自定义。

CopperEgg / RevealCloud是更基本的系统级监控(CPU,内存,磁盘和网络吞吐量)。它有一个漂亮的抛光界面,比LogicMonitor简单得多。但这就是它。

答案 1 :(得分:1)

好吧,考虑到你用Zabbix标记了这个,我假设你正在考虑这个选项。

我们使用Zabbix监控Amazon EC2实例以及私有openstack云中的实例。它就像“apt-get install zabbix-agent”一样简单。

Zabbix在监控我们的openstack私有云时特别有用。我们让服务器扫描一个ip-range,并根据找到的机器的主机名自动设置检查,警报等。

答案 2 :(得分:0)

Nagios是标准的监控方式之一,可以支持你提出的所有用例(另外,插件可能已经为所有用例编写过了。)