6.2. 開発者としてのアラートの管理
OpenShift Container Platform では、アラート UI を使用してアラート、サイレンス、およびアラートルールを管理できます。
アラート UI で利用可能なアラート、サイレンス、およびアラートルールは、アクセス可能なプロジェクトに関連付けられます。
6.2.1. 開発者パースペクティブからのアラート UI へのアクセス
アラート UI は、OpenShift Container Platform Web コンソールの Developer パースペクティブからアクセスできます。
- Developer パースペクティブから、Observe に移動し、Alerts タブに移動します。
- Project: 一覧から、アラートを管理するプロジェクトを選択します。
このパースペクティブのアラートでは、サイレンスおよびアラートルールはすべて Alerts タブで管理されます。Alerts タブに表示される結果は、選択したプロジェクトに固有のものです。
Developer パースペクティブでは、コア OpenShift Container Platform と、Project: <project_name> リスト内のアクセス可能なユーザー定義プロジェクトから選択できます。ただし、クラスター管理者としてログインしていない場合、コア OpenShift Container Platform プロジェクトに関連するアラート、サイレンス、およびアラートルールは表示されません。
6.2.2. Developer パースペクティブからのアラート、サイレンスおよびアラートルールについての情報の取得
アラート UI は、アラートおよびそれらを規定するアラートルールおよびサイレンスの詳細情報を提供します。
前提条件
- アラートを表示しているプロジェクトの表示パーミッションを持つユーザーとしてクラスターにアクセスできる。
手順
アラート、サイレンスおよびアラートルールについての情報を取得するには、以下を実行します。
-
OpenShift Container Platform Web コンソールの Developer パースペクティブから、Observe
< project_name> Alerts ページに 移動します。 アラート、サイレンス、またはアラートルールの詳細を表示します。
- Alert details を表示するには、アラート名の横にある大なり記号 (>) をクリックし、リストからアラートを選択します。
Silence details を表示するには、Alert details ページの Silenced by セクションでサイレンスを選択します。Silence details ページには、以下の情報が含まれます。
- アラート仕様
- 開始時間
- 終了時間
- サイレンス状態
- 発生するアラートの数およびリスト
- アラートルールの詳細 を表示するには、Alerts ページでアラートの横にある メニューをクリックし、View Alerting Rule をクリックします。
選択したプロジェクトに関連するアラート、サイレンスおよびアラートルールのみが Developer パースペクティブに表示されます。
関連情報
- Cluster Monitoring Operator ランブック (Cluster Monitoring Operator GitHub リポジトリー)
6.2.3. サイレンスの管理
Developer パースペクティブの OpenShift Container Platform Web コンソールでアラートのサイレンスを作成できます。サイレンスを作成した後、それらを表示、編集、および期限切れにすることができます。また、アラートの実行時にサイレントアラートについての通知を受信しません。
サイレンスを作成すると、それらは Alertmanager Pod 全体に複製されます。ただし、Alertmanager の永続ストレージを設定しないと、サイレンスが失われる可能性があります。これは、たとえば、すべての Alertmanager Pod が同時に再起動した場合に発生する可能性があります。
6.2.3.1. 開発者の観点からのアラートをサイレントにする
特定のアラート、または定義する仕様に一致するアラートのいずれかをサイレンスにすることができます。
前提条件
-
クラスター管理者の場合は、
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
monitoring-alertmanager-edit
ロール。これにより、Web コンソールの Administrator パースペクティブでアラートを作成して無効にできます。 -
monitoring-rules-edit
クラスターロール。これにより、Web コンソールの Developer パースペクティブでアラートを作成して無効にできます。
-
Alertmanager へのアクセスを許可する
手順
特定のアラートをサイレンスにするには、以下を実行します。
- OpenShift Container Platform Web コンソールの Developer パースペクティブから、Observe に移動し、Alerts タブに移動します。
- Project: 一覧からアラートをサイレントにするプロジェクトを選択します。
- 必要に応じて、アラート名の横にある記号(>)より大きい記号をクリックして、アラートの詳細を展開します。
- 展開されたビューでアラートメッセージをクリックすると、そのアラートの Alert details ページが開きます。
- Silence alert をクリックして、アラートのデフォルト設定を含む Silence alert ページを開きます。
オプション: サイレントのデフォルト設定の詳細を変更します。
注記サイレンスを保存する前にコメントを追加する必要があります。
- サイレントを保存するには、Silence をクリックします。
アラートのセットをサイレンスにするには、以下を実行します。
- OpenShift Container Platform Web コンソールの Developer パースペクティブから、Observe に移動し、Silences タブに移動します。
- Project: 一覧から、アラートをサイレントにするプロジェクトを選択します。
- Create silence をクリックします。
Create silence ページで、アラートの期間とラベルの詳細を設定します。
注記サイレンスを保存する前にコメントを追加する必要があります。
- 入力したラベルと一致するアラートのサイレンスを作成するには、Silence をクリックします。
6.2.3.2. 開発者パースペクティブからのサイレンスの編集
サイレンスを編集すると、既存のサイレンスが期限切れになり、変更された設定で新しいサイレンスが作成されます。
前提条件
-
クラスター管理者の場合は、
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
monitoring-rules-edit
クラスターロール。これにより、Web コンソールの Developer パースペクティブでアラートを作成して無効にできます。
-
Alertmanager へのアクセスを許可する
手順
- OpenShift Container Platform Web コンソールの Developer パースペクティブから、Observe に移動し、Silences タブに移動します。
- Project: 一覧からサイレンスを編集するプロジェクトを選択します。
変更するサイレンスについて、
をクリックし、Edit silence を選択します。
または、Actions をクリックし、サイレンスの Silence details ページで Edit silence を選択することもできます。
- Edit silence ページで変更を加え、Silence をクリックします。これにより、既存のサイレンスが期限切れになり、更新された設定でサイレンスが作成されます。
6.2.3.3. 開発者パースペクティブからのサイレンスの期限切れ
単一のサイレンスまたは複数のサイレンスを期限切れにすることができます。サイレンスを期限切れにすると、そのサイレンスは永久に非アクティブ化されます。
期限切れで沈黙したアラートは削除できません。120 時間を超えて期限切れになったサイレンスはガベージコレクションされます。
前提条件
-
クラスター管理者の場合は、
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできます。 管理者以外のユーザーの場合は、次のユーザーロールを持つユーザーとしてクラスターにアクセスできる。
-
Alertmanager へのアクセスを許可する
cluster-monitoring-view
クラスターロール。 -
monitoring-rules-edit
クラスターロール。これにより、Web コンソールの Developer パースペクティブでアラートを作成して無効にできます。
-
Alertmanager へのアクセスを許可する
手順
- OpenShift Container Platform Web コンソールの Developer パースペクティブから、Observe に移動し、Silences タブに移動します。
- Project: 一覧からサイレンスを期限切れにするプロジェクトを選択します。
- 期限切れにするサイレンスについては、対応する行のチェックボックスを選択します。
Expire 1 silence をクリックして選択した 1 つのサイレンスを期限切れにするか、Expire <n> silences をクリックして複数の沈黙を期限切れにします (<n> は選択した沈黙の数になります)。
または、単一の沈黙を期限切れにするには、Actions をクリックし、サイレンスのSilence details ページで Expire silence を選択します。
6.2.4. ユーザー定義プロジェクトのアラートルールの管理
OpenShift Container Platform では、ユーザー定義プロジェクトのアラートルールを作成し、表示し、編集し、削除することができます。これらのアラートルールは、選択したメトリクスの値に基づいてアラートをトリガーします。
6.2.4.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 1 for: 1m 2 expr: version{job="prometheus-example-app"} == 0 3 labels: severity: warning 4 annotations: message: This is an example alert. 5
設定ファイルをクラスターに適用します。
$ oc apply -f example-app-alerting-rule.yaml
関連情報
- モニタリングスタックアーキテクチャー
- アラート (Prometheus ドキュメント)
6.2.4.2. ユーザー定義プロジェクトのアラートルールへのアクセス
ユーザー定義プロジェクトのアラートルールを一覧表示するには、プロジェクトの monitoring-rules-view
クラスターロールが割り当てられている必要があります。
前提条件
- ユーザー定義プロジェクトのモニタリングが有効化されている。
-
プロジェクトの
monitoring-rules-view
クラスターロールを持つユーザーとしてログインしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
<project>
でアラートルールを一覧表示するには、以下を実行します。$ oc -n <project> get prometheusrule
アラートルールの設定をリスト表示するには、以下を実行します。
$ oc -n <project> get prometheusrule <rule> -o yaml
6.2.4.3. ユーザー定義プロジェクトのアラートルールの削除
ユーザー定義プロジェクトのアラートルールを削除できます。
前提条件
- ユーザー定義プロジェクトのモニタリングが有効化されている。
-
クラスター管理者またはアラートルールを作成する必要のある
monitoring-rules-edit
クラスターロールを持つユーザーとしてログインしている。 -
OpenShift CLI (
oc
) がインストールされている。
手順
<namespace>
のルール<foo>
を削除するには、以下を実行します。$ oc -n <namespace> delete prometheusrule <foo>
関連情報
- Alertmanager (Prometheus ドキュメント)