第4章 可観測性設定のカスタマイズ
可観測性を有効にした後、環境の特定のニーズに合わせて可観測性設定をカスタマイズします。
可観測性サービスが収集するクラスターフリートデータを管理および表示する方法の詳細は、次のセクションをお読みください。
必要なアクセス権限: クラスターの管理者
4.1. カスタムルールの作成 リンクのコピーリンクがクリップボードにコピーされました!
可観測性リソースに、Prometheus レコードルール および アラートルール を追加して、可観測性インストールのカスタムルールを作成します。
負荷の高い式を事前計算するには、記録ルール機能を使用します。結果は新たな時系列のセットとして保存されます。アラートルールを使用すると、外部サービスにアラートを送信する方法に基づいてアラート条件を指定できます。
注記: カスタムルールを更新すると、observability-thanos-rule Pod が自動的に再起動します。
Prometheus でカスタムルールを定義してアラート条件を作成し、通知を外部メッセージングサービスに送信します。以下のカスタムルールの例を確認してください。
カスタムアラートルールを作成します。
open-cluster-management-observability名前空間にthanos-ruler-custom-rulesという名前の config map を作成します。以下の例のように、custom_rules.yamlキーに名前を付ける必要があります。設定には、複数のルールを作成できます。- 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+
-
デフォルトのアラートルールは、
open-cluster-management-observabilitynamespace のthanos-ruler-default-rulesconfig map にあります。
thanos-ruler-custom-rulesconfig map 内にカスタム記録ルールを作成します。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)注記: config map に変更を加えた後、設定は自動的に再読み込みされます。この設定は、
observability-thanos-rulerサイドカー内のconfig-reloadにより、設定が再読み込みされます。-
アラートルールが正しく機能していることを確認するには、Grafana ダッシュボードに移動し、Explore ページを選択して、
ALERTSにクエリーを実行します。アラートを作成した場合、アラートは Grafana でのみ使用できます。