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" }