Hitachi

JP1 Version 13 JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス


5.21.4 Alertmanagerのサイレンス作成

機能

JSON形式のサイレンスの設定を引数で渡し,Alertmanagerにサイレンスを作成します。

レスポンスとして返却されるサイレンスIDは,サイレンスの設定に対して一意に割り振られるIDです。Alertmanagerのサイレンス失効のAPIを実行する際に使用します。

サイレンスの設定をすると,Alertmanagerが自動的に次の項目を追加します。

  • id

  • status

  • status.state

  • updatedAt

  • matchers.isEqual

形式
リクエスト行
POST /api/v2/silences HTTP/1.1
リクエストヘッダー

ヘッダー名

設定値

Host

APIの接続先のAlertmanagerのホストの情報を,次に示す形式で指定します。

ホスト名またはIPアドレス : ポート番号

: ポート番号」は省略可能です。

  • ホスト名またはIPアドレス

    Alertmanagerのホスト名またはIPv4アドレスを指定します。

  • ポート番号

    Alertmanagerに接続する際に使用するポート番号を指定します。

このヘッダーは省略不可です。

Content-Type

リクエストヘッダーの形式を,次に示すとおりに指定します。

Content-Type: application/json

このヘッダーは省略不可です。

リクエストのメッセージボディー
{
    "matchers": [
        {
            "name": "ラベル名",
            "value": "",
            "isRegex": 正規表現フラグ
        },
        ・・・
    ],
    "startsAt": "開始日時",
    "endsAt": "終了日時",
    "createdBy": "作成者名",
    "comment": "コメント",
}
リクエストのパラメーター

メンバー名

データ型

説明

matchers

object

アラートの発行を抑止する条件を指定するオブジェクトです。

nameとvalueで指定したラベル名とラベルの値に一致するアラートの発行を抑止します。

name

string

ラベル名を指定します。

次の値をラベル名に指定できます。

  • メトリックのラベル名

  • アラート設定ファイル(jpc_alerting_rules.yml)のlabels以下に設定したラベル名(jp1_pc_eventidなど)

  • 「alertname」ラベル

注※

アラート名を条件にしてアラートの発行を抑止する場合,nameメンバーに「alertname」,valueメンバーにアラート名を指定します。

指定できる文字は,半角英数字だけです。

空文字列は指定できません。

value

string

ラベルの値を指定します。

空文字列は指定できません。

isRegex

boolean

valueの値を正規表現で指定しているかどうかを指定します。

  • true

    正規表現で指定している。

  • false

    正規表現で指定していない。

startsAt

string

サイレンスの適用開始日時(ISO8601拡張形式)を指定します。

日時にはタイムゾーンを指定できます。

(指定例)2022-02-08T19:00:00+09:00

endsAt

string

サイレンスの適用終了日時(ISO8601拡張形式)を指定します。

startAtよりも前の日時や,期限切れの日時(現在時刻よりも前の日時)を指定した場合,サイレンスの作成に失敗します。

日時にはタイムゾーンを指定できます。

(指定例)2022-02-08T21:00:00+09:00

createdBy

string

作成者名を指定します。

comment

string

コメントを指定します。

レスポンスのメッセージボディー
{
"silenceID":"サイレンスID"
}
ステータスコード

ステータスコード

メッセージ

説明

200

OK

サイレンスの作成に成功した。

200以外

OK以外

サイレンスの作成に失敗した。

使用例

OSSのcurlコマンドを利用して,このAPIを実行した場合の使用例を,次に示します。

ます。

> curl --header "Content-Type: application/json" --request POST --data @C:\tmp\silence.json "http://localhost:20714/api/v2/silences"
{"silenceID":"9ae46d02-4db8-4098-a8e4-f9181d66611c"}
>

silence.json:

{
    "matchers": [
        {
            "name": "alertname",
            "value": "cpu idel alert",
            "isRegex": false
        }
    ],
    "startsAt": "2021-08-09T19:00:00+09:00",
    "endsAt": "2021-08-09T21:00:00+09:00",
    "createdBy": "api",
    "comment": "test silence"
}