|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
受信者の設定
Alertmanager Config シークレットには、Prometheus から受信したアラートに基づいて通知を送信する Alertmanager インスタンスの設定が含まれています。
|
このセクションは、監視コンポーネントがどのように連携して動作するかに精通していることを前提としています。Alertmanagerに関する詳細情報は、このセクションを参照してください。 |
Rancher UI での受信者の作成
|
前提条件:
|
-
受信者を作成したいクラスターに移動します。Click Monitoring -> Alerting -> AlertManagerConfigs.
-
[作成]をクリックします。
-
新しい AlertmanagerConfig のために 名前 を入力してください。
-
[作成]をクリックします。
-
AlertManagerConfig を作成した後、それをクリックして受信者を追加します。
-
Add Receiver をクリックします。
-
受信者のために 名前 を入力してください。
-
受信者のために 1 つ以上のプロバイダーを設定します。フォームの記入に関するヘルプについては、以下の設定オプションを参照してください。
-
[作成]をクリックします。
*結果:*アラートは、受信者に通知を送信するように設定できます。
受信者の設定
通知の統合は receiver で設定されており、これは Prometheus ドキュメントで説明されています。
ネイティブ vs.非ネイティブ受信者
デフォルトでは、AlertManager はいくつかの受信者とのネイティブ統合を提供しており、それらは このセクションにリストされています。 すべてのネイティブにサポートされている受信者は Rancher UI を通じて設定可能です。
Telegram などの通知メカニズムは、AlertManager によってネイティブにサポートされていない場合、 webhook 受信者を使用して統合が実現されます。 そのような統合を提供するサードパーティのドライバーのリストは こちらで見つけることができます。 これらのドライバーおよびそれに関連する統合へのアクセスは、Alerting Drivers アプリを通じて提供されます。一度有効にすると、非ネイティブ受信者の設定も Rancher UI を通じて行うことができます。
現在、Rancher Alerting Drivers アプリは以下の統合にアクセスできます:
-
Microsoft Teams、 prom2teamsドライバーに基づいています。
-
Telegram、 Sachetドライバーに基づいています。
Rancher UIで構成できる受信者のタイプは以下の通りです:
カスタム受信者オプションを使用して、Rancher UIの他のフォームを記入することで構成できない任意の受信者をYAMLで構成できます。
Slack
| フィールド | タイプ | 説明 |
|---|---|---|
URL |
文字列 |
ご自身のSlackのWebhook URLを入力してください。SlackのWebhookを作成する手順については、 Slackのドキュメントを参照してください。 |
デフォルトのチャンネル |
文字列 |
アラート通知を送信したいチャンネルの名前を以下の形式で入力してください: |
プロキシURL |
文字列 |
Webhook通知のプロキシ。 |
解決済みアラートの送信を有効にする |
ブール |
アラートが解決された場合にフォローアップ通知を送信するかどうか(例:[解決済み] 高CPU使用率)。 |
電子メール
| フィールド | タイプ | 説明 |
|---|---|---|
デフォルト受信者アドレス |
文字列 |
通知を受け取るメールアドレス。 |
解決済みアラートの送信を有効にする |
ブール |
アラートが解決された場合にフォローアップ通知を送信するかどうか(例:[解決済み] 高CPU使用率)。 |
SMTPオプション:
| フィールド | タイプ | 説明 |
|---|---|---|
Sender |
文字列 |
通知を送信するために使用するSMTPメールサーバー上の利用可能なメールアドレスを入力してください。 |
ホスト |
文字列 |
SMTPサーバーのIPアドレスまたはホスト名を入力してください。例: |
Use TLS (TLSの使用) |
ブール |
TLSを使用して暗号化します。 |
ユーザ名 |
文字列 |
SMTPサーバーに認証するためのユーザー名を入力してください。 |
[Password (パスワード)] |
文字列 |
SMTPサーバーに認証するためのパスワードを入力してください。 |
PagerDuty
| フィールド | タイプ | 説明 |
|---|---|---|
統合タイプ |
文字列 |
|
デフォルトの統合キー |
文字列 |
統合キーを取得するための手順については、 PagerDutyのドキュメントをご覧ください。 |
プロキシURL |
文字列 |
PagerDuty通知のプロキシ。 |
解決済みアラートの送信を有効にする |
ブール |
アラートが解決された場合にフォローアップ通知を送信するかどうか(例:[解決済み] 高CPU使用率)。 |
Opsgenie
| フィールド | 説明 |
|---|---|
APIキー |
APIキーを取得するための手順については、 Opsgenieのドキュメントをご覧ください。 |
プロキシURL |
Opsgenie通知のプロキシ。 |
解決済みアラートの送信を有効にする |
アラートが解決された場合にフォローアップ通知を送信するかどうか(例:[解決済み] 高CPU使用率)。 |
Opsgenieの応答者:
| フィールド | タイプ | 説明 |
|---|---|---|
タイプ |
文字列 |
スケジュール、チーム、ユーザー、またはエスカレーション。アラート応答者に関する詳細については、 Opsgenieのドキュメントをご覧ください。 |
送信先 |
文字列 |
Opsgenie受信者のID、名前、またはユーザー名。 |
ウェブフック
| フィールド | 説明 |
|---|---|
URL |
お好みのアプリのWebhook URL。 |
プロキシURL |
Webhook通知のプロキシ。 |
解決済みアラートの送信を有効にする |
アラートが解決された場合にフォローアップ通知を送信するかどうか(例:[解決済み] 高CPU使用率)。 |
チーム
Rancher 管理クラスター用の Teams レシーバーを有効にする
Teams レシーバーはネイティブレシーバーではなく、使用する前に有効にする必要があります。Rancher 管理クラスター用の Teams レシーバーを有効にするには、アプリページに移動し、Teams オプションを選択して rancher-alerting-drivers アプリをインストールします。
-
Rancher UI で、rancher-alerting-drivers をインストールしたいクラスターに移動し、*アプリ*をクリックします。
-
アラートドライバー アプリをクリックします。
-
Helm デプロイオプション タブをクリックします。
-
Teams オプションを選択し、*インストール*をクリックします。
-
使用されるネームスペースに注意してください。後のステップで必要になります。
Teams レシーバーの設定
-
Teams レシーバーを設定するには、その ConfigMap を更新します。以下の例は、最小限の Teams レシーバー設定です:
[Microsoft Teams] connector: https://your-teams-webhook-url -
設定を更新した後、Rancher UI でのレシーバーの作成の指示に従ってレシーバーを追加します。以下の例を使用して URL を形成してください。
<namespace>をrancher-alerting-driversアプリのネームスペースに置き換えることを忘れないでください:url: http://rancher-alerting-drivers-prom2teams.<namespace>.svc:8089/v2/connector
SMS
Rancher 管理クラスター用の SMS レシーバーを有効にする
SMS レシーバーはネイティブレシーバーではなく、使用する前に有効にする必要があります。Rancher 管理クラスター用の SMS レシーバーを有効にするには、アプリページに移動し、SMS オプションを選択して rancher-alerting-drivers アプリをインストールします。
-
左上隅で、*☰ > クラスター管理*をクリックします。
-
Clusters ページで、
rancher-alerting-driversをインストールしたいクラスターに移動し、Explore をクリックします。 -
左のナビゲーションバーでクリックします。
-
アラートドライバー アプリをクリックします。
-
Helm デプロイオプション タブをクリックします。
-
*SMS*オプションを選択し、*インストール*をクリックします。
-
使用されるネームスペースに注意してください。後のステップで必要になります。
SMS レシーバーの設定
SMS レシーバーは、その ConfigMap を更新することで設定できます。例えば、以下は最小限の SMS レシーバーの設定です。
providers:
telegram:
token: 'your-token-from-telegram'
receivers:
- name: 'telegram-receiver-1'
provider: 'telegram'
to:
- '123456789'
設定が完了したら、このセクションの手順に従ってレシーバーを追加します。
以下の例を名前とURLとして使用します。
-
受信機に割り当てられた名前(例:
telegram-receiver-1)は、ConfigMapの`receivers.name`フィールドの名前(例:telegram-receiver-1)と一致する必要があります。 -
URL内の`ns-1`は、`rancher-alerting-drivers`アプリがインストールされている名前空間に置き換えられます。
name: telegram-receiver-1
url http://rancher-alerting-drivers-sachet.ns-1.svc:9876/alert
Telegram
Rancher 管理クラスター用の Telegram レシーバーを有効にする
Telegram レシーバーはネイティブ受信機ではありません。使用する前に有効にする必要があります。Rancher 管理クラスターのために Telegram レシーバーを有効にするには、*アプリ*ページに移動し、`rancher-alerting-drivers`アプリを*Telegram*オプションを選択してインストールします。
-
左上隅で、*☰ > クラスター管理*をクリックします。
-
Clusters ページで、
rancher-alerting-driversをインストールしたいクラスターに移動し、Explore をクリックします。 -
左のナビゲーションバーで*アプリ*をクリックします。
-
Alerting Drivers アプリをクリックします。
-
*インストール*をクリックします。
-
次に開くページで、*SMSを有効にする*チェックボックスが選択されていることを確認してください。テレグラム通知にはSMSを有効にする必要があります。
-
使用されるネームスペースに注意してください。後のステップで必要になります。
PrometheusRuleを設定して構成をテストする
テレグラムの設定をテストするには、アラートを継続的に発生させる*PrometheusRule*を作成します。
|
注意
このルールは、テレグラムのアラートが期待通りに機能するかをテストするためのものです。テストが完了したら、そのままにせず無効にしてください。 |
-
左側のナビゲーションメニューで*Monitoring*をクリックします。
-
[詳細設定] をクリックします。
-
をクリックします。
-
ルールを配置するネームスペースを選択し、ルールに適切な名前を付けます。
-
グループ名を`test`に設定します。後で*Route*を*AlertManagerConfig*で作成する際にこの値を使用します。
-
*Alerting Rules*の下で*Add*をクリックします。
-
適切な*Alert Name*を設定します。
-
アラートを即座にかつ継続的にトリガーするには、次のPromQL式を入力します:
vector(1)。 -
*Labels*の下で*Add Label*をクリックします。キー`test`と値`alert`を入力します。このキーと値のペアは後でも使用されます。
AlertManagerConfigを設定します。
上記で作成した*AlertManagerConfig*に*Receiver*と*Route*の設定を含めるように構成します:
-
をクリックし、*AlertManagerConfigs*を開きます。
-
作成 をクリックします。
AlertManagerConfigでReceiverを作成します。
-
ドロップダウンからネームスペースを選択し、適切な名前を設定します。
-
[作成]をクリックします。
-
新しく作成した*AlertManagerConfig*を開き、*⋮ > Edit Config*をクリックします。
-
Add Receiver をクリックします。
-
*Create Receiver in AlertmanagerConfig*ページのリストから*Webhook*を選択します。
-
Webhookに名前を付け、*Add Webhook*をクリックします。
-
Select Webhook Type*のドロップダウンで*SMS*を選択します。これにより、*Target*フィールドが`http://rancher-alerting-drivers-sachet.cattle-monitoring-system.svc:9876/alert`として自動的に入力されます。*Alerting Drivers を
cattle-monitoring-system以外のネームスペースにインストールした場合、ターゲットURLはそれを反映します。 -
[作成]をクリックします。
AlertManagerConfigにルートを作成します。
-
*⋮ > 設定を編集*をクリックしてください。
-
「Route」をクリックします。
-
ドロップダウンで、先ほど作成した Receiver を選択します。
-
「Labels to Group Alerts By」フィールドに
testと入力します。 -
「Waiting and Intervals」の下で、「Group Wait」を
1sに、「Group Interval」を10sに設定します。これにより、頻繁なアラートがトリガーされます。必要に応じて値を変更します。 -
「Matchers」の下で、「Add Matcher」をクリックします。「Name」フィールドに
testを、「Value」フィールドにalertを入力します。「Match Type」のドロップダウンからMatchEqualを選択します。 -
[保存]をクリックします。
Telegram受信者の設定
rancher-alerting-drivers-sachet`ネームスペースの`cattle-monitoring-system ConfigMapを更新することで、Telegram受信者を設定できます。例えば、以下は最小限のTelegram受信者設定です:
providers:
telegram:
token: <your-token-from-telegram>
receivers:
- name: 'cattle-monitoring-system/test-amc/prom2tel'
provider: 'telegram'
to:
- '123456789'
Telegramトークンを取得するには、Telegramボットをセットアップします。詳細については、 公式Telegramガイドを参照してください。 受信者の設定が完了したら、add を追加します。
受信者に`<namespace>/<alertmanagerconfig-name>/<receiver-name>`という名前を付けます。通知を送信するためのTelegramユーザーIDのプレースホルダーとして`123456789`を入力してください。Telegram IDを見つけるには、 Telegramユーザー情報ボットを確認してください。
これで、ユーザーIDにTelegram通知が届くはずです。通知が届かない場合は、`cattle-monitoring-system`ネームスペースのDeployment `rancher-alerting-drivers-sachet`のPodで報告されたエラーがないか確認してください。
複数の受信者の設定
Rancher UIのフォームを編集することで、Alertmanagerが通知システムにアラートを送信するために必要なすべての情報を持つReceiverリソースを設定できます。
複数の通知システムにアラートを送信することも可能です。1つの方法は、カスタムYAMLを使用してReceiverを設定することで、その場合、両方のシステムが同じメッセージを受信する必要がある限り、複数の通知システムの設定を追加できます。
ルートの`continue`オプションを使用して複数の受信者を設定することもでき、受信者に送信されたアラートは、別の受信者を含む可能性のあるルーティングツリーの次のレベルで評価され続けます。
Alertmanagerの設定例
Slack
Slack経由で通知を設定するには、以下のAlertmanager Config YAMLをAlertmanager Config Secretの`alertmanager.yaml`キーに配置し、`api_url`をSlackのWebhook URLに更新する必要があります。
route:
group_by: ['job']
group_wait: 30s
group_interval: 5m
repeat_interval: 3h
receiver: 'slack-notifications'
receivers:
- name: 'slack-notifications'
slack_configs:
- send_resolved: true
text: '{{ template "slack.rancher.text" . }}'
api_url: <user-provided slack webhook url here>
templates:
- /etc/alertmanager/config/*.tmpl
PagerDuty
PagerDuty経由で通知を設定するには、以下の例を PagerDutyのドキュメントからガイドラインとして使用してください。この例では、データベースサービスのアラートを受信し、DBAに直接通知するサービスにリンクされた受信者に送信するルートを設定します。他のすべてのアラートは、異なるPagerDuty統合キーを持つデフォルトの受信者に送信されます。
以下のAlertmanager Config YAMLは、Alertmanager Config Secretの`alertmanager.yaml`キーに配置できます。`service_key`は、PagerDuty統合キーを使用するように更新してください。PagerDutyのドキュメントの「グローバルイベントルーティングとの統合」セクションで確認できます。設定オプションの完全なリストについては、 Prometheusのドキュメントを参照してください。
route:
group_by: [cluster]
receiver: 'pagerduty-notifications'
group_interval: 5m
routes:
- match:
service: database
receiver: 'database-notifcations'
receivers:
- name: 'pagerduty-notifications'
pagerduty_configs:
- service_key: 'primary-integration-key'
- name: 'database-notifcations'
pagerduty_configs:
- service_key: 'database-integration-key'
コンプライアンススキャンアラートのためのルート設定の例
`rancher-compliance`アラートのルートを構成する際に、キーと値のペア`job: rancher-compliance-scan`を使用して一致を指定できます。
例えば、以下の例のルート設定は、`test-compliance`という名前のSlack受信者で使用できます。
spec:
receiver: test-compliance
group_by:
# - string
group_wait: 30s
group_interval: 30s
repeat_interval: 30s
match:
job: rancher-compliance-scan
# key: string
match_re:
{}
# key: string
`rancher-compliance`のアラートを有効にする方法についての詳細は、xref:security/compliance-scans/enable-alerting-for-rancher-compliance.adocこのセクションをご覧ください。
通知者用の信頼されたCA
通知者に信頼されたCAを追加する必要がある場合は、このセクションの手順に従ってください。