4

次のような Prometheus ルール ファイル:

groups:
- name: ./example.rules
  rules:
  - alert: ExampleAlert
    expr: vector(1)

Kubernetes prometheus-operator には、yaml 構成データの追加レイヤーが必要で、次のようになります。

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
  creationTimestamp: null
  labels:
    prometheus: example
    role: alert-rules
  name: prometheus-example-rules
spec:
  groups:
  - name: ./example.rules
    rules:
    - alert: ExampleAlert
      expr: vector(1)

以前の生の Prometheus ルール形式を使用するファイルでは、Prometheusを使用promtoolして単体テストを実行できます。(下のリンク 3 を参照)

後者の拡張された PrometheusRule 形式を使用するファイルを使用するkubectl apply -f prometheus_rule_file.yamlと、prometheus-operator インストールにルールをロードするために使用できます。

これらのファイル形式のいずれかでルールを作成および維持し、同じルール ファイルを promtool の単体テスト システムで使用し、同じルールを prometheus-operator インストールにロードできるようにしたいと考えています。これを行う簡単な方法がわかりません。

生の Prometheus ルール形式を使用してルールを作成し、それを prometheus-operator PrometheusRule にロードする方法はありますか?別の冗長な yaml ファイルを維持したり、それを変換するためのカスタマイズされたツールを作成したりする必要はありません。

  1. https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
  2. https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/alerting.md
  3. https://prometheus.io/docs/prometheus/latest/configuration/unit_testing_rules/
4

1 に答える 1