AlertHub 一括操作マニュアル 目次
Kompira AlertHub 一括操作マニュアル
本マニュアルは Kompira AlertHub の一括操作機能の利用方法を記載したマニュアルです。
Kompira AlertHub 全体の操作方法については、「Kompira AlertHub 基本マニュアル」を参照してください。
最終更新日: 2024/04/15
一括操作の概要
AlertHub の設定要素を CSV ファイルに一括出力できます。
さらに、CSV ファイルをインポートすることにより一括で設定を追加、更新、削除できます。
対象となる設定要素
- スコープ
- Email アクション送信元
- アクション
- ランブック
- 受信スロット
- ルール
- スコープ属性
- スコープ静観スケジュール
- トリガー
- 通知先
想定する利用シーン
- 設定内容を保存し再利用する
- 類似する設定を大量に登録する
- 構成が変更された場合に一括で設定変更する
- 誤った設定を登録した場合に一括で削除する
一括操作の流れ
AlertHub の一括操作は画面操作によって登録された設定をエクスポートし、 出力された CSV
ファイルを編集してインポートすることで、追加設定や変更を柔軟に行える機能となっています。
利用における流れは以下の様になります。
- AlertHub の画面上で主な設定を登録する
- 追加設定、変更したい設定要素をエクスポートする
- CSV ファイルを編集してインポートする
エクスポート
CSV ファイルを出力したい設定要素のエクスポートボタンをクリックします。
エクスポートを開始するとエクスポート履歴の一覧画面が表示され、現在実行されているエクスポートファイル生成を確認できます。
ファイル生成中はステータスが「処理中」となります。
エクスポートファイルが生成されるとステータスが「完了」になり、ファイル名をクリックすることで CSV ファイルをダウンロードできます。
インポート
エクスポートした CSV ファイルを用途に合わせて編集します。編集方法は次章を参考にしてください。
インポートしたい設定要素のインポートボタンをクリックします。
CSV ファイルをアップロードすることで、ファイル内容がチェックされます。
CSV ファイルの行ごとに実行する処理が判断され、ファイル内容に問題がある場合はエラーとして検出されます。
チェック結果は別画面として確認もできます。
チェック結果に問題がないことを確認し、「次へ」をクリックして「インポート実行」へ進み、再度「次へ」をクリックしてインポートを実行します。
インポートの進行状況と実行結果は履歴から確認できます。
アップロード時のエラー
CSV ファイルの内容に不整合があったり不備があったりすることで、ファイルをアップロードした際にエラーが発生する場合があります。
CSV フォーマット仕様に従わない範囲の値を入力した場合や、同じキーの値で 2 件の設定を登録しようとした場合などにエラーが発生します。
エラーが発生した場合、インポート履歴のステータスは バリデーションエラー
となり、エラーが発生せずにアップロードが正常に完了した場合は アップロード完了
となります。
エラーとなった場合はアップロード時のチェック結果の詳細から問題のあるパラメーターを確認し、CSV ファイルを修正して再度アップロードを行います。
設定要素ごとのインポート順序
一括操作では 1 つの設定要素ずつインポートするため、他の要素を指定する設定などは適切な順序でインポートする必要があります。
以下のインポート順に従い、必要な項目をインポートしてください。
- スコープ
- Email アクション送信元
- アクション
- ランブック
- 受信スロット
- ルール
- スコープ属性
- 静観スケジュール
- トリガー
- 通知先
要素ごとの依存関係については、下図を参考にしてください。
CSV ファイルの編集
一括操作では設定追加や更新などの行いたい操作に合わせてエクスポートした CSV ファイルを編集してインポートする必要があります。
ここでは、用途に応じた CSV ファイルの編集方法を解説します。
一括操作におけるキー
一括操作では、エクスポート、インポートの処理を行う際に、処理対象の設定項目を特定するための情報として「キー」を設けています。
AlertHub の設定は項目を特定するために内部で項目ごとに ID を識別子として持っています。
一方、一括操作では CSV ファイル上での取り扱いを容易にするため、ID の代替として正の整数で表現された「キー」を設けています。
エクスポートを行うとキーが自動で付与され以下の様にファイル出力されます。
一度付与されたキーは変更されません。
スコープの出力ファイル例
付与されるキーは、Kompira cloud のスペース内で一意な値となり、異なるスペースであっても同一のキーが付与されます。
そのため、エクスポートした設定データを他のスペースにインポートする場合などは、意図しない設定の更新が発生する可能性があるため十分注意してください。
用途に応じた CSV ファイル編集
既存の設定項目を更新する場合は、エクスポートされた時に付与されているキーを変更せずに、設定値を書き換えてインポートします。
設定項目を追加登録する場合は、エクスポートされたデータ上のキーと重複しないキーを指定してインポートします。
既存の設定項目を削除する場合は、エクスポートされた時に付与されているキーを変更せずに、削除指示を「1」としてインポートします。
設定要素の関連
AlertHub の設定には要素間の関連を持っているものがあります。
一括操作の CSV ファイル上ではその関連を表す目的でもキーが利用されます。
例としてルールでは、条件判断の対象とするメッセージを受信する受信スロットを指定しています。
同一の受信スロットを指定する別のルールを作成する場合には、以下の様に受信スロットはそのままとしてルールのキーのみ重複しない値に変更してインポートします。
既存のルールの受信スロットを変更する場合には、ルールのキーは変えずに受信スロットのキーのみ変更してインポートします。
制限事項
- インポートの実行は同時に 1 つのみ実行でき、複数インポートの同時実行は行えません
- 複数のエクスポートを同時に実行すると、競合によってエラーが発生する場合があります
- エラーが発生した場合は 1 つずつエクスポートを再実行してください
- エクスポート、インポートの履歴は、履歴情報の最終更新日時から 30 日経過後に削除されます
- サービスを利用する通信環境やファイルサイズなどの影響で、ファイルのアップロードやダウンロードに 60 秒以上かかった場合にはタイムアウトエラーが発生します
- アップロードでタイムアウトが発生する際は、インポートする内容を分割し、個々のインポートファイルのサイズを削減することを試行してください
CSV ファイル仕様
エクスポート、インポートにおける CSV ファイルの仕様を記載します。
共通仕様
項目 | 内容 | 備考 |
---|---|---|
文字コード | UTF-8 | エクスポート時: BOM の有無は設定で選択可能 インポート時: BOM の有無は自動判別 |
ファイルサイズ上限 | 5MB | 上限以上のファイルサイズの場合、アップロード時にエラーが発生する場合がある |
ヘッダー | CSV の 1 行目をヘッダーー行とみなす | |
列の順序 | 固定されず、ヘッダーのフィールド名で列が判断される | |
$delete フィールド | 削除指示を行うためのフィールド | 値なし: 対象の行を新規登録、更新として処理 「1」: 対象の行を削除として処理 「1」以外の値: 対象の行をエラーとして処理 |
$key フィールド | 設定対象を識別するためのキーのフィールド | 1~2147483647 の範囲の整数で指定可能 |
createdAt フィールド | 作成日時のフィールド | インポート時は値を無視 |
updatedAt | 変更日時のフィールド | インポート時は値を無視 |
スコープ
エクスポート時ファイル名: scopes-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指示フィールド |
$key | ○ | スコープのキー |
displayName | ○ | スコープの表示名 1〜30 文字の Unicode Graphic Character |
thresholds.warning | ○ | 警戒判定閾値 1〜1000 の整数 |
thresholds.incident | ○ | 障害判定閾値 1〜1000 かつ thresholds.warning より大きな整数 |
remarks | ○ | 備考 0〜256 文字の Unicode Graphic Character |
recoverySetting.recoveryTime | ○ | 深刻度自動復旧までの秒数 空または 300〜86400 の整数 空ならば深刻度自動復旧無効、 整数ならば自動復旧までの時間をその秒数に設定する。 復旧イベントが発生するまでには最大 1 分程度の誤差が生じる |
createdAt | 作成日時(UTC) | |
updatedAt | 変更日時(UTC) |
Emailアクション送信元設定
エクスポート時ファイル名: email-action-sender-settings-*YYYYMMDDhhmmss.*csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
$key | ○ | Emailアクション送信元設定のキー |
from.name | ○ | 送信元ユーザー名 0〜255 文字 |
from.email | ○ | 送信元メールアドレス 255 文字以内 |
method | ○ | メール送信方法 (sendgrid または smtp ) |
sendgrid.apiKey | ○ | method = sendgrid の時のみ有効 SendGrid の API key 特に制限なしの文字列。表外の注意書きも参照 |
smtp.server | ○ | method = smtp の時のみ有効 SMTP サーバーのホスト名または IP アドレス (インポート時、厳密な書式チェックは行わず、空文字列でなければ OK とする) |
smtp.port | ○ | method = smtp の時のみ有効 SMTP サーバーのポート番号 1〜65535 の整数 |
smtp.transport | ○ | method = smtp の時のみ有効 SMTP 通信時の暗号化方式 ( plain , tls , starttls ) |
smtp.auth | ○ | method = smtp の時のみ有効 ユーザー認証方式 ( none , plain , cram-md5 ) |
smtp.user | ○ | method = smtp の時のみ有効 認証に用いるユーザー名 1文字以上の文字列。表外の注意書きも参照 |
smtp.password | ○ | method = smtp の時のみ有効 認証パスワード 特に制限なしの文字列。表外の注意書きも参照 |
createdAt | 作成日時(UTC) | |
updatedAt | 変更日時(UTC) |
sendgrid.*
,smtp.*
は、指定されたmethod
に対応するもののみ参照され、値の検証の対象になりますsendgrid.apiKey
,smtp.password
はエクスポート時に空で出力されます- 空のままインポートして更新した場合、API キーやパスワードの更新は行われません
- 新規作成の場合や、
method
やsmtp.auth
を変更したことにより新たに必要になった場合は空のままインポートはできません
smtp.user
,smtp.password
はsmtp.auth
がplain
またはcram-md5
の場合には必須となり、none
の場合には無視されます
アクション
エクスポート時ファイル名: actions-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
$key | ○ | アクションのキー |
displayName | ○ | 表示名 1 〜30 文字の Unicode Graphic Character |
kind | ○ | 種別 (email , webhook , pigeon , webhookOnPremises ) webhookOnPremises の利用には適切なクォータが必要 (詳細は欄外の注意書き参照) |
email.$senderSettingKey | ○ | kind = email の時のみ有効 Emailアクション送信元のキー。空ならばデフォルトの送信元が使われる |
email.to | ○ | kind = email の時のみ有効 To の JSON。アクション API の対応する項目のフォーマット |
email.cc | ○ | kind = email の時のみ有効 Cc の JSON。アクション API の対応する項目のフォーマット |
email.bcc | ○ | kind = email の時のみ有効 Bcc の JSON。アクション API の対応する項目のフォーマット |
email.subject | ○ | kind = email の時のみ有効 件名 特に制限なしの文字列 |
email.text | ○ | kind = email の時のみ有効 本文(テキスト ) 特に制限なしの文字列 email.text と email.html の両方が空であってはならない |
email.html | ○ | kind = email の時のみ有効 本文(HTML) 特に制限なしの文字列 email.text と email.html の両方が空であってはならない 互換性のためこの列の存在しない CSV のインポートも可能 |
pigeon.callflowId | ○ | kind = pigeon の時のみ有効 コールフローID (UUID) 対応するキーがないため ID をそのまま指定する。また、本項目については存在チェックを行わない |
pigeon.guidanceId | ○ | kind = pigeon の時のみ有効 ガイダンスID (UUID) 対応するキーがないため ID をそのまま指定する。また、本項目については存在チェックを行わない |
webhook.url | ○ | kind = webhook または webhookOnPremises の時のみ有効 Webhook の URL |
webhook.method | ○ | kind = webhook または webhookOnPremises の時のみ有効 メソッド ( GET , POST , HEAD , PUT , PATCH , DELETE ) |
webhook.body | ○ | kind = webhook または webhookOnPremises の時のみ有効 body |
webhook.headers | ○ | kind = webhook または webhookOnPremises の時のみ有効 付与するヘッダーーの JSON。アクション API の対応する項目のフォーマット |
remarks | ○ | 備考 0 〜256 文字の Unicode Graphic Character |
createdAt | 作成日時(UTC) | |
updatedAt | 変更日時(UTC) |
kind
は変更できないフィールドであり、既存項目と異なる指定がされた場合はエラーとなりますkind
=webhookOnPremises
は一般のプランでは利用できず、指定した場合はエラーとなります
ランブック
エクスポート時ファイル名: runbooks-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
$key | ○ | ランブックのキー |
displayName | ○ | ランブックの表示名 1〜30 文字の Unicode Graphic Character |
remarks | ○ | 備考 0〜256 文字の Unicode Graphic Character |
flow.head | ○ | ランブック実行の起点となるステップの UUID 起点を指定しない場合は空にする |
flow.steps | ○ | ランブックフローのステップを定義した JSON 一件もなければ {} を指定する ランブック API で利用される flow.step の形式を基本とし、アクションステップ中の actionId は $actionKey に置き換えたものイベントステップ中の scopeId は $scopeKey に置き換えたもの |
createdAt | 作成日時 | |
updatedAt | 変更日時 |
受信スロット
エクスポート時ファイル名: receive-slots-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
$key | ○ | 受信スロットのキー |
$runbookKey | ○ | 参照するランブックのキー |
displayName | ○ | 表示名 1〜30 文字の Unicode Graphic Character |
kind | ○ | 種別 (email , webhook , webhookOnPremises ) |
createdAt | 作成日時(UTC) | |
updatedAt | 変更日時(UTC) |
- 変更可能なのは
displayName
及び$runbookKey
のみ - ただし、
$runbookKey
を設定できるのはルールで使用されていない受信スロットに限ります - 既存の
$key
が指定され、kind
に既存項目と異なる指定がされた場合はエラーとなります kind
=webhookOnPremises
は一般のプランでは利用できず、指定した場合はエラーとなります
ルール
エクスポート時ファイル名: rules-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
disabled | ○ | true : ルール無効false : ルール有効 この項目に限り大文字/小文字を無視する (Excel を通すと大文字に変換されるための特例) |
$key | ○ | ルールのキー |
$receiveSlotKey | ○ | 参照する受信スロットのキー |
displayName | ○ | 表示名 1〜30 文字の Unicode Graphic Character |
flow | ○ | 処理フローの JSON |
eventParams | ○ | イベント (対象スコープを直接指定) の JSON。アクション API の対応する項目のフォーマット スコープの ID をスコープのキー (オブジェクトのキーとして扱うため文字列表現) に差し替える |
conditionalEventParams | ○ | イベント (対象スコープを条件指定) の JSON。アクション API の対応する項目のフォーマット |
remarks | ○ | 備考 0〜256 文字の Unicode Graphic Character |
createdAt | 作成日時(UTC) | |
updatedAt | 変更日時(UTC) |
スコープ属性
エクスポート時ファイル名: attributes-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
name | ○ | 属性名 1〜30 文字の Unicode Graphic Character |
value | ○ | 属性値 0〜256 文字の Unicode Graphic Character |
$scopeKey | ○ | 所属するスコープのキー |
scopeDisplayName | スコープの表示名 参考用のフィールドであり、インポート時には無視される |
- スコープ属性は例外的に
$key
が存在せず、$scopeKey
とname
の組み合わせで項目の特定が行われます
スコープ静観スケジュール
エクスポート時ファイル名: mute-schedules-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
$key | ○ | 静観スケジュールのキー |
$scopeKey | ○ | 所属するスコープのキー |
displayName | ○ | 静観スケジュールの表示名 1〜30 文字の Unicode Graphic Character |
scopeDisplayName | スコープの表示名 参考用のフィールドであり、インポート時は無視される | |
beginAt | ○ | 開始日時(UTC) RFC-3339 形式 |
endAt | ○ | 終了日時(UTC) |
rrule | ○ | 繰り返し設定 RFC-5545 の RRULE 形式、または空 空ならば繰り返しなしの一度きりの設定 |
createdAt | 作成日時(UTC) | |
updatedAt | 変更日時(UTC) |
$key
と$scopeKey
の組み合わせで項目が特定されます$scopeKey
が異なっていれば$key
の値を重複させることができます- 既存と異なる
$key
と$scopeKey
の組み合わせがあった場合、$scopeKey
が存在する場合は新規の静観スケジュールとして登録され、$scopeKey
が存在しない場合はエラーとなります - 既存の項目で変更可能なフィールドは
displayName
のみとなります。beginAt
,endAt
,rrule
は無視され、アップロード時の検証も行われません beginAt
とendAt
の制約事項は以下の通りですbeginAt
はendAt
より過去の時刻でなければならないbeginAt
とendAt
に指定されたタイムゾーンは同一でなければならないrrule
が空の場合、endAt
がアップロード時およびインポート時より過去の時刻を指していてはならない
トリガー
エクスポート時ファイル名: triggers-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
disabled | ○ | true : トリガー無効false : トリガー有効この項目は大文字小文字を無視する |
$key | ○ | トリガーのキー |
$scopeKey | ○ | 所属するスコープのキー |
displayName | ○ | トリガーの表示名 1〜30 文字の Unicode Graphic Character |
scopeDisplayName | スコープの表示名 参考用のフィールドであり、インポート時は無視される | |
when.conditions | ○ | 実行条件の JSON 一件もなければ空配列 ( [] ) を指定する |
relatedMessages.enabled | ○ | true : 関連メッセージ機能有効false : 関連メッセージ機能無効省略は不可 機能を使わないのであれば false を指定する この項目は大文字小文字を無視する |
relatedMessages.filters | ○ | 関連メッセージフィルターの JSON 省略は不可 指定すべきフィルターがない場合は空配列 ( [] ) を指定する |
flow.steps | ○ | パラメーター加工フローの JSON 一件もなければ空配列 ( [] ) を指定する |
$actionKey | ○ | 実行するアクションのキー |
$runbookKey | ○ | 参照するランブックのキー |
remarks | ○ | 備考 0〜256 文字の Unicode Graphic Character |
createdAt | 作成日時 | |
updatedAt | 変更日時 |
$key
と$scopeKey
の組み合わせで項目が特定されます$scopeKey
が異なっていれば$key
の値を重複させることができます- 既存と異なる
$key
と$scopeKey
の組み合わせがあった場合、$scopeKey
が存在する場合は新規のトリガーとして登録され、$scopeKey
が存在しない場合はエラーとなります
通知先
エクスポート時ファイル名: notification-email-settings-YYYYMMDDhhmmss.csv (YYYYMMDDhhmmss はエクスポート日時)
フィールド名 | インポートに使用 | 内容 |
---|---|---|
$delete | ○ | 削除指定フィールド |
$key | ○ | 通知先のキー |
name | ○ | 通知先ユーザー名 1〜30 文字 |
email | ○ | 通知先メールアドレス 255 文字以内 |
createdAt | 作成日時 | |
updatedAt | 変更日時 |