问题 - 我在 13 台不同的服务器上运行 Logstash,但我不知道这些 java 进程当前的 CPU 和内存消耗是多少。
当然,我可以打开 Perfmon 并连接到这 13 台不同的服务器,并显示不同的性能计数器……理论上是这样。但实际上,这几乎行不通。
那么,方法是什么?如何明智地做到这一点?
答案1
处理此问题的方法是使用从集中位置监控服务器的监控工具。
不同的监控工具以不同的方式工作。有些使用必须安装在每台服务器上的代理。有些使用 SNMP。(从技术上讲,这也需要代理,但 SNMP 在几乎所有服务器平台上都很常见。)它们通常利用所监控平台的原生协议和管理机制来帮助它们收集性能和健康数据。(例如,适用于 Windows 的 WMI。)
这个想法是,无论监控软件选择如何收集数据(我所说的“数据”是指性能计数器、有关计算机运行情况的统计数据),所有数据都会从所有不同的服务器汇总并存储在一个集中式存储库/数据库中,然后会有一个与该软件产品一起提供的“仪表板”或“管理控制台”应用程序,允许您以“单一玻璃窗格”的方式查看数据。
这是一个非常通用的答案,但这是我在不将其变成产品推荐线程的情况下能想到的全部答案。
答案2
正如 Ryan 所说,有几种监控工具可以监控您想要的内容。您要求推荐一些产品,所以我将告诉您我用来监控的内容。
我的解决方案是 Pandora FMS,这是一个集中式监控工具,可以通过多种方式获取您想要的数据。也许使用 Windows 系统中包含的 WMI 协议或在服务器中安装一些代理。SNMP 也是一个不错的选择。看看他们的网络。
为了给您提供更多选择,您可以选择 Nagios 或 Zabbix,但还有更多。
希望这能有所帮助!