팁
이 절차는 퀵스타트를 만드는 방법을 가르치는 과정의 일부입니다. 아직 확인하지 않으셨다면 과정 소개를 확인해 보세요.
이 절차는 실습의 마지막 절차 위에 구축되므로 이 절차를 진행하기 전에 알림을 생성 하고 퀵스타트의 디렉터리 구조를 이해했는지 확인하세요.
이전 절차에서는 FlashDB에 문제가 있는 경우 알려주는 알림을 생성했습니다 . 이제 사용자도 사용할 수 있도록 퀵스타트에 추가하세요.
아직 복사하지 않았다면 New Relic 빠른 시작 을 포크하여 로컬 컴퓨터에 복제하세요.
원하는 IDE에서 프로젝트를 열고 \_template
디렉터리로 이동합니다.
여기에서 alert-policies/example-alert-policy
디렉터리와 해당 콘텐츠를 루트 수준의 alert-policies
디렉터리에 복사합니다. 디렉토리 이름을 flashdb
로 바꾸십시오.
이 디렉터리에는 New Relic I/O에 해당 알림을 제공하기 위한 정적 및 기준 알림에 대한 샘플 YAML 파일이 포함되어 있습니다. yaml 파일을 채우는 데 도움이 되도록 New Relic의 NerdGraph API 탐색기를 사용하여 각 공지 조건의 JSON 표현을 얻을 수 있습니다.
팁
NerdGraph는 New Relic의 GraphQL API 입니다.
NerdGraph로 공지 설정을 채우세요
NerdGraph를 사용하면 기존 알림을 쿼리하고 퀵스타트에서 구성할 수 있습니다. NerdGraph를 사용하여 공지 설정을 채우려면 먼저 해당 항목을 검색해야 합니다.
공지사항 아래에서 해당 조건을 클릭하면 해당 ID를 얻을 수 있습니다.
이 예외를 사용하면 이제 공지 조건을 쿼리하고 응답을 사용하여 퀵스타트에서 공지 리소스를 구축할 수 있습니다.
NerdGraph의 쿼리 공지 조건
NerdGraph 탐색기를 열고 드롭다운 메뉴에서 키를 선택하세요.
탐색기에서는 쿼리 작성이 간단합니다. 적절한 상자를 선택하여 GraphQL 쿼리를 작성하거나 다음 GraphQL 쿼리를 복사하여 탐색기의 가운데 창에 붙여넣어 정적 공지 조건을 쿼리합니다.
{ actor { account(id: REPLACE_ACCOUNT_ID) { alerts { nrqlCondition(id: REPLACE_CONDITION_ID) { ... on AlertsNrqlStaticCondition { id name nrql { query } } terms { operator priority threshold thresholdDuration thresholdOccurrences } } } } }}
여기에서는 조건의 ID, 이름, 쿼리 등에 대해 AlertsNrqlStaticCondition
쿼리합니다. 퀵스타트에서 동일한 공지를 생성하기 위해 필요한 필수 입력사항입니다.
중요
위 쿼리에서 계정 ID와 조건 ID를 바꿔야 합니다.
쿼리를 실행하여 지정된 조건의 JSON 표현을 가져옵니다.
다음으로, 이 응답을 사용하여 퀵스타트에 정적 공지를 추가하세요.
팁
탐색기에 쿼리를 붙여넣으면 왼쪽 창의 확인란이 선택됩니다. 이 쿼리는 퀵스타트에 공지를 추가하는 데 필요한 필드를 반환합니다. 사용자 정의 필드를 설정했거나 더 많은 정보를 쿼리하려면 탐색기 중앙 창에서 쿼리를 편집하거나 왼쪽 창에서 해당 상자를 선택하세요.
alert-policies/flashdb
디렉터리에서 static-alert.yml
파일의 이름을 SlowReadResponse.yml
로 바꾸고 위 쿼리에서 반환된 데이터로 채웁니다.
# Name of the alertname: slow read response
# Description and detailsdetails: |+ This alert is triggered when read operation takes longer than 0.8.
# Type of alerttype: STATIC
# NRQL querynrql: query: "SELECT average(fdb_read_responses) FROM Metric"
# Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE)valueFunction: SINGLE_VALUE
# List of Critical and Warning thresholds for the conditionterms:- priority: CRITICAL # Operator used to compare against the threshold. operator: ABOVE # Value that triggers a violation threshold: 0.9 # Time in seconds; 120 - 3600 thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL
# Adding a Warning threshold is optional- priority: WARNING operator: ABOVE threshold: 0.8 thresholdDuration: 300 thresholdOccurrences: ALL
# Duration after which a violation automatically closes# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])violationTimeLimitSeconds: 259200
여기에서는 퀵스타트에 정적 공지 조건을 추가했습니다.
기준 조건을 쿼리하려면 다음 GraphQL 쿼리를 복사하여 탐색기의 가운데 창에 붙여넣습니다.
{ actor { account(id: 3014901) { alerts { nrqlCondition(id: 28068735) { ... on AlertsNrqlBaselineCondition { id name nrql { query } baselineDirection terms { priority threshold thresholdDuration thresholdOccurrences operator } violationTimeLimitSeconds } } } } }}
여기에서는 조건 이름에 대한 쿼리 AlertsNrqlBaselineCondition
, 쿼리, baselineDirection
및 퀵스타트에 조건을 추가하는 데 필요한 기타 필드가 있습니다.
중요
위 쿼리에서 계정 ID와 조건 ID를 바꿔야 합니다.
쿼리를 실행하여 공지의 설정 데이터를 가져옵니다. 다음으로, 이 응답을 사용하여 퀵스타트에 기준 공지를 추가하세요.
팁
탐색기에 쿼리를 붙여넣으면 왼쪽 창의 확인란이 선택됩니다. 이 쿼리는 퀵스타트에 공지를 추가하는 데 필요한 필드를 반환합니다. 사용자 정의 필드를 설정했거나 더 많은 정보를 쿼리하려면 탐색기 중앙 창에서 쿼리를 편집하거나 왼쪽 창에서 해당 상자를 선택하세요.
alert-policies/flashdb
디렉터리에서 baseline-alert.yml
파일의 이름을 LowCacheHitRatio.yml
로 바꾸고 위 쿼리에서 반환된 데이터로 채웁니다.
# Name of the alertname: low cache hit ratio
# Description and detailsdetails: |+ This alert is triggered whenever the cache hit ratio deviates 2 standard deviations from the normal.
# Type of alerttype: BASELINE
# NRQL querynrql: # Baseline alerts can use an optional FACET query: "SELECT sum(fdb_cache_hits)/sum(fdb_read_responses) FROM Metric"
# Direction in which baseline is set (Default: LOWER_ONLY)baselineDirection: LOWER_ONLY
# List of Critical and Warning thresholds for the conditionterms:- priority: CRITICAL # Operator used to compare against the threshold. operator: ABOVE # Value that triggers a violation threshold: 3 # Time in seconds; 120 - 3600, must be a multiple of 60 for Baseline conditions thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL
# Adding a Warning threshold is optional- priority: WARNING operator: ABOVE threshold: 2 thresholdDuration: 300 thresholdOccurrences: ALL
# Duration after which a violation automatically closes# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])violationTimeLimitSeconds: 259200
여기서는 퀵스타트에 기준 조건을 추가했습니다.
팁
이 절차는 퀵스타트를 만드는 방법을 가르치는 과정의 일부입니다. 다음 단원인 데이터 소스 추가 로 계속 진행하세요.