ElasticSearch是一个文档存储和更多的搜索引擎,我认为ElasticSearch不是监视高维数据的好选择,因为它消耗了大量资源。另一方面,prometheus是一种TSDB,用于捕获高维数据。
任何有经验的人请告诉我什么是容器和服务器监控的最佳工具。
答案 0 :(得分:37)
ELK是一个通用的无SQL堆栈,可以用于监控。我们成功地在生产中部署了一个并将其用于我们监控系统的某些方面。您可以将指标发送到它(如果您愿意)并使用它来监控它们,但它不是专门为此而设计的。它也没有配备警报系统 - 您需要为此设置另一个组件(如Sensu)。
另一方面,Prometheus旨在用于监控。此外,它的度量收集客户端(或其他第三方客户端,如Telegraf及其服务发现选项(如consul)及其警报管理器也是此工作的正确工具。最终,两种解决方案都可以运行,但在我看来,Elasticsearch需要更多的工作和更多的维护(我们发现ES集群很难维护 - 但这取决于您拥有的数据量)。
答案 1 :(得分:7)
我正在使用openshift,我们正在运行这两种工具,两者都有不同的工作。将所有日志记录和发送汇总到弹性搜索中,以便于浏览所有日志记录和类似内容。
我们的prometheus主要用于节点或pod的指标,而且grafana绝对是查看所有prometheus指标的绝佳界面。
答案 2 :(得分:-5)
同意它取决于“高维度”的含义以及容器和服务器监控的含义。您可以使用一些开源监控解决方案,我尝试过Pandora FMS,它们为高环境和分布式架构提供了多种选择,服务器监控主要是基于代理的,但我觉得它有很大的潜力。