メインコンテンツまでスキップ

Alert Notification Setting

User Alert、System Alert、External Alertは、いずれも同じ方式でアラーム発生時に通知を受け取るチャンネルとスケジュールを設定できます。このドキュメントでは、実際に通知を送信するチャンネルを登録する方法と、Alert Group単位で適用される Group Notification、個別のルール/対象単位で適用される Custom Notification の設定方法について説明します。

環境設定 > 通知管理でチャンネルを登録する​

設定位置: Setting > Alert > Notification

Group/Custom Notificationで選択できるチャンネルは、あらかじめ 通知管理 画面に登録されている必要があります。左側の Messenger Type でチャンネルの種類を選択し、右側の Notification List で登録済みのチャンネル一覧を確認するか、[Add Notification] ボタンで新しいチャンネルを登録します。

通知管理 全体画面 - Slack

サポートされるMessenger Typeは Slack、Telegram、Mail、Messaging、Webhook、KakaoTalk の6種類です。On-Site通知は、別途チャンネル登録をせずにユーザーアカウント(Setting > My Info > Alert)で受信可否のみを設定すれば利用できます。

チャンネルを登録しても、一覧の Activation トグルがオフになっていると通知は送信されません。実際に通知を受け取るには、ここで Activation をオンにし、Group/Custom Notification側でも Notification を併せて有効化する必要があります。

Slack​

Slackチャンネル登録

  • Name: チャンネルを区別する名前です。
  • URL: Slack Incoming Webhook URLを入力します。
  • Alert TimeZone: 通知メッセージに表示される発生時刻のタイムゾーンです。

SlackでURLを取得する

手順説明
1. チャンネル作成通知を受信するSlackチャンネルを作成します。
2. App作成Slackで作成したYour Appsがない場合は新しく作成します。すでに作成済みのAppがある場合は、そのまま使用しても構いません。
3. Incoming Webhooks設定Incoming Webhooksを有効化し、事前に作成したチャンネルを登録します。これにより作成されたWebhook URLをコピーして、上記の URL フィールドに入力します。

Telegram​

Telegramチャンネル登録

  • Name: チャットルームを区別する名前です。
  • Token: Telegram Bot Tokenです。
  • ID: 通知を受け取るTelegram Chat IDです。

Telegram Botの作成方法

TokenとIDの値はTelegramで直接発行を受ける必要があります。

  1. Telegram(モバイルまたはPC)で BotFather を検索してチャットルームを作成します。

  2. チャットルームで /start → /newbot → {Bot名} の順に入力するとBotの作成が完了し、Token の値を確認できます。

  3. 以下のURLの [Token値] を発行されたTokenに置き換えてアクセスします。

    https://api.telegram.org/bot[Token値]/getUpdates
  4. 最初にアクセスすると ok: True のみが出力されます。通知を受け取るチャットルームで /start コマンドを入力した後、アクセスしていたページを更新すると、レスポンスから ID(Chat ID)の値を確認できます。

Mail​

Mailは SMTP と NCP の2つの送信方式をタブでサポートします。

Mail(SMTP)チャンネル登録

  • Host / Port: 送信に使用するSMTPサーバーアドレスとポートです。
  • SMTP ID(Email) / SMTP Password: SMTP認証に使用するアカウント情報です。
  • From: 送信者として表示するメールアドレスです。
  • Authentication Type: DEFAULT、LOGIN、CRAM-MD5、PLAIN のうち、サーバーがサポートする認証方式を選択します。
  • TLS INSECURE SKIP VERIFY: 有効化すると、TLS証明書の検証を省略します。

Messaging​

Messagingは SMS-DB と NCP の2つの送信方式をタブでサポートします。SMS-DBは、exemONEではなく顧客企業自身のSMS送信データベースにアラームデータを挿入(Insert)する方式で動作します。

Messaging(SMS-DB)チャンネル登録

  • Database Information: アラームデータを挿入するDB Type/Database Name/Username/Host Name/Port/Passwordを入力します。[Connection Test] で接続を確認できます。
  • Alert Data Insert Setting: アラーム発生時に実行するInsertクエリを作成します。exemONE Notification Provision Parameters 表で $alert$user_name$、$alert$phone_number$、$alert$trigger_time$、$alert$random_uuid$、$alert$rule_name$、$alert$targets$ などクエリで使用できる変数と値の例を確認できます。

Webhook​

Webhookチャンネル登録

  • Transmission Type: General または MultiPart の送信方式を選択します。
  • proxy: 有効化するとプロキシアドレスを入力できます。
  • Request Method / Request URL: Post または Get 方式とリクエストURLを設定します。
  • Request Header / Request Body: リクエストヘッダーと本文をJSON形式で作成します。Alert Parameter Configuration Guide ボタンで使用可能なパラメータを確認できます。

Webhook TLSの適用

サポートバージョン: exemone-alerter v3.0.412.7.0 以上

TLSを適用してWebhook通知を送信するには、alerter設定にオプションを追加する必要があります。

  • Dockerインストール環境: ${EXEMONE_HOME}/docker-compose.yml
    alerter:
    environment:
    EXEMONE_WEBHOOK_NOTIFIER_INSECURE_SKIP_VERIFY: true
    設定後、${EXEMONE_HOME}/scripts/restart.sh alerter で再起動します。
  • Binaryインストール環境: ${EXEMONE_HOME}/services/exemone-alerter 内の .env ファイル
    EXEMONE_WEBHOOK_NOTIFIER_INSECURE_SKIP_VERIFY=true
    設定後、${EXEMONE_HOME}/onectl restart alerter で再起動します。

Webhook Request Bodyの暗号化

サポートバージョン: exemone-alerter v3.0.508.59 以上

API要求/応答データを保護するため、AES256暗号化 → Base64エンコードの2段階暗号化を適用できます。復号はその逆順(Base64デコード → AES256復号)で行われ、暗号化キーは端末ごとに固有に発行され、「メッセージサーバー暗号化Key照会」APIで確認します。

${EXEMONE_HOME}/containers/exemone-alerter/configs/alerter.yaml に以下のように設定した後、${EXEMONE_HOME}/scripts/restart.sh alerter で再起動します。

messenger-cipher:
enabled: true
# 96桁のhexキー。最初の64桁 = AESキー、次の32桁 = IV値
key: ''

この暗号化は、Webhook URLが /massenger で始まり、Request Headerが plain/text 形式の場合にのみ適用されます。送信された内容は Alert > Alert Detail > Notification Status で確認でき、この画面のRequest Bodyには暗号化前の平文が表示されます。

注意事項

  • TLSを適用していない状態で対象サーバーがTLSを要求すると、alerterで webhook notification failed. err:1 out of 1 requests failed: ... context deadline exceeded エラーが発生することがあります。
  • Request Header/Bodyを作成しないと、Webhookサービスによっては通知が送信されないことがあります。

KakaoTalk​

KakaoTalkは NCP(Naver Cloud Platform)のアルリムトーク(알림톡)を通じてのみ送信できます。

KakaoTalkチャンネル登録

  • Service Type: Personal/General Business、Financial Cloud、Public Institutions の中から選択します。
  • Access Key ID / Secret Key: NCPマイページの認証キー管理で確認した値を入力します。
  • Service ID / Channel ID / Template Code: NCP Simple & Easy Notification Serviceコンソールで確認したプロジェクト/チャンネル/テンプレート情報を入力します。
  • 登録前に [NCP AlimTalk Guide] ボタンをクリックして、事前準備事項を確認してください。

注意事項: NCP(Naver Cloud Platform)のアルリムトーク登録が完了している必要があります。

Group Notificationでグループ全体の通知を設定する​

設定位置: User Alert(またはSystem Alert、External Alert) > Alert Groupカードの鉛筆アイコン

Alert Groupカードの鉛筆アイコンをクリックすると、Group Information → Group Notification Channel → Notification Schedule の3段階のウィザードが開きます。

Group Notification Channel​

Group Notification Channel - Email

  • Alert Level Edit: Normal/Warning/Critical各レベルの表示文言を修正します。設定しない場合はデフォルト値が適用されます。
  • Batch Notification Settings: 有効化すると、設定した基準時間内に発生したアラームを1つにまとめて単一の通知として送信します。Event Statisticsアラームには適用されません。
  • Receive Resolved Alert: Critical/Warningとして発生したアラームがNormal状態に解決されたときに、Normal通知を受け取るかどうかを設定します。ただし、Alert LevelがNormalに設定されたアラームは、解決時に通知を受け取りません。
  • 下部タブ(Email、Slack、Telegram、Messaging、Webhook、On-Site、KakaoTalk)でチャンネルごとに受信対象、タイトル/メッセージ内容、パラメータを設定します。

Slack タブを例にとると、上記の 通知管理 で登録したSlackチャンネル一覧から送信するチャンネルを選択します。

Group Notification Channel - Slack

Write ContentのTitle/Message入力欄で Alert Parameter Configuration Guide ボタンをクリックすると、使用可能な $alert$...$ パラメータ一覧を確認できます。

Notification Schedule​

Notification Schedule

ここで設定したスケジュールは、該当グループのすべてのNotification Channelに共通で適用されます。

  • Set Schedule Period: 曜日 × 時間(0〜23時)のグリッドで通知を受け取る時間帯を選択します。[Reset] をクリックすると、全時間が再度選択されます。
  • Set Schedule Exclusion Period: [Add] をクリックして、特定期間(From〜To)を通知除外区間として登録できます。

該当グループ内のすべての対象にGroup Notificationが適用されます。ただし、ターゲットで Isolated Sending が有効化されている場合は、Group Notificationの代わりにCustom Notificationが適用されます。

Custom Notificationで個別ルールの通知を設定する​

設定位置: Rule List(またはSystem Alert List) > Custom Notification列の歯車アイコン

Rule Listで Isolated Sending を有効化した後、歯車アイコンをクリックすると Custom Notification Channel → Notification Schedule の2段階の設定画面が開きます。構成はGroup Notificationと同一ですが、上部に Isolated Sending トグルが追加で表示されます。

Custom Notification Channel

  • Isolated Sending を有効化した場合にのみ、この画面のCustom Notification設定が適用されます。
  • 無効化すると、所属グループのGroup Notification設定が代わりに適用されます。

アラーム > 発送履歴で送信結果を確認する​

設定位置: Alert > Notification History

実際に通知が送信されたかどうかは、左側GNBの Alert アイコンの Notification History 画面で確認できます。

Notification History 全体画面

左側の Filters で Notification Status(Failed/Succeeded)、Type(System/Metric/Table/Event/EventStatistics)、Alert Group 別に一覧を絞り込めます。右側の Notification History List には、発生したアラームごとにTriggered Time、Rule Name、Type、Alertレベルとともに、Notification Status 列にチャンネル別の送信アイコンが表示されます。

Notification Status 列のチャンネルアイコンをクリックすると、チャンネル別の送信詳細ポップアップが開きます。

Notification Status 詳細ポップアップ

  • Status: 送信成功(Succeeded)または失敗(Failed)の状態です。
  • Send Time: 実際の送信時刻です。
  • Notified Channel: 送信対象のチャンネル(または受信ユーザー)一覧です。
  • Request: 実際に送信されたリクエスト内容をJSON形式で確認できます。

通知が送信されなかった場合は、この画面でFailed状態とRequest内容を先に確認すると、原因の把握に役立ちます。