

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 알림 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`과 같은 알림 상태 중 하나 이상을 포함하는 알림을 반환합니다. 여러 상태를 지정하려면 `?state=paused&state=alerting` 형식을 사용합니다.
+ **limit** - 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` 데이터는 알림 상태가 변경될 때만 데이터베이스에 캐싱됩니다. 한 서버의 데이터가 먼저 알림을 트리거하고 해당 서버에서 알림 상태가 해제되기 전에 두 번째 서버도 알림을 트리거하는 상태로 전환되면 두 번째 서버는 `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"
}
```