第6章 アラートの管理
6.1. 管理者としてアラートを管理する
OpenShift Container Platform では、アラート UI を使用してアラート、サイレンス、およびアラートルールを管理できます。
アラート UI で利用可能なアラート、サイレンス、およびアラートルールは、アクセス可能なプロジェクトに関連付けられます。たとえば、cluster-admin
ロールを持つユーザーとしてログインしている場合は、すべてのアラート、サイレント、およびアラートルールにアクセスできます。
6.1.1. Administrator パースペクティブからのアラート UI へのアクセス
アラート UI には、OpenShift Container Platform Web コンソールの Administrator パースペクティブからアクセスできます。
-
Administrator パースペクティブから、Observe
Alerting に移動します。このパースペクティブのアラート UI には主要なページが 3 つあり、それが Alerts ページ、Silences ページ、Alerting rules ページです。
6.1.2. Administrator パースペクティブからアラート、サイレンス、アラートルールに関する情報を取得する
アラート UI は、アラートおよびそれらを規定するアラートルールおよびサイレンスの詳細情報を提供します。
前提条件
- アラートを表示しているプロジェクトの表示権限を持つユーザーとしてクラスターにアクセスできる。
手順
アラートに関する情報を取得するには、以下を実行します。
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブから、Observe
Alerting Alerts ページに移動します。 - オプション: 検索リストで Name フィールドを使用し、アラートを名前で検索します。
- オプション: Filter リストでフィルターを選択し、アラートを状態、重大度およびソースでフィルターします。
- オプション: 1 つ以上の Name、Severity、State、および Source 列ヘッダーをクリックし、アラートを並べ替えます。
アラートの名前をクリックして、Alert details ページを表示します。このページには、アラートの時系列データを示すグラフが含まれます。アラートに関する次の情報も提供されます。
- アラートの説明
- アラートに関連付けられたメッセージ
- ページが存在する場合、アラートの GitHub の runbook ページへのリンク
- アラートに割り当てられるラベル
- アラートを規定するアラートルールへのリンク
- アラートが存在する場合のアラートのサイレンス
サイレンスの情報を取得するには、以下を実行します。
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブから、Observe
Alerting Silences ページに移動します。 - オプション: Search by name フィールドを使用し、サイレンスを名前でフィルターします。
- オプション: Filter リストでフィルターを選択し、サイレンスをフィルターします。デフォルトでは、Active および Pending フィルターが適用されます。
- オプション: Name、Firing alerts、State、Creator 列のヘッダーを 1 つ以上クリックして、サイレンスを並べ替えます。
サイレンスの名前を選択すると、その Silence details ページが表示されます。このページには、以下の詳細が含まれます。
- アラート仕様
- 開始時間
- 終了時間
- サイレンス状態
- 発生するアラートの数およびリスト
アラートルールについての情報を取得するには、以下を実行します。
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブから、Observe
Alerting Alerting rules ページに移動します。 - オプション: Filter 一覧でフィルターを選択し、アラートルールを状態、重大度およびソースでフィルターします。
- オプション: Name、Severity、Alert State、Source 列のヘッダーを 1 つ以上クリックし、アラートルールを並べ替えます。
アラートルールの名前を選択して、その Alerting rule details ページを表示します。このページには、アラートルールに関する以下の情報が含まれます。
- アラートルール名、重大度、説明
- アラートを発動する条件を定義する式
- 条件が true で持続してアラートが発生するまでの期間
- アラートルールで管理される各アラートのグラフ。アラートが発動される値が表示されます。
- アラートルールで管理されるすべてのアラートを示す表。
6.1.3. サイレンスの管理
OpenShift Container Platform Web コンソールの Administrator パースペクティブでアラートのサイレンスを作成できます。サイレンスを作成した後、それらを表示、編集、および期限切れにすることができます。また、アラートが発生しても、サイレンスが適用されたアラートに関する通知は届きません。
サイレンスを作成すると、それらは Alertmanager Pod 全体に複製されます。ただし、Alertmanager の永続ストレージを設定しないと、サイレンスが失われる可能性があります。これは、たとえば、すべての Alertmanager Pod が同時に再起動した場合に発生する可能性があります。
6.1.3.1. Administrator パースペクティブからアラートをサイレントにする
特定のアラート、または定義する仕様に一致するアラートのいずれかをサイレントにすることができます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。
手順
特定のアラートをサイレントにするには、以下を実行します。
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブから、Observe
Alerting Alerts に移動します。 -
サイレントにするアラートに対して、
をクリックし、Silence alert を選択すると、選択したアラートのデフォルト設定を含む Silence alert ページが開きます。
オプション: サイレンスのデフォルト設定の詳細を変更します。
注記サイレンスを保存する前にコメントを追加する必要があります。
- サイレンスを保存するには、Silence をクリックします。
一連のアラートをサイレントにします。
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブから、Observe
Alerting Silences に移動します。 - Create silence をクリックします。
Create silence フォームで、アラートのスケジュール、期間、およびラベルの詳細を設定します。
注記サイレンスを保存する前にコメントを追加する必要があります。
- 入力したラベルと一致するアラートのサイレンスを作成するには、Silence をクリックします。
6.1.3.2. Administrator パースペクティブからサイレンス設定を編集する
サイレンスを編集すると、既存のサイレンスが期限切れになり、変更された設定で新しいサイレンスが作成されます。
前提条件
-
クラスター管理者の場合は、
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
monitoring-alertmanager-edit
ロール。これにより、Web コンソールの Administrator パースペクティブでアラートを作成して無効にできます。
-
Alertmanager へのアクセスを許可する
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブから、Observe
Alerting Silences に移動します。 変更するサイレンスの
をクリックして Edit silence を選択します。
または、Actions をクリックし、サイレンスの Silence details ページで Edit silence を選択することもできます。
- Edit silence ページで変更を加え、Silence をクリックします。これにより、既存のサイレンスが期限切れになり、更新された設定でサイレンスが作成されます。
6.1.3.3. Administrator パースペクティブからサイレンスの有効期限を設定する
単一のサイレンスまたは複数のサイレンスを期限切れにすることができます。サイレンスを期限切れにすると、そのサイレンスは永久に非アクティブ化されます。
サイレンスが適用された期限切れのアラートは削除できません。120 時間を超えて期限切れになったサイレンスはガベージコレクションされます。
前提条件
-
クラスター管理者の場合は、
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
monitoring-alertmanager-edit
ロール。これにより、Web コンソールの Administrator パースペクティブでアラートを作成して無効にできます。
-
Alertmanager へのアクセスを許可する
手順
-
Observe
Alerting Silences に移動します。 - 期限切れにするサイレンスについては、対応する行のチェックボックスを選択します。
Expire 1 silence をクリックして選択した 1 つのサイレンスを期限切れにするか、Expire <n> silences をクリックして複数の沈黙を期限切れにします (<n> は選択した沈黙の数になります)。
または、単一の沈黙を期限切れにするには、Actions をクリックし、サイレンスの Silence details ページで Expire silence を選択します。
6.1.4. コアプラットフォームモニタリングのアラートルールの管理
OpenShift Container Platform のモニタリングには、プラットフォームメトリクス用のデフォルトのアラートルールが多数用意されています。クラスター管理者は、このルールセットを 2 つの方法でカスタマイズできます。
-
しきい値を調整するか、ラベルを追加および変更して、既存のプラットフォームのアラートルールの設定を変更します。たとえば、アラートの
severity
ラベルをwarning
からcritical
に変更すると、アラートのフラグが付いた問題のルーティングおよびトリアージに役立ちます。 -
openshift-monitoring
プロジェクトのコアプラットフォームメトリクスに基づいてクエリー式を作成することにより、新しいカスタムアラートルールを定義して追加します。
6.1.4.1. 新規アラートルールの作成
クラスター管理者は、プラットフォームメトリクスに基づいて新規のアラートルールを作成できます。これらのアラートルールは、選択したメトリクスの値に基づいてアラートをトリガーします。
-
既存のプラットフォームアラートルールに基づいてカスタマイズされた
AlertingRule
リソースを作成する場合は、元のアラートをサイレントに設定して、競合するアラートを受信しないようにします。 - ユーザーがアラートの影響と原因を理解できるように、アラートルールにアラートメッセージと重大度値が含まれていることを確認します。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
-
example-alerting-rule.yaml
という名前の新しい YAML 設定ファイルを作成します。 AlertingRule
リソースを YAML ファイルに追加します。以下の例では、デフォルトのWatchdog
アラートと同様にexample
という名前の新規アラートルールを作成します。apiVersion: monitoring.openshift.io/v1 kind: AlertingRule metadata: name: example namespace: openshift-monitoring spec: groups: - name: example-rules rules: - alert: ExampleAlert for: 1m expr: vector(1) labels: severity: warning annotations: message: This is an example alert.
apiVersion: monitoring.openshift.io/v1 kind: AlertingRule metadata: name: example namespace: openshift-monitoring
1 spec: groups: - name: example-rules rules: - alert: ExampleAlert
2 for: 1m
3 expr: vector(1)
4 labels: severity: warning
5 annotations: message: This is an example alert.
6 Copy to Clipboard Copied! 重要openshift-monitoring
namespace にAlertingRule
オブジェクトを作成する必要があります。それ以外の場合は、アラートルールが受け入れられません。設定ファイルをクラスターに適用します。
oc apply -f example-alerting-rule.yaml
$ oc apply -f example-alerting-rule.yaml
Copy to Clipboard Copied!
6.1.4.2. コアプラットフォームのアラートルールの変更
クラスター管理者は、Alertmanager がコアプラットフォームアラートをレシーバーにルーティングする前に変更できます。たとえば、アラートの重大度のラベルを変更したり、カスタムラベルを追加したり、アラートの送信から Alertmanager に送信されないようにしたりできます。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
-
example-modified-alerting-rule.yaml
という名前の新しい YAML 設定ファイルを作成します。 AlertRelabelConfig
リソースを YAML ファイルに追加します。以下の例では、デフォルトのプラットフォームwatchdog
アラートルールのseverity
設定をcritical
に変更します。apiVersion: monitoring.openshift.io/v1 kind: AlertRelabelConfig metadata: name: watchdog namespace: openshift-monitoring spec: configs: - sourceLabels: [alertname,severity] regex: "Watchdog;none" targetLabel: severity replacement: critical action: Replace
apiVersion: monitoring.openshift.io/v1 kind: AlertRelabelConfig metadata: name: watchdog namespace: openshift-monitoring
1 spec: configs: - sourceLabels: [alertname,severity]
2 regex: "Watchdog;none"
3 targetLabel: severity
4 replacement: critical
5 action: Replace
6 Copy to Clipboard Copied! 重要openshift-monitoring
namespace にAlertRelabelConfig
オブジェクトを作成する必要があります。それ以外の場合は、アラートラベルが変更しません。設定ファイルをクラスターに適用します。
oc apply -f example-modified-alerting-rule.yaml
$ oc apply -f example-modified-alerting-rule.yaml
Copy to Clipboard Copied!
6.1.5. ユーザー定義プロジェクトのアラートルールの管理
OpenShift Container Platform では、ユーザー定義プロジェクトのアラートルールを作成、表示、編集、削除できます。これらのアラートルールは、選択したメトリクスの値に基づいてアラートをトリガーします。
6.1.5.1. ユーザー定義プロジェクトのアラートルールの作成
ユーザー定義のプロジェクトに対してアラートルールを作成できます。これらのアラートルールは、選択したメトリクスの値に基づいてアラートをトリガーします。
- アラートルールを作成すると、別のプロジェクトに同じ名前のルールが存在する場合でも、そのルールにプロジェクトラベルが適用されます。
- ユーザーがアラートの影響と原因を理解できるように、アラートルールにアラートメッセージと重大度値が含まれていることを確認します。
前提条件
- ユーザー定義プロジェクトのモニタリングが有効になっている。
-
アラートルールを作成するプロジェクトのクラスター管理者または
monitoring-rules-edit
クラスターロールを持つユーザーとしてログインする。 -
OpenShift CLI (
oc
) がインストールされている。
手順
-
アラートルールの YAML ファイルを作成します。この例では、
example-app-alerting-rule.yaml
という名前です。 アラートルール設定を YAML ファイルに追加します。以下の例では、
example-alert
という名前の新規アラートルールを作成します。アラートルールは、サンプルサービスによって公開されるversion
メトリクスが0
になるとアラートを実行します。apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: example-alert namespace: ns1 spec: groups: - name: example rules: - alert: VersionAlert for: 1m expr: version{job="prometheus-example-app"} == 0 labels: severity: warning annotations: message: This is an example alert.
apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: example-alert namespace: ns1 spec: groups: - name: example rules: - alert: VersionAlert
1 for: 1m
2 expr: version{job="prometheus-example-app"} == 0
3 labels: severity: warning
4 annotations: message: This is an example alert.
5 Copy to Clipboard Copied! 設定ファイルをクラスターに適用します。
oc apply -f example-app-alerting-rule.yaml
$ oc apply -f example-app-alerting-rule.yaml
Copy to Clipboard Copied!
6.1.5.2. 単一ビューでのすべてのプロジェクトのアラートルールのリスト表示
クラスター管理者は、OpenShift Container Platform のコアプロジェクトおよびユーザー定義プロジェクトのアラートルールを単一ビューでリスト表示できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブから、Observe
Alerting Alerting rules に移動します。 Filter ドロップダウンメニューで、Platform および User ソースを選択します。
注記Platform ソースはデフォルトで選択されます。
6.1.5.3. ユーザー定義プロジェクトのアラートルールの削除
ユーザー定義プロジェクトのアラートルールを削除できます。
前提条件
- ユーザー定義プロジェクトのモニタリングが有効になっている。
-
アラートルールを作成するプロジェクトのクラスター管理者または
monitoring-rules-edit
クラスターロールを持つユーザーとしてログインする。 -
OpenShift CLI (
oc
) がインストールされている。
手順
<
namespace>
を削除するには、以下を実行します。; のルール <alerting_rule
>oc -n <namespace> delete prometheusrule <alerting_rule>
$ oc -n <namespace> delete prometheusrule <alerting_rule>
Copy to Clipboard Copied!