次のような 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 ファイルを維持したり、それを変換するためのカスタマイズされたツールを作成したりする必要はありません。