Prometheus中配置文件的替代方案



我想在一个小组织中实现监视系统。我有Zabbix的经验,但是我正在考虑Prometheus,因为它背后有一个很大的社区,这几乎是今天的标准(如果我错了,请纠正我)。

但是,我想知道如何处理刮擦的所有配置并在配置文件中提醒规则,而在Zabbix中的Web UI中发出警报。我的意思是,10-20个警报可能还可以,但是例如,使用20种不同的服务和1000种不同的警报,它如何可管理?也许有一个解决方案我只是错过了?在Zabbix中,管理所有内容非常方便,因为它是UI,并且所有内容都分为组(主机组,模板等)

我会感谢您的见解。

Prometheus是一个引人注目的解决方案,值得一提的是 - 具有相当大的动力。为了完整,我敦促您考虑普罗米修斯可能需要的其他更改,因为您确定是否适合您从现有解决方案中切换。这将是您应该准备的许多更改之一。

我不知道为什么Prometheus的开发人员采取了配置的道路,但我会给您一个模型的好处。通过要求配置以(YAML)配置文件写入,您可以像其他来源一样将这些配置提交给源控制和管理对这些文件的更改。这是"基础架构作为代码"的宗旨,对此有很多好处。

现在,UI控制台工具可以为您编写更改对您的配置文件,然后您可以像以前一样使用源控件来管理这些文件。但是,此功能在核心解决方案中不可用。

您可能会感兴趣的一种设施是,您不需要重新启动Prometheus或AlertMananger,而您不需要更改其配置。您可以更改配置,然后将POST更改为服务的/-/reload端点,并且服务将刷新配置。

请参阅:

https://prometheus.io/docs/prometheus/latest/configuration/configuration/https://prometheus.io/docs/alerting/configuration/

还请参见这篇有用的文章,该文章说明了如何在更改目标列表时自动刷新其配置:

https://www.robustperception.io/using-json-file-service-discovery-with-prometheus

zabbix和Prometheus都是强大的监视工具。Zabbix基于host,因此在host上组织的所有内容。您可以从主机组导航到主机,然后从主机导航到公制,警报,仪表板等。Zabbix的Web UI很简单,易于学习和使用。

Prometheus基于度量。普罗米修斯的优势非常灵活。所有内容均以YAML格式的配置文件定义,例如Scrape Config,提醒规则配置等。对于遵循Observability as Code工作流的团队而言,这非常方便。

那么,是否有一个工具将Web UI带到Prometheus?用户可以使用WebUI以简单的方式管理警报规则和仪表板。我建议一种使用Nightingale项目在Webui中管理Prometheus的简便方法。典型的屏幕截图看起来像鲍泽:

  • https://n9e.github.io/images/intro/rule-config.png
  • https://n9e.github.io/images/intro/integrations.png

最新更新