2021年11月15日月曜日

Alertmanager のサイレンス API を curl でコールするサンプル

Alertmanager のサイレンス API を curl でコールするサンプル

概要

過去に少し紹介しました
今回は一通りコールしてみたのでサンプルリクエストを紹介します

なお今回使用する API のバージョンは v2 になります

環境

  • Alertmanager 0.23.0

サイレンスとの登録

サンプルリクエスト

curl http://localhost:9093/api/v2/silences \
-H "content-type: application/json" \
-d @- << EOF
{
  "matchers": [
    {
      "name": "severity",
      "value": "critical",
      "isRegex": false
    }
  ],
  "startsAt": "`date -u +%Y-%m-%dT%H:%M:%S`",
  "endsAt": "`date -u -d '2 hours' +%Y-%m-%dT%H:%M:%S`",
  "createdBy": "api",
  "comment": "test silence"
}
EOF

サンプルレスポンス

{"silenceID":"274f9549-967a-4df6-8342-e82d57513237"}

date コマンドを使うことで実行した時間から 2 時間分のサイレンスを登録しています

2hours を 2days などにするとサイレンスの時間を延長することができます

サイレンス情報の取得

サンプルリクエスト

curl http://localhost:9093/api/v2/silence/274f9549-967a-4df6-8342-e82d57513237

サンプルレスポンス

{
  "id": "274f9549-967a-4df6-8342-e82d57513237",
  "status": {
    "state": "active"
  },
  "updatedAt": "2021-11-12T01:16:43.965Z",
  "comment": "test silence",
  "createdBy": "api",
  "endsAt": "2021-11-12T03:16:43.000Z",
  "matchers": [
    {
      "isEqual": true,
      "isRegex": false,
      "name": "severity",
      "value": "critical"
    }
  ],
  "startsAt": "2021-11-12T01:16:43.965Z"
}

単独のサイレンスを取得する場合は /silence/id を使います
すべてのサイレンス情報を取得したい場合は /silences を使います

curl http://localhost:9093/api/v2/silences

expire にする

サンプルリクエスト

curl -XDELETE http://localhost:9093/api/v2/silence/274f9549-967a-4df6-8342-e82d57513237

レスポンスボディはありません

最後に

ドキュメントが少ないので Github にある openapi のリファレンスを見るしかなさそうです

参考サイト

0 件のコメント:

コメントを投稿