정책에서 조건은 공지를 트리거하는 요소를 식별합니다. 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 요청이 있을 수 있습니다.