我想在一个小型组织中实施监视系统。 我有使用Zabbix的经验,但是我正在考虑Prometheus,因为似乎背后有一个庞大的社区,并且这几乎是当今的标准(如果我错了,请纠正我)。
但是,我想知道如何方便地在配置文件中而不是像Zabbix这样的Web UI中处理所有抓取和警报规则的配置。我的意思是,对于10到20条警报可能没问题,但是例如,如何用20种不同的服务和1000种不同的警报来管理它呢?也许有我刚刚错过的解决方案?在Zabbix中,管理所有内容非常方便,因为它是UI,并且所有内容都将归入组(主机组,模板等)
感谢您的见识。
答案 0 :(得分:0)
普罗米修斯是一个引人注目的解决方案,当之无愧地拥有巨大的发展动力。为了完整起见,我敦促您在确定是否适合从现有解决方案切换时,考虑Prometheus可能需要进行的其他更改。这将是您应该准备的许多更改之一。
我不知道为什么Prometheus的开发人员会采用他们进行配置的方法,但是我会给您带来该模型的一个好处。通过要求将配置写入(YAML)配置文件中,您可以将这些配置提交到源代码管理中,并像对其他源代码一样管理对这些文件的更改。这是“将基础结构作为代码”的宗旨,并且有很多好处。
现在,也确实是UI控制台工具可以为您将更改写入配置文件,然后您可以像以前一样使用源代码管理来管理这些文件。但是,此功能在核心解决方案中不可用。
您可能会感兴趣的一种功能是,在更改其配置时,无需重新启动prometheus或alertmananger。您可以更改配置,然后POST
到服务的/-/reload
端点,服务将刷新配置。
请参阅:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/ https://prometheus.io/docs/alerting/configuration/
另请参阅这篇有用的文章,其中介绍了对目标列表进行更改时如何使Prometheus自动刷新其配置:
https://www.robustperception.io/using-json-file-service-discovery-with-prometheus