如何使用 Prometheus 正确监控所有 ELK 组件?

How to properly monitor all ELK components with Prometheus?

我想监控我们 kubernetes 集群中的所有 ELK 服务 运行 以确保它仍然 运行 正常。

我可以通过 URL 监控 Kibana 门户。 ElasticSearch 通过 Prometheus 和他的指标(ES 有一些感兴趣的指标可以肯定,ES 运行良好)。

但 Filebeat、Logstash 等是否存在类似的东西?这些守护进程是否为普罗米修斯公开了一些指标,可以观察和分析它的状态?

非常感谢您的所有提示。

是的,beats 和 logstash 都有用于监控的指标端点。

这些监控端点是为使用 metricbeat 使用而构建的,但由于它们 return json 您可以使用其他工具来监控它。

对于 logstash,默认情况下启用指标端点,在端口 9600 上侦听 localhost,并且从 documentation 您有这两个端点:

  • 节点
  • node_stats

对于 beats 系列,您需要启用它,就像您使用 metricbeat 使用指标一样,此 documentation 解释了如何执行此操作。

那么你将有两个端点:

  • 统计数据
  • 状态

所以您只需要使用这些端点来收集指标。

这里有一个 ElasticSearch 导出器:https://github.com/prometheus-community/elasticsearch_exporter and an exporter for Kibana found here: https://github.com/pjhampton/kibana-prometheus-exporter这将使您的 Prometheus 能够抓取端点并收集指标。

我们还在 OpenSearch 内部开发一个新的分析器,它将提供更详细的指标并修复大量错误。这也将在本地为 Prometheus 提供一个导出器来抓取:https://github.com/opensearch-project/OpenSearch/issues/539 你可以在这里跟进,如果你正在寻找 ElasticSearch 和 Kibana 的开源替代品,它正在积极开发中。