5.6.5 JP1イベント変換
- 機能
-
外部システムから通知されたイベント情報をJP1イベントに変換し,発行します。
製品プラグインに外部システムから通知されたイベント情報を渡し,返却されたJP1イベントの情報に従ってJP1イベントを発行します。
- 実行権限
-
なし
- APIのバージョン
-
v1
- 形式
-
- リクエスト行
POST /im/api/v1/events/transform HTTP/1.1
- リクエストヘッダー
-
ヘッダー名
設定値
Authorization
設定しないでください。
リクエストのメッセージボディーがJSON形式の場合,ほかのリクエストヘッダーは,APIの共通仕様と同じです。APIの共通仕様のリクエストヘッダーについては,「5.2.3 リクエスト形式」の,リクエストヘッダーの説明を参照してください。
- リクエストのメッセージボディー
-
JSON形式で送信できます。オブジェクトのデータ構造は,任意です(各製品プラグインの独自の形式を使用)。
JP1/IM - Managerに設定されているすべての製品プラグインで,JP1イベントに変換できないデータの場合は,次の形式でJP1イベントへの変換を試みます。
[ { "eventId":イベントID, "message":メッセージ, "attrs":{拡張属性名:拡張属性値, ...} }, ... ]
- レスポンスのメッセージボディー
{ "eventSeqNo":[発行したイベントのDB内通し番号, …] "exceeddJp1eventMaxDetected":変換されたJP1イベント数の上限超過検知有無, "messages":[ { "messageId":"メッセージID", "message":"メッセージ本文" }, ・・・ ] }
- パラメーター
-
リクエストのメッセージボディーに指定するパラメーターを次に示します。
項番
パラメーター
データ型
説明
1
eventId※
string
発行するイベントIDを指定します。
2
message※
string
イベントの内容を表すメッセージテキストを指定します。
3
attrs※
配列
拡張属性を指定します。
- 注※
-
各項目に指定する内容については,「5.6.4 イベント発行」のパラメーターを参照してください。
- ステータスコード
-
リクエストに対するレスポンスとして返却されるステータスコードを,次の表に示します。
ステータスコード
メッセージ
説明
200
なし
APIの処理が成功しました。
KAJY67002-W
JP1/Baseのイベントサービスとの通信に失敗しました。
KAJY67003-W
変換されたJP1イベントが100件を超えました。
KAJY67000-W
取得したデータにイベントIDが含まれていませんでした。
取得したデータにメッセージが含まれていませんでした。
拡張属性の指定が不正です。
拡張属性名が32バイトを超えています。
拡張属性値の合計が10000バイトを超えています。
406
KAJY67001-E
各連携製品プラグインからJP1イベントのデータが返却されませんでした,かつ,データフォーマットがデフォルト形式ではありませんでした。
ステータスコードが200の場合に,レスポンスボディーにJSON形式で次の情報を返却します。
項番
メンバー名
データ型
説明
1
eventSeqNo
Object[]
発行したイベントのDB内通し番号をstring型の配列として返却します。
2
exceedJp1eventMaxDetected
boolean
変換されたJP1イベント数が上限を超えたことの検知有無です。
-
true:検知した
-
false:検知しない
3
messages
object[]
通知すべきメッセージの配列です。
通知すべきメッセージが存在しない場合は省略されます。
4
messageId
string
メッセージIDです。通知すべきメッセージが存在しない場合は省略されます。
5
message
string
メッセージ本文です。使用される言語は,HTTPリクエストヘッダーのAccept-Languageプロパティの指定内容により決まります。通知すべきメッセージが存在しない場合は省略されます。
-
- 使用例
-
OSSのcurlコマンドを利用して,このAPIを実行した場合の使用例を,次に示します。
>curl -i --header "Accept-Language: ja" --header "Content-Type: application/json" --request POST --data @c:\\work\\request.json "http://localhost:20703/im/api/v1/events/transform"
- request.json
{ "receiver":"JP1IMDD", "status":"firing", "alerts": [ { "status":"firing", "labels": { "alertname":"jp1_pc_exporter_healthcheck", "instance":"win2016:20717", "job":"jpc_windows", "jp1_pc_eventid":"0002", "jp1_pc_exporter":"JPC Windows exporter", "jp1_pc_metricname":"up", "jp1_pc_nodelabel":"Windows exporter", "jp1_pc_product_name":"/HITACHI/JP1/JPCCS", "jp1_pc_prome_hostname":"win2016", "jp1_pc_severity":"Error" }, "annotations": { "jp1_pc_description":"Exporter is down." }, "startsAt":"2021-12-17T07:46:20.027Z", "endsAt":"0001-01-01T00:00:00Z", "generatorURL":"http://win2016:20713/graph?g0.expr=up%7Bjp1_pc_remote_monitor_instance%3D%22%22%7D+%3D%3D+0+or+label_replace%28sum+by%28jp1_pc_remote_monitor_instance%2C+jp1_pc_exporter%29+%28up%7Bjp1_pc_remote_monitor_instance%21%3D%22%22%7D%29%2C+%22jp1_pc_nodelabel%22%2C+%22%24%7B1%7D%22%2C+%22jp1_pc_remote_monitor_instance%22%2C+%22%5E%5B%5E%3A%5D%2A%3A%28%5B%5E%3A%5D%2A%29%24%22%29+%3D%3D+0\u0026g0.tab=1", "fingerprint":"430af6034503a24d" } ], "groupLabels": { "alertname":"jp1_pc_exporter_healthcheck", "instance":"win2016:20717", "job":"jpc_windows", "jp1_pc_eventid":"0002", "jp1_pc_exporter":"JPC Windows exporter", "jp1_pc_metricname":"up", "jp1_pc_nodelabel":"Windows exporter", "jp1_pc_product_name":"/HITACHI/JP1/JPCCS", "jp1_pc_prome_hostname":"win2016", "jp1_pc_severity":"Error" }, "commonLabels": { "alertname":"jp1_pc_exporter_healthcheck", "instance":"win2016:20717", "job":"jpc_windows", "jp1_pc_eventid":"0002", "jp1_pc_exporter":"JPC Windows exporter", "jp1_pc_metricname":"up", "jp1_pc_nodelabel":"Windows exporter", "jp1_pc_product_name":"/HITACHI/JP1/JPCCS", "jp1_pc_prome_hostname":"win2016", "jp1_pc_severity":"Error" }, "commonAnnotations": { "jp1_pc_description":"Exporter is down." }, "externalURL":"http://win2016:20714", "version":"4", "groupKey":"{}:{alertname=\"jp1_pc_exporter_healthcheck\", instance=\"win2016:20717\", job=\"jpc_windows\", jp1_pc_eventid=\"0002\", jp1_pc_exporter=\"JPC Windows exporter\", jp1_pc_metricname=\"up\", jp1_pc_nodelabel=\"Windows exporter\", jp1_pc_product_name=\"/HITACHI/JP1/JPCCS\", jp1_pc_prome_hostname=\"win2016\", jp1_pc_severity=\"Error\"}", "truncatedAlerts":0 }
- レスポンス例
{"eventSeqNo":["19"],"exceedJp1eventMaxDetected":false}