我正在为托管在云中的应用程序寻找监控和警报工具。我的应用程序托管在多个服务器上,我想监控所有这些服务器。我有兴趣监视以下内容:
1、服务监控:
- 检查服务是否启动。这需要
- 尝试注册一个新用户
- 使用给定的用户名/密码登录应用程序并执行某些步骤,如搜索等。
- 监控服务质量。搜索和其他一些操作需要多少时间
2.资源监控 监控每台服务器的以下参数:
- CPU 利用率
- 平均负载
- 内存使用情况
- 磁盘使用情况
- IOPS
3.过程监控
监视一组进程是否正在运行。如果没有运行,请尝试重新启动它们。例如:php-fpm、我的应用程序二进制文件、mysql、nginx、smtp 等。
4.监控日志文件
- 我的应用程序的错误日志
- mysql错误日志
- MySQL慢查询日志等。
此外,我应该能够通过执行 shell 命令或编写自己的 shell 脚本来扩展它的用途。
如果发现任何受监控的项目有问题,我应该能够设置警报。我应该能够通过
- 电子邮件
- 手机短信
监控系统应该在我想要的时间段内保持历史记录。因此,在收到警报后,我应该能够登录系统并查看过去的数据(比如过去 2 周)并调查问题。
最重要的:
该工具应该有一个很好的方法来管理自己的配置。
- 配置不应分散在多个地方。所有配置都应该存储在一个集中的地方。将来说,受监视的日志文件的路径已更改。我想在我的配置中搜索并替换该文件的所有出现。
- 我应该能够对我的配置进行版本控制。
- 我不想去网络界面手动设置配置,我想设置一个脚本来自动加载所有配置并开始监控。
我正在探索 Zabbix,但没有看到令人满意的配置管理方式。我应该尝试 Nagios 吗?还有什么工具?