分解一个 prometheus.yml 文件?

分解一个 prometheus.yml 文件?

我正在使用 Prometheus 进行监控,并且有很多配置(我们的 prometheus.yml 主配置文件有 8000 多行)。

我想将其划分为逻辑组,以便更易于阅读。我知道 Prometheus 不支持这一点,我们可以使用 Ansible 等配置管理系统。

有人用他们的 Prometheus 配置文件做过这个吗?如果有,你是怎么做到的?

答案1

Ansible 没有内置模块用于修改 YAML 文件。但你可以使用类似kwoodson.yedit对配置文件进行任何所需的更改。

答案2

Prometheus 只能使用一个主配置文件。它有文件服务发现功能,但仅用于添加目标。如果您想将受监控的目标划分为逻辑组,则可以拥有多个 Prometheus 实例,每个组一个。这样,每个组都有自己的 Prometheus 服务器,因此也有自己的配置文件。还有其他一些优点,例如:

  • 每个组都是独立监控的,所以如果你对监控一个组的 Prometheus 服务器进行维护或者由于某种原因该服务器宕机,其他组不会受到影响;
  • 每个 Prometheus 实例都有自己的 TSDB,因此有助于保持数据库较小,从而提高查询性能;
  • 您可以为每个 Prometheus 实例选择一个最佳位置,即 AZ 或 VPC;
  • 如果你设置了中央控制台,你仍然可以拥有一个中央控制台联邦或者在 Grafana 中构建仪表板以显示来自多个 Prometheus 服务器的指标。

相关内容