普罗米修斯与弹性搜索。容器和服务器监控哪个更好?

Prometheus vs ElasticSearch. Which is better for container and server monitoring?

ElasticSearch 是一个文档存储,更像是一个搜索引擎,我认为 ElasticSearch 不是监控高维数据的好选择,因为它会消耗大量资源。另一方面,prometheus 是一个 TSDB,专为捕获高维数据而设计。

任何有这方面经验的人请告诉我什么是容器和服务器监控的最佳工具。

同意这取决于您所说的 "high dimensional" 以及容器和服务器监控的含义。您可以使用一些开源监控解决方案,我已经尝试过 Pandora FMS,它们为高环境和分布式架构提供了多种选择,服务器监控主要是基于代理的,但我觉得它有很大的潜力。

ELK 是一个通用的无-sql 堆栈,可以 用于监控。我们已经在生产环境中成功部署了一个,并将其用于我们监控系统的某些方面。您可以将指标发送到其中(如果您愿意)并使用它来监控它们,但它并不是专门为此设计的。非商业版(7.9 版)也不附带警报系统 - 您需要为此设置另一个组件(如 Sensu)或支付 ES 商业许可证。

另一方面,Prometheus 被设计用于监控。连同其指标收集客户端(或其他第 3 方客户端,如 Telegraf 及其服务发现选项(如 consul)及其警报管理器,正是完成这项工作的正确工具。

最终,这两种解决方案都可以工作,但在我看来,Elasticsearch 将需要更多的工作和更多的维护(我们发现 ES 集群很难维护 - 但这取决于您将拥有的数据量)。

我正在使用 openshift,我们 运行 都是工具,而且都有不同的工作。将所有日志记录和传送到弹性搜索,以便于浏览所有日志记录和类似内容。

我们的 prometheus 主要用于节点或 pods 的指标,而 grafana 无疑是一个很好的界面,可以肯定地查看所有 prometheus 指标。