

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# アラート API
<a name="v10-Grafana-API-Alerting"></a>

**注記**  
このセクションは従来のアラートにのみ適用されます。詳細については、「[Grafana アラート](alerts-overview.md)」を参照してください。

プリファレンス API を使用して、従来のダッシュボードアラートとその状態に関する情報を取得します。ただし、この API を使用してもアラートは変更できません。新しいアラートを作成したり、それを変更するためには、アラートを含むダッシュボード JSON を更新する必要があります。

**注記**  
Amazon Managed Grafana ワークスペースで Grafana API を使用するには、有効なサービスアカウントトークンが必要です。このトークンは API リクエストの `Authorization` フィールドに含めます。

## アラートの取得
<a name="v10-Grafana-API-Alerting-get"></a>

```
GET /api/alerts
```

**リクエストの例**

```
GET /api/alerts HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**クエリ文字列パラメータ:**

これらのパラメータはクエリ文字列パラメータとして使用されます。例: `/api/alerts?dashboardId=1`
+ **dashboardId** — 指定されたダッシュボード値のアラートにレスポンスを制限します。ダッシュボードは複数指定できます。例: `dashboardId=23&dashboardId=35`
+ **panelId** — ダッシュボード上の指定パネルのアラートにレスポンスを制限します。
+ **query** — この値のような名前のアラートにレスポンスを制限します。
+ **state** — `ALL`、`alerting`、`ok`、`no_data`、`paused`、`pending` のアラート状態が 1 つ以上あるアラートを返します。複数の状態を指定するには、次の形式を使用します: `?state=paused&state=alerting`
+ **[制限]** — X アラート数にレスポンスを制限します。
+ **folderId** — 指定フォルダ内のダッシュボードのアラートにレスポンスを制限します。フォルダは複数指定できます。例: `folderId=23&folderId=35`
+ **dashboardQuery** — この値のようなダッシュボード名を持つアラートにレスポンスを制限します。
+ **dashboardTag** — 指定タグを持つダッシュボードのアラートにレスポンスを制限します。複数のタグで「AND」のフィルタリングを実行するには、タグパラメータを複数回指定します。例えば、`dashboardTag=tag1&dashboardTag=tag2`。これらはタグではなく Grafana AWS タグであることに注意してください。

**レスポンスの例**

```
HTTP/1.1 200
Content-Type: application/json

[
  {
    "id": 1,
    "dashboardId": 1,
    "dashboardUId": "ABcdEFghij"
    "dashboardSlug": "sensors",
    "panelId": 1,
    "name": "fire place sensor",
    "state": "alerting",
    "newStateDate": "2018-05-14T05:55:20+02:00",
    "evalDate": "0001-01-01T00:00:00Z",
    "evalData": null,
    "executionError": "",
    "url": "http://grafana.com/dashboard/db/sensors"
  }
]
```

## ID によるアラート取得
<a name="v10-Grafana-API-Alerting-getbyId"></a>

```
GET /api/alerts/:id
```

**リクエストの例**

```
GET /api/alerts/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**レスポンスの例**

```
HTTP/1.1 200
Content-Type: application/json

{
  "id": 1,
  "dashboardId": 1,
  "dashboardUId": "ABcdEFghij"
  "dashboardSlug": "sensors",
  "panelId": 1,
  "name": "fire place sensor",
  "state": "alerting",
  "message": "Someone is trying to break in through the fire place",
  "newStateDate": "2018-05-14T05:55:20+02:00",
  "evalDate": "0001-01-01T00:00:00Z",
  "evalData": "evalMatches": [
    {
      "metric": "movement",
      "tags": {
        "name": "fireplace_chimney"
      },
      "value": 98.765
    }
  ],
  "executionError": "",
  "url": "http://grafana.com/dashboard/db/sensors"
}
```

**重要**  
`evalMatches` データはアラート状態が変更された場合にのみデータベースにキャッシュされます。1 つのサーバーのデータによって最初にアラートがトリガーされ、そのサーバーがアラート状態から離れるのが確認される前に 2 番目のサーバーもアラートをトリガーする状態に入ると、2 番目のサーバーは `evalMatches` データに表示されません。

## ID によるアラート一時停止
<a name="v10-Grafana-API-Alerting-pausebyId"></a>

```
POST /api/alerts/:id/pause
```

**リクエストの例**

```
POST /api/alerts/1/pause HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "paused": true
}
```

`:id` クエリパラメータは、一時停止または一時停止解除するアラートの ID です。`paused` が `true` の場合はアラートを一時停止し、`false` の場合はアラートの一時停止を解除します。

**レスポンスの例**

```
HTTP/1.1 200
Content-Type: application/json

{
  "alertId": 1,
  "state":   "Paused",
  "message": "alert paused"
}
```