コンタクトタイプ別設定
概要
各コンタクトタイプ別の設定項目について解説します。
Emailタイプに限り認証処理が必要です。追加したアドレスに対して確認メールを送付しますので、 内容に沿い認証を完了してください(認証完了までは通知が行われません)。
認証完了までは、以下のようなベルマークが一覧で表示されます。 確認用メールを再送したい場合はこのベルマークをクリックしてください。
SMS
SMSによる通知です。電話番号を設定します。
SMSは有料オプションです。ご利用の際はBilling(支払・購入)画面から購入ください。
【注意】テスト通知を行った場合も購入した利用回数を消費します。
【注意】SMSはUP検知時の通知は行われません(利用回数の消費もありません)。
国内通話用のプレフィックス番号(日本の場合は先頭の0)が入力されていた場合に、省略されて登録されますが正常な動作です。
Phone
電話での通知(機械音声)です。電話番号を設定します。
Phoneは有料オプションです。ご利用の際はBilling(支払・購入)画面から購入ください。
【注意】テスト通知を行った場合も購入した利用回数を消費します。
【注意】PhoneはUP検知時の通知は行われません(利用回数の消費もありません)。
国内通話用のプレフィックス番号(日本の場合は先頭の0)が入力されていた場合に、省略されて登録されますが正常な動作です。
Google Chat (旧 Hangouts Chat)
Google Chat(公式)のルームに通知を行います。 Webhook URLのみを設定することで連携が可能です。
Google Chat側でのWebhook URLの発行については以下等を参照ください。
https://developers.google.com/hangouts/chat/how-tos/webhooks
Microsoft Teams
Microsoft Teams(公式)のチャンネルに通知を行います。 Webhook URLのみを設定することで連携が可能です。
Microsoft Teams側でのWebhook URLの発行については以下等を参照ください。
https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using#setting-up-a-custom-incoming-webhook
OpsGenie
OpsGenie(公式)と連携した通知を行います。
OpsGenieとの連携のためには公式ドキュメント:API Integrationに記載がある、 API IntegrationのKeyと、Ninja-Eyeが内部利用しているAPI通信に関するJSON設定が必要となります。
【注意】
API Integrationの利用にはOpsGenie側のStandardかEnterpriseプランに契約が必要です。
Key設定
執筆時点でのOpsGenie側の設定例は以下の通りです。
将来的にOpsGenie側の仕様・画面レイアウト変更の可能性もありますので、詳細はOpsGenie側のドキュメントを参照ください。
JSON設定
Ninja-Eyeからの通知は、公式ドキュメント:Create Incidentを内部的に利用しています。 公式ドキュメントに記載のあるJSONフォーマットを設定いただくことでその設定を引き継いだ状態で通知を行うことが可能です。
Ninja-Eyeでは以下のパラメータに限り、設定頂いた値の後ろに文字を追記する形で動作します。
- message
- description
- tags
設定がない場合は上記のパラメータは自動的に追加されるため、 最低限必要な設定値は"{}"(空JSON)のみとなります。
PagerDuty
PagerDutyとの統合を利用して通知を行います。 外部監視でダウン検知されるとPagerDuty側でインシデントが作成され、 その後アップ検知されるとインシデントが解決されます。
PagerDuty側でのアプリ設定
'Configuration'メニューから'Services'を選択します。 以下の"新規サービスを作成する場合"、または"既存サービスに設定する場合"に進みます。
キャプチャ画像が執筆時点でのものです。随時変更が行われる可能性がありますのでご注意ください。
新規サービスを作成する場合
サービス画面を開き、新しいサービスの作成を行います。
新しいサービスの情報と共に、"Integration Settings"にて"Ninja-Eye"を選択します。
作成したサービスの"Integrations"タブにて表示されている"Integration Key"をNinja-Eyeで入力します(後述)。
既存サービスに設定する場合
サービス画面を開き、設定を行うサービスを選択します。
"Integrations"タブにて、"Add a new integration"を選択します。
任意の"Integration Name"を入力し、 "Integration Type"にNinja-Eye"を選択します。
サービスの"Integrations"タブにて表示されている"Integration Key"をNinja-Eyeで入力します(後述)。
Ninja-Eyeでの設定
PagerDuty側で取得した統合キーを以下に設定します。
Severityで設定した重要度のインシデントが作成されます。
連携に関するご不明点はサポートポータルよりお問合せください。
Slack
Slack(公式)のチャンネルに通知を行います。 Webhook URLのみを設定することで連携が可能です。
Slack側でのWebhook URLの発行については以下等を参照ください。
https://slack.com/intl/ja-jp/help/articles/115005265063-Slack-%E3%81%A7%E3%81%AE-Incoming-Webhook-%E3%81%AE%E5%88%A9%E7%94%A8
VictorOps
VictorOps(公式)と連携した通知を行います。 VictorOpsとの連携にはRest API Integration URLの設定とMessage Typeが必要となります。
Rest API Integration URL(及びMessage Type)の設定方法
ルーティングキーの設定を行い、その次にRest APIの画面からURLを確認できます。
ルーティングキーの取得
Rest API Integration URLを取得する前にルーティングキーを発行する必要があります。 公式ドキュメント:Create & Manage Alert Routing Keysを参照し、 設定を行ってください。
参考までに執筆時点では以下のように設定が可能です。
ルーティングキーに紐づくエスカレーションポリシーに合わせてVictorOpsからの通知が行われます。
Rest API Integration URLの取得
公式ドキュメント:REST Endpoint Integration Guide – VictorOps の記載内容に沿い、REST APIのURLを取得してください。
参考までに執筆時点では以下のように設定が可能です。
上記のURL($routing_keyを設定したルーティングキーに変更したもの)を"Rest API Integration URL"に設定下さい。
また上述の公式ドキュメントや、 Incident Fields – Glossaryにて、message_typeに関する説明がありますので、 ご参照の上、要件に応じて"Message Type"へのご設定をお願いいたします。
Webhook
任意のURLへのWebhook通知を行います。細かい設定と、パラメータ文字列の置換による柔軟な設定が可能です。
設定項目
項目 | 必須 | 説明 | 備考 |
---|---|---|---|
URL | ○ | WebhookのURLです。 必要に応じてクエリストリングを含めることも可能です。 | |
Http Method | ○ | HTTPメソッドを指定します。 HEAD, GET, POST, PUT, PATCH, DELETEに対応しています。 | |
Send Data Type | △ | 送信するデータフォーマットをform, json, xml, text,customから選択します。 formでは"Form Data"に、その他は"Send Data"に送信データを入力してください。 | ※1,※2 |
Form Data | form形式で送信データを設定します。 | ※3 | |
Send Data | 送信するデータを入力します。 | ※4 | |
Basic Auth | BASIC認証のユーザとパスワードを設定できます。 | ||
Custom Headers | HTTPリクエストヘッダを設定することができます。 | ||
Cookies | HTTP Cookieを指定できます。 | ※5 |
※1 HTTP MethodがPOST, PUT, PATCHでのみ有効化されます。
※2 指定されたデータタイプに従い、自動的にHTTPリクエストヘッダの Content-Typeに以下が指定されます。
※Custom Headersの設定が優先されますので上書きも可能です。
- form : application/x-www-form-urlencoded
- json : application/json
- xml : text/xml
- text : text/plain
- custom : 指定なし
※3 "HTTP Method"がPOST,PUT,PATCHかつ、"Send Data Type"にてformを選択した場合にのみ表示されます。
※4 "HTTP Method"がPOST,PUT,PATCHかつ、"Send Data Type"にてform以外を選択した場合にのみ表示されます。
※5 "Custom Headers"にてcookie Headerが設定されており、かつ"Cookies"にも設定があった場合は"Cookies"が優先されます(値はマージされません)。
パラメータ文字列一覧
Form Data・Send Dataの値に以下のパラメータを含めることで通知内容に自動的に置換された状態で送信されます。
パラメータ文字列 | 置換後の値 |
---|---|
${MONITOR_ID} | モニターのID |
${MONITOR_NAME} | モニターの名前(Name) |
${MONITOR_URL} | モニターのURL |
${STATUS} | DOWN検知時は'WARNING'、UP検知時は'RESOLVE' |
${DATETIME_UNIX} | Down(Up)した時のタイムスタンプ(秒) 例) 1598672823 |
${DATETIME_FORMATTED} | Down(Up)した時の時間文字列(ISO 8601) 例) 2020-08-29T12:47:03+09:00 |
${FAILURE_CAUSE} | Down時の発生原因 |
${RUNBOOK} | モニターに設定されたRunbook URL |
${MONITOR_TAGS} | モニターに設定されたタグ。複数の場合はカンマ区切り |
以下Json・XMLでのサンプルです。
{
"monitorId": "${MONITOR_ID}",
"monitorName": "${MONITOR_NAME}",
"monitorUrl": "${MONITOR_URL}",
"status": "${STATUS}",
"datetimeUnix": "${DATETIME_UNIX}",
"datetimeFormatted": "${DATETIME_FORMATTED}",
"failureCause": "${FAILURE_CAUSE}",
"runbook": "${RUNBOOK}",
"monitorTags": "${MONITOR_TAGS}"
}