为多个 servers/services 实施监视器的最佳方式
Best way to implement a monitor for multiple servers/services
我想创建一个监视器,负责跟踪一堆不同的 VM(几乎总是基于 ubuntu)。我计划通过发送请求进行测试,以及测试某些服务是否在特定 VM 上 运行(这可能需要某种 ssh 组件?)。此数据将通过 REST API 发送到 cachethq 实例。
我将监控的一些服务包括:Jira、Confluence、Jenkins(和从属节点),以及其他一些 Atlassian 套件产品。
我正在考虑在 python 中写一些可以做到这一点的东西。有没有人有任何其他更好的建议?
谢谢
假设您设置了监控服务器来执行您描述的所有监控。然后你的监控服务器下线。你将如何发现?
解决这个递归监控问题将花费你比你估计的更多的时间,这就是为什么构建自己的监控解决方案几乎没有意义。
我会使用便宜的灵活正常运行时间监控器(我偏向 https://wdt.io),在您的 VM 上设置 cron 作业来测试您的服务,然后 curl 一个独特的 URL正常运行时间监视器。如果服务宕机,卷曲不会发生,监视器会提醒你。
那些带有 web gui 的服务,您可以通过定期 ping 相应的 URL 直接使用正常运行时间监视器进行监视。
根据我的经验,我认为有必要进行内部 VM 监控(监控应用程序、端口状态、主机活动、CPU、RAM...)以及通过用户体验进行外部监控( selenium ) 和远程检查。
所有这些信息都可以通过脚本或远程执行提取,但是当有应用程序为我们提供所有这些信息时,我们为什么要处理它呢?
您可以找到带有软件可用代理的 Pandora FMS (http://pandorafms.org/en/features/monitoring-software/) 等社区应用程序,您可以自动提取所有系统信息,并使用简单的命令获取 Jira、Confuence... 状态。它还允许您向所有这些 VM 添加自定义脚本和远程检查......
看看
Nagios 是一种灵活且可扩展的基础设施监控工具。它允许您编写自己的脚本来检查您需要检查的任何内容。
我相信有带 UI 的付费版本,但您可以免费获得 IIRC 的基本版本。
我想创建一个监视器,负责跟踪一堆不同的 VM(几乎总是基于 ubuntu)。我计划通过发送请求进行测试,以及测试某些服务是否在特定 VM 上 运行(这可能需要某种 ssh 组件?)。此数据将通过 REST API 发送到 cachethq 实例。
我将监控的一些服务包括:Jira、Confluence、Jenkins(和从属节点),以及其他一些 Atlassian 套件产品。
我正在考虑在 python 中写一些可以做到这一点的东西。有没有人有任何其他更好的建议?
谢谢
假设您设置了监控服务器来执行您描述的所有监控。然后你的监控服务器下线。你将如何发现?
解决这个递归监控问题将花费你比你估计的更多的时间,这就是为什么构建自己的监控解决方案几乎没有意义。
我会使用便宜的灵活正常运行时间监控器(我偏向 https://wdt.io),在您的 VM 上设置 cron 作业来测试您的服务,然后 curl 一个独特的 URL正常运行时间监视器。如果服务宕机,卷曲不会发生,监视器会提醒你。
那些带有 web gui 的服务,您可以通过定期 ping 相应的 URL 直接使用正常运行时间监视器进行监视。
根据我的经验,我认为有必要进行内部 VM 监控(监控应用程序、端口状态、主机活动、CPU、RAM...)以及通过用户体验进行外部监控( selenium ) 和远程检查。 所有这些信息都可以通过脚本或远程执行提取,但是当有应用程序为我们提供所有这些信息时,我们为什么要处理它呢? 您可以找到带有软件可用代理的 Pandora FMS (http://pandorafms.org/en/features/monitoring-software/) 等社区应用程序,您可以自动提取所有系统信息,并使用简单的命令获取 Jira、Confuence... 状态。它还允许您向所有这些 VM 添加自定义脚本和远程检查...... 看看
Nagios 是一种灵活且可扩展的基础设施监控工具。它允许您编写自己的脚本来检查您需要检查的任何内容。
我相信有带 UI 的付费版本,但您可以免费获得 IIRC 的基本版本。