정책에서 조건은 공지를 트리거하는 요소를 식별합니다. REST API를 사용하여 조건을 비활성화하거나 활성화할 수 있습니다. UI에서 조건을 비활성화하거나 활성화할 수도 있습니다.
API 또는 UI를 통해 정책을 활성화하거나 비활성화할 수 없습니다 . 정책은 생성, 삭제 또는 조건 변경만 가능합니다.
REST API를 사용하기 전에
REST API 알림을 프로그래밍 방식으로 관리하는 데 더 이상 선호되는 방법이 아닙니다. 자세한 내용은 에 대한 API 소개를 읽어보세요.
요구 사항
API를 사용하여 조건의 속성을 수정하려면 다음이 필요합니다.
- API 키 및 알림 관리 권한
- 조건의
id( API 탐색기에서 사용 가능: Alerts Conditions > GET > List) - 조직이 EU 데이터 센터에서 데이터를 호스팅하는 경우 EU 지역 계정에 적절한 API 끝점을사용하고 있는지 확인하십시오.
조건 활성화 및 비활성화
조건을 비활성화하거나 활성화하는 프로세스는 조건의 속성을 변경하는 것과 동일한 일반 프로세스입니다. 이 일반 절차 후에 더 자세한 예가 나옵니다.
변경할 조건이 포함된 정책의 ID를 찾습니다.
정책의 ID를 알 수 없는 경우 정책의 이름 또는 유형을 사용하여 API를 호출하고 정책의 ID를 찾으십시오. 이 프로세스에 대한 자세한 내용 은 단일 정책 나열 을 참조하십시오.
정책 ID를 사용하여 해당 정책과 연결된 조건을 반환하는 API를 호출합니다. 네 가지 조건 범주가 있습니다. 범주를 모르는 경우 조건을 찾기 위해 최대 4개의 API 호출이 필요할 수 있습니다.
반환된 JSON의 경우 변경하려는 조건의 JSON 개체를 찾습니다.
원하는 텍스트 편집기에 조건의 JSON을 복사하여 붙여넣고 JSON을 편집합니다. 조건을 활성화하려면
"enabled"을true로 설정합니다. 조건을 비활성화하려면"enabled"를false으로 설정합니다.업데이트 API 요청을 통해 편집된 JSON을 제출하여 조건을 업데이트합니다. 우리의 다른 제품에는 다른 API 요청이 필요합니다.
예: APM 조건 비활성화
다음 예는 apm_app_metric 조건에 대한 조건을 비활성화하는 방법을 보여줍니다. 필요한 API 호출 유형을 제외하고 프로세스는 다른 조건 유형을 변경하는 프로세스와 유사합니다.
업데이트하려는 정책의
policy_id가져옵니다.Logjam Alert라는 가상 정책의 경우 명령은 다음과 같습니다.bash$curl -X GET 'https://api.newrelic.com/v2/alerts_policies.json' \>-H "X-Api-Key:$API_KEY" -i \>-G --data-urlencode 'filter[name]= Logjam Alert' # policy_name이 요청의 출력은 다음과 같습니다.
{"policies": [{"id": 85, // policy_id"incident_preference": "PER_POLICY","name": "Logjam Alert","created_at": 1461176510393,"updated_at": 1461176510393}]}이 정책의 모든 조건을 나열하고
condition_id를 찾습니다.bash$curl -X GET 'https://api.newrelic.com/v2/alerts_conditions.json' \>-H "X-Api-Key:$API_KEY" -i \>-G -d 'policy_id=85'이 요청의 출력은 다음과 같습니다.
{"conditions": [{"id": 12345, // condition_id"type": "apm_app_metric","name": "Apdex (Low)","enabled": true, // Note the condition is enabled"entities": ["8288171"],"metric": "apdex","terms": [{"duration": "5","operator": "below","priority": "critical","threshold": "1","time_function": "any"}]},{"id": 2468, // another condition_id"type": "apm_app_metric","name": "Throughput (Low)",...}]}해당 조건에 대해서만 JSON을 복사하여 텍스트 편집기에 붙여넣습니다.
"enabled": true을"enabled": false로 변경합니다. 편집된 JSON은 다음과 같습니다.bash$curl -X PUT 'https://api.newrelic.com/v2/alerts_conditions/12345.json' \>-H "X-Api-Key:$API_KEY" -i \>-H 'Content-Type: application/json' \>-d \>'{$"condition": {$"type": "apm_app_metric",$"name": "Apdex (Low)",$"enabled": false,$"entities": [$"8288171"$],$"metric": "apdex",$"terms": [${$"duration": "5",$"operator": "below",$"priority": "critical",$"threshold": "1",$"time_function": "any"$}$]$}$}'업데이트 API 요청을 통해 편집된 조건 JSON을 제출하여 조건을 업데이트합니다. 이 특정 조건의 경우 APM 정책 업데이트 조건 의 단계를 따릅니다. 다른 제품 조건에는 API 요청 업데이트 에 자세히 설명된 대로 다른 API 요청이 있을 수 있습니다.