第2章 可観測性のカスタマイズ
可観測性サービスが収集するデータのカスタマイズ、管理、および表示については、以下のセクションを参照してください。
must-gather
コマンドで可観測性リソース用に作成される新規情報についてのログを収集します。詳細は、トラブルシューティング ドキュメントの Must-gather セクションを参照してください。
2.1. カスタムルールの作成
可観測性リソースに、Prometheus レコードルール および アラートルール を追加して、可観測性インストールのカスタムルールを作成します。
- レコードルールでは、必要に応じてコストの掛かる式を事前に計算するか、コンピュートできます。結果は新たな時系列のセットとして保存されます。
アラートルールでは、アラートを外部サービスに送信する方法に基づいてアラート条件を指定する機能を提供します。
Prometheus でカスタムルールを定義してアラート条件を作成し、通知を外部メッセージングサービスに送信します。
注記: カスタムルールを更新すると、
observability-thanos-rule
Pod は自動的に再起動されます。open-cluster-management-observability
namespace にthanos-ruler-custom-rules
という名前の ConfigMap を作成します。以下の例のように、キーはcustom_rules.yaml
という名前を指定する必要があります。設定には、複数のルールを作成できます。デフォルトでは、同梱のアラートルールは
open-cluster-management-observability
namespace のthanos-ruler-default-rules
ConfigMap に定義されます。たとえば、CPU の使用状況が定義値を超えた場合に通知するカスタムのアラートルールを作成できます。YAML の内容は以下のようになります。
data: custom_rules.yaml: | groups: - name: cluster-health rules: - alert: ClusterCPUHealth-jb annotations: summary: Notify when CPU utilization on a cluster is greater than the defined utilization limit description: "The cluster has a high CPU usage: {{ $value }} core for {{ $labels.cluster }} {{ $labels.clusterID }}." expr: | max(cluster:cpu_usage_cores:sum) by (clusterID, cluster, prometheus) > 0 for: 5s labels: cluster: "{{ $labels.cluster }}" prometheus: "{{ $labels.prometheus }}" severity: critical
thanos-ruler-custom-rules
ConfigMap 内にカスタムの録画ルールを作成することもできます。たとえば、Pod のコンテナーメモリーキャッシュの合計を取得できるようにする記録ルールを作成することができます。YAML の内容は以下のようになります。
data: custom_rules.yaml: | groups: - name: container-memory rules: - record: pod:container_memory_cache:sum expr: sum(container_memory_cache{pod!=""}) BY (pod, container)
注記: これが最初の新規カスタムルールである場合には、すぐに作成されます。ConfigMap に変更が加えられると、設定は自動的に再読み込みされます。この設定は、
observability-thanos-ruler
サイドカー内のconfig-reload
により再読み込みされます。
アラートルールが正しく機能していることを確認するには、Grafana ダッシュボードを起動し、Explore ページに移動し、ALERTS
にクエリーを実行します。アラートは、アラートが開始された場合に Grafana でのみ利用できます。