이 페이지는 귀하와 귀하의 팀이 문제 및 사건에 대한 데이터를 쿼리한 다음 NerdGraph API를 사용하여 기능을 구성하는 방법을 배울 수 있는 장소입니다.
두 가지 주요 데이터 유형은 Issue Type
및 Incident Type
입니다.
문제 유형
여기에서 New Relic의 데이터 유형에 대해 자세히 알아볼 수 있습니다.
이름 | 유형 | 설명 |
---|---|---|
| [인트!]! | 계정 ID 목록입니다. 이슈가 다른 계정의 다른 이슈와 연관될 수 있기 때문입니다. |
| Epoch밀리초 | 문제가 확인된 시간입니다. |
| 문자열 | 문제를 인정한 사용자입니다. |
| Epoch밀리초 | 문제가 활성화된 시간: createdAt + gracePeriod. |
| Epoch밀리초 | 문제가 종료된 시간입니다. |
| 문자열 | 문제를 수동으로 종료한 사용자입니다. |
| Epoch밀리초 | 문제가 생성된 시간입니다. |
| [끈!]! | 인시던트 설명 목록입니다. |
| [EntityGuid!] | 고유한 엔터티 식별자 목록입니다. |
| [끈!] | 엔터티 이름 목록입니다. |
| [끈!] | 엔터티 유형 목록입니다. |
| [인트!]! | 환경에 대해 알아보려면 알림 개요를 참조하세요. |
| 끈! |
|
| [끈!] | 이번 호의 사건 ID 목록입니다. 경우에 따라 한 문제에 수천 건의 사건이 있을 수 있습니다. |
| 부울! | True는 다른 문제가 이 문제와 관련이 있음을 의미합니다. |
| 부울! | 유휴 문제에 대해 알아보려면 설명서를 참조하십시오. |
| ID! | 문제 식별자. |
| [끈!]! | 인시던트, 변칙 및 외부와 같은 인시던트의 출처 목록입니다. |
| 우선 사항! | 이슈 우선순위. |
| [끈!]! | newrelic 또는 외부와 같은 사건의 소스 목록입니다. |
| 이슈상태! | 문제 상태는 |
| [끈!]! | 기본 인시던트 제목 목록. |
| 인트! | 기본 인시던트 수입니다. |
| 에포크밀리초! | 문제가 마지막으로 업데이트된 시간입니다. |
문제 수명 주기 및 상태
유휴 문제:
- 이슈가 너무 크면 유휴 상태가 될 수 있습니다. 즉, 5000개 이상의 인시던트가 포함되어 있습니다.
- 유휴 문제는 더 이상 인시던트를 허용하지 않습니다.
- 유휴 문제는 다른 문제와 관련이 없습니다.
사고 유형
들 | 유형 | 설명 |
---|---|---|
| 문자열 | 이 인시던트가 저장된 계정 ID입니다. |
| Epoch밀리초 | 인시던트가 종료된 시간입니다. |
| Epoch밀리초 | 인시던트가 생성된 시간입니다. |
| 문자열 | 설명은 정책 이름과 조건 이름에서 생성되거나 API를 통해 제공됩니다. |
| EntityGuid | 고유한 엔터티 식별자입니다. |
| 문자열 | 엔터티 이름입니다. |
| 문자열 | 엔터티 유형입니다. |
| 인트! | 환경에 대해 알아보려면 설명서를 참조하십시오. |
| ID | 사건 식별자. |
| 우선순위 | 인시던트 우선 순위. |
| IncidentState. | 사건 상태. |
| Epoch밀리초 | 인시던트 이벤트 타임스탬프. |
| 문자열 | 사용자가 제공한 조건에 대한 설명입니다. |
| Epoch밀리초 | 인시던트가 마지막으로 업데이트된 시간입니다. |
| 선택 과목 | 이 사건이 New Relic 변칙에서 비롯된 경우 변칙 ID가 있습니다. |
| 선택 과목 | 조건 ID |
| 문자열 | 이 인시던트를 생성한 정책의 ID입니다. |
| [핵심 가치!] | 이 인시던트와 관련된 태그 집계입니다. |
문제 나열 및 필터링
issues
쿼리를 사용하면 계정별로 모든 문제를 페이지로 나눌 수 있습니다. 또한 문제에 대한 일부 필터링 기능을 허용합니다.
필터링 데이터를 제공하지 않으면 지난 24시간 동안의 이슈 데이터를 받게 됩니다.
요구
{ currentUser { account(id: ACCOUNT_ID) { aiIssues { issues { issues { issueId priority state title } } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "issues": { "issues": [ { "issueId": "f0668430-60c4-4bfd-8188-fcbeefb1d5ca", "priority": "CRITICAL", "state": "CREATED", "title": [ "NrAiIncident query result is > 30.0 for 1 minutes on 'ROI test for photon with checkbox'" ] }, { "issueId": "12427573-fe89-4be1-9411-30158e0a9874", "priority": "MEDIUM", "state": "CLOSED", "title": [ "Anomaly: It was different from normal" ] }, { "issueId": "2b3fcffe-5330-4766-bc51-392b6db5eedc", "priority": "MEDIUM", "state": "CLOSED", "title": [ "Anomaly: It was different from normal" ] },
페이지 매김을 통해 반환될 수 있는 최대 문제 수는 NRQL LIMIT
MAX 에 의해 설정되며 이 한도를 초과하면 필터링이 필요합니다.
초기 요청
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { issues(cursor: "") { issues { issueId priority state title } nextCursor } } } }}
초기 결과
{ "data": { "currentUser": { "account": { "aiIssues": { "issues": { "issues": [ { "issueId": "bda33b52-c70b-47b9-abe3-9e859a394037", "priority": "CRITICAL", "state": "ACTIVATED", "title": [ "Signal lost for 5 minutes on 'Percent All Facet'" ] }, { "issueId": "242c713c-7654-491c-808e-3aa7fc44812b", "priority": "MEDIUM", "state": "CREATED", "title": [ "Anomaly: Non-web throughput" ] }, { "issueId": "f19c9803-fb24-4d5d-9c35-16f659bceb3a", "priority": "MEDIUM", "state": "CLOSED", "title": [ "Anomaly: Error rate" ] } ], "nextCursor": "=ATN" } } } } },
그런 다음 후속 요청에서 nextCursor
이 비어 있을 때까지 nextCursor
이전 응답의 커서 값을 제공하십시오.
후속 요청은 다음과 같아야 합니다.
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { issues(cursor: "=ATN") { issues { issueId priority state title } nextCursor } } } }}
엔터티 가이드, 엔터티 유형, 문제 우선 순위 또는 문제 상태 또는 이러한 특성의 조합을 기준으로 문제를 필터링합니다.
"Filter issues"input FilterIssues { "entityGuids" entityGuids: [EntityGuid!] "entityTypes" entityTypes: [String!] "ids" ids: [ID!] "priority" priority: [String!] "states" states: [IssueState!]}
여기서 entityGuides
및 entityTypes
은 New Relic 엔티티에 대해 알아보기 페이지에 정의된 엔티티 속성입니다.
- 문제 우선순위는 다음 중 하나일 수 있습니다.
LOW
,MEDIUM
,HIGH
,CRITICAL
- 문제 상태는 다음 중 하나일 수 있습니다:
CREATED
,ACTIVATED
,DEACTIVATED
,CLOSED
timeWindow
EpochMilliseconds 형식의 시작 및 종료 시간. 제공되지 않은 경우 기본값은 지난 24시간입니다.- 그리고 이미 본 것처럼
cursor
우선순위가 CRITICAL
이고 상태가 CLOSED
인 문제를 찾아보겠습니다.
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { issues(filter: { priority: "CRITICAL", states: CLOSED }) { issues { issueId priority state title } nextCursor } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "issues": { "issues": [ { "issueId": "5948472b-f7dd-4a6e-aec0-de0390732495", "priority": "CRITICAL", "state": "CLOSED", "title": [ "team_store_validation_error query result is > 0.0 on 'Team Store Domain Specific Validation Error'" ] }, { "issueId": "570c2770-efd2-4c0f-8dc8-fbc1ae69a4df", "priority": "CRITICAL", "state": "CLOSED", "title": [ "PageViewTiming query deviated from the baseline at least once in 5 minutes on 'Onyx_check_Mark test'" ] }, { "issueId": "d056be64-829e-4a83-bfb1-e3232eb3a59b", "priority": "CRITICAL", "state": "CLOSED", "title": [ "Transaction query result is > 2.0 on 'Error fetching commitments (TF)'" ] },
결과는 entityGuid
로 추가 필터링할 수 있습니다.
{ actor { account(id: 1) { aiIssues { issues( filter: { priority: "CRITICAL" states: CLOSED entityGuids: [ "MXxBUE18QVBQTElDQVRJT058MzIxNjY2NA" "MXxBUE18QVBQTElDQVRJT058MzIxNzY1NA" ] } ) { issues { entityTypes entityNames entityGuids issueId priority state title } nextCursor } } } }}
결과
{ "data": { "actor": { "account": { "aiIssues": { "issues": { "issues": [ { "entityGuids": [ "MXxBUE18QVBQTElDQVRJT058MzIxNjY2NA", "MXxBUE18QVBQTElDQVRJT058MzIxNzY1NA" ], "entityNames": [ "hour-timeslice-writer (eu-production)", "metric-timeslice-service (eu-production)" ], "entityTypes": [ "Application" ], "issueId": "1a3a0581-aefc-4027-91a0-a941072101c0", "priority": "CRITICAL", "state": "CLOSED", "title": [ "'Custom/CassandraClient/hour_timeslice_cluster_main/percentile/95th' > 0.5 for at least 5 minutes on 'hour-timeslice-writer (eu-production)'", "'Custom/CassandraClient/hour_timeslice_cluster_main/percentile/95th' > 0.5 for at least 5 minutes on 'metric-timeslice-service (eu-production)'" ] }, { "entityGuids": [ "MXxBUE18QVBQTElDQVRJT058MzIxNzY1NA" ], "entityNames": [ "metric-timeslice-service (eu-production)" ], "entityTypes": [ "Application" ], "issueId": "fd5fda9e-6bfe-469a-8cf7-822986401033", "priority": "CRITICAL", "state": "CLOSED", "title": [ "'Custom/CassandraClient/hour_timeslice_cluster_main/percentile/95th' > 0.5 for at least 5 minutes on 'metric-timeslice-service (eu-production)'" ] } ], "nextCursor": null }
NerdGraph를 사용하면 문제 ID로 쿼리할 수도 있습니다.
요구
{ actor { account(id: 1) { aiIssues { issues( filter: { ids: [ "e506476f-d804-4e5c-92b5-da8db622f10d" "1bd514d9-2682-4366-8f28-5d742fd000af" ] } ) { issues { entityTypes entityNames entityGuids issueId priority state title } nextCursor } } } }}
결과
{ "data": { "actor": { "account": { "aiIssues": { "issues": { "issues": [ { "entityGuids": [ "" ], "entityNames": [ "Metric query" ], "entityTypes": [ "Query" ], "issueId": "e506476f-d804-4e5c-92b5-da8db622f10d", "priority": "CRITICAL", "state": "CLOSED", "title": [ "Metric query result is > 1.4 for 1 minutes on 'Hillel March Demo'" ] }, { "entityGuids": [ "MXxFWFR8U0VSVklDRXw1ODIzMTc1ODk4Mjc1OTI4Mjk5" ], "entityNames": [ "clm-10" ], "entityTypes": [ "Query" ], "issueId": "1bd514d9-2682-4366-8f28-5d742fd000af", "priority": "CRITICAL", "state": "CLOSED", "title": [ "clm-10 query result is > 30.0 for 7 minutes on 'SPIKE: signal-accumulation-service (production) — Kafka lag'" ] } ], "nextCursor": null } }
문제 이벤트 나열 및 필터링
issuesEvents
쿼리를 사용하면 계정당 모든 문제 이벤트를 페이지로 나눌 수 있습니다. 또한 문제 이벤트에 대한 일부 필터링 기능을 허용합니다.
필터링 데이터를 제공하지 않으면 지난 24시간 동안의 이슈 이벤트 데이터를 받게 됩니다.
요구
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { issuesEvents { issues { issueId priority state title eventType } } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "issuesEvents": { "issues": [ { "eventType": "ATTRIBUTES_UPDATED", "issueId": "e6da1499-cb1c-4522-bb04-6fdb487e8e2b", "priority": "CRITICAL", "state": "ACTIVATED", "title": [ "notification-request-builder query result is < 10.0 for 1 minutes on 'error logs in nrb'", "notification-request-builder query result is > 1600.0 for 5 minutes on 'nrb debug logs'" ] }, { "eventType": "ATTRIBUTES_UPDATED", "issueId": "e6da1499-cb1c-4522-bb04-6fdb487e8e2b", "priority": "CRITICAL", "state": "ACTIVATED", "title": [ "notification-request-builder query result is < 10.0 for 1 minutes on 'error logs in nrb'", "notification-request-builder query result is > 1600.0 for 5 minutes on 'nrb debug logs'" ] }, { "eventType": "ATTRIBUTES_UPDATED", "issueId": "e6da1499-cb1c-4522-bb04-6fdb487e8e2b", "priority": "CRITICAL", "state": "ACTIVATED", "title": [ "notification-request-builder query result is < 10.0 for 1 minutes on 'error logs in nrb'", "notification-request-builder query result is > 1600.0 for 5 minutes on 'nrb debug logs'" ] }, { "eventType": "INCIDENT_ADDED", "issueId": "e6da1499-cb1c-4522-bb04-6fdb487e8e2b", "priority": "CRITICAL", "state": "ACTIVATED", "title": [ "notification-request-builder query result is < 10.0 for 1 minutes on 'error logs in nrb'", "notification-request-builder query result is > 1600.0 for 5 minutes on 'nrb debug logs'" ] },
entityGuids
, entityTypes
, 문제 우선순위, 문제 상태 또는 이러한 속성의 조합으로 문제 이벤트를 필터링합니다.
"Filter issues events"input FilterIssuesEvents { "entityGuids" entityGuids: [EntityGuid!] "entityTypes" entityTypes: [String!] "ids" ids: [ID!]}
timeWindow
EpochMilliseconds
형식의 시작 및 종료 시간. 제공되지 않은 경우 기본값은 지난 24시간입니다.- 그리고 이미 본 것처럼
cursor
특정 issueId
에 대한 issuesEvents
찾아봅시다.
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { issuesEvents(filter: { ids: "fe0d512f-36c7-4b7a-8a80-4c47c040807a" }) { issues { issueId priority state title eventType entityGuids } } } } }}
Results
{ "data": { "currentUser": { "account": { "aiIssues": { "issuesEvents": { "issues": [ { "entityGuids": [ "MXxTWU5USHxNT05JVE9SfGUyMzA0MjczLTQzNjUtNDRlZS1iODcxLTM5MGRhNDc1ODUxNA" ], "eventType": "ATTRIBUTES_UPDATED", "issueId": "fe0d512f-36c7-4b7a-8a80-4c47c040807a", "priority": "CRITICAL", "state": "ACTIVATED", "title": [ "Test for alert emails query result is > 1.0 for 1 minutes on 'Matan email condition'" ] }, { "entityGuids": [ "MXxTWU5USHxNT05JVE9SfGUyMzA0MjczLTQzNjUtNDRlZS1iODcxLTM5MGRhNDc1ODUxNA" ], "eventType": "STATE_CHANGE", "issueId": "fe0d512f-36c7-4b7a-8a80-4c47c040807a", "priority": "CRITICAL", "state": "ACTIVATED", "title": [ "Test for alert emails query result is > 1.0 for 1 minutes on 'Matan email condition'" ] }, { "entityGuids": [ "MXxTWU5USHxNT05JVE9SfGUyMzA0MjczLTQzNjUtNDRlZS1iODcxLTM5MGRhNDc1ODUxNA" ], "eventType": "ATTRIBUTES_UPDATED", "issueId": "fe0d512f-36c7-4b7a-8a80-4c47c040807a", "priority": "CRITICAL", "state": "CREATED", "title": [ "Test for alert emails query result is > 1.0 for 1 minutes on 'Matan email condition'" ] }, { "entityGuids": [ "MXxTWU5USHxNT05JVE9SfGUyMzA0MjczLTQzNjUtNDRlZS1iODcxLTM5MGRhNDc1ODUxNA" ], "eventType": "ATTRIBUTES_UPDATED", "issueId": "fe0d512f-36c7-4b7a-8a80-4c47c040807a", "priority": "CRITICAL", "state": "CREATED", "title": [ "Test for alert emails query result is > 1.0 for 1 minutes on 'Matan email condition'" ] },...
인시던트 나열 및 필터링
incidents
쿼리를 사용하면 계정당 모든 인시던트를 페이지로 나눌 수 있습니다. 또한 각 인시던트에 대해 일부 필터링 기능을 허용합니다.
지원되는 인시던트 유형은 다음과 같습니다.
- NewRelicIncident
- 변칙사건
- RestIncident
필터링 데이터를 제공하지 않으면 지난 24시간 동안의 사건 데이터를 받게 됩니다.
아래 예는 NewRelicIncident
사건을 가져옵니다.
요청
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { incidents { incidents { priority state title description incidentId updatedAt ... on AiIssuesNewRelicIncident { policyIds conditionFamilyId accountIds } } } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "incidents": { "incidents": [ { "accountIds": "1", "conditionFamilyId": "685305", "description": [ "Policy: 'Roi nov Test'. Condition: 'RB PV '" ], "incidentId": "a86493e4-2d25-4023-a9e5-975bfaae19a8", "policyIds": "195617", "priority": "HIGH", "state": "CREATED", "title": "[\"PageView query result is > 1.3 for 2 minutes on 'RB PV '\"]", "updatedAt": 1651058532782 }, { "accountIds": "1", "conditionFamilyId": "1284850", "description": [ "Policy: 'Itzik first policy'. Condition: 'error logs in nrb'" ], "incidentId": "5de80214-6444-4e0c-aaee-fb1c42fb2f23", "policyIds": "707052", "priority": "CRITICAL", "state": "CREATED", "title": "[\"notification-request-builder query result is < 10.0 for 1 minutes on 'error logs in nrb'\"]", "updatedAt": 1651058523473 }, { "description": [ "Anomaly: Error rate" ], "incidentId": "df4ba4f3-9463-4389-873f-b13efb67dca5", "priority": "MEDIUM", "state": "CREATED", "title": "[\"Anomaly: Error rate\"]", "updatedAt": 1651058478828 }, { "accountIds": "1", "conditionFamilyId": "685305", "description": [ "Policy: 'Roi nov Test'. Condition: 'RB PV '" ], "incidentId": "0063f153-9152-476d-b435-54cc38ce0245", "policyIds": "195617", "priority": "CRITICAL", "state": "CREATED", "title": "[\"PageView query result is > 1.3 on 'RB PV '\"]", "updatedAt": 1651058472738 }, { "description": [ "Anomaly: It was different from normal" ], "incidentId": "2cb820d1-a070-4c27-860b-fb862ecd42a7", "priority": "MEDIUM", "state": "CREATED", "title": "[\"Anomaly: It was different from normal\"]", "updatedAt": 1651058449078 }, { "accountIds": "1", "conditionFamilyId": "751197", "description": [ "Policy: 'slide_Test'. Condition: 'SumOf'" ], "incidentId": "07104b47-0263-4529-b27d-6aff95eecd87", "policyIds": "199127", "priority": "CRITICAL", "state": "CREATED", "title": "[\"TransactionError query result is > 3.0 on 'SumOf'\"]", "updatedAt": 1651058442361 },
커서 페이지 매김
페이지 매김을 통해 반환될 수 있는 최대 인시던트 수는 NRQL LIMIT MAX 에 의해 설정되며, 이 한도를 초과하면 필터링이 필요합니다.
인시던트 필터링
엔터티 가이드, 엔터티 유형, 문제 우선 순위, 문제 상태 또는 이들의 조합을 기준으로 인시던트를 필터링합니다.
"Filter incidents"input FilterIncidents { "entityGuids" entityGuids: [EntityGuid!] "entityTypes" entityTypes: [String!] "ids" ids: [ID!] "priority" priority: [String!] "states" states: [IncidentState!]}
timeWindow
EpochMilliseconds
형식의 시작 및 종료 시간. 제공되지 않은 경우 기본값은 지난 24시간입니다.- 그리고 이미 본 것처럼
cursor
입니다. - 우선순위가
CRITICAL
이고 상태가CREATED
인 인시던트를 찾아보겠습니다.
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { incidents(filter: { priority: "CRITICAL", states: CREATED }) { incidents { priority state title description incidentId updatedAt ... on AiIssuesNewRelicIncident { policyIds conditionFamilyId accountIds } } } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "incidents": { "incidents": [ { "accountIds": "1", "conditionFamilyId": "195908", "description": [ "Policy: 'AirMonitor ML Dashboard Staging'. Condition: 'Latency in Production'" ], "incidentId": "44630d21-9d32-4107-a308-3ed1c4f72bce", "policyIds": "40053", "priority": "CRITICAL", "state": "CREATED", "title": "[\"Metric query result is > 0.69 for 5 minutes on 'Latency in Production'\"]", "updatedAt": 1651059983674 }, { "accountIds": "1", "conditionFamilyId": "195908", "description": [ "Policy: 'AirMonitor ML Dashboard Staging'. Condition: 'Latency in Production'" ], "incidentId": "3e2b2b2a-e45b-46d6-b45d-637b74b5efda", "policyIds": "40053", "priority": "CRITICAL", "state": "CREATED", "title": "[\"Metric query result is > 0.69 for 5 minutes on 'Latency in Production'\"]", "updatedAt": 1651059983607 }, { "accountIds": "1", "conditionFamilyId": "195907", "description": [ "Policy: 'AirMonitor ML Dashboard Staging'. Condition: 'Latency in Staging'" ], "incidentId": "6e934358-d16b-494d-abb2-6300c4d96f11", "policyIds": "40053", "priority": "CRITICAL", "state": "CREATED", "title": "[\"Metric query result is > 0.69 for 5 minutes on 'Latency in Staging'\"]", "updatedAt": 1651059983223 }, { "accountIds": "1", "conditionFamilyId": "195907", "description": [ "Policy: 'AirMonitor ML Dashboard Staging'. Condition: 'Latency in Staging'" ], "incidentId": "97373770-caad-46cd-a69d-a358de3be090", "policyIds": "40053", "priority": "CRITICAL", "state": "CREATED", "title": "[\"Metric query result is > 0.69 for 5 minutes on 'Latency in Staging'\"]", "updatedAt": 1651059983059 },
API를 사용하면 인시던트 ID별로 쿼리할 수 있습니다.
요구
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { incidents(filter: { ids: "97373770-caad-46cd-a69d-a358de3be090" }) { incidents { priority state title description incidentId updatedAt ... on AiIssuesNewRelicIncident { policyIds conditionFamilyId accountIds } } } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "incidents": { "incidents": [ { "accountIds": "1", "conditionFamilyId": "195907", "description": [ "Policy: 'AirMonitor ML Dashboard Staging'. Condition: 'Latency in Staging'" ], "incidentId": "97373770-caad-46cd-a69d-a358de3be090", "policyIds": "40053", "priority": "CRITICAL", "state": "CREATED", "title": "[\"Metric query result is > 0.69 for 5 minutes on 'Latency in Staging'\"]", "updatedAt": 1651059983059 } ] } } } } },
인시던트 이벤트 나열 및 필터링
incidentsEvents
쿼리를 사용하면 계정당 모든 인시던트 이벤트를 페이지로 나눌 수 있습니다. 또한 인시던트 이벤트에 대한 일부 필터링 기능을 허용합니다.
필터링 데이터를 제공하지 않으면 지난 24시간 동안의 인시던트 이벤트 데이터를 받게 됩니다.
요구
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { incidentsEvents { incidents { priority incidentId state title updatedAt description } } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "incidentsEvents": { "incidents": [ { "description": [ "Policy: 'e2e: hrr9ISoLd'. Condition: 'e2e: VceqCmtcT'" ], "incidentId": "693b7dcb-5a6b-4923-acaa-9d4e7e568ae5", "priority": "CRITICAL", "state": "CLOSED", "title": "[\"Provider . Burst Balance . Average < 1 at least once in 2 minutes on 'vol-03e3199dd4b4ffac4'\"]", "updatedAt": 1651060591602 }, { "description": [ "Policy: 'e2e: hrr9ISoLd'. Condition: 'e2e: VceqCmtcT'" ], "incidentId": "fb0dcb8b-052f-4056-8579-ff7cae8fa879", "priority": "CRITICAL", "state": "CLOSED", "title": "[\"Provider . Burst Balance . Average < 1 at least once in 2 minutes on 'vol-00163b96c3ccd2199'\"]", "updatedAt": 1651060587005 }, { "description": [ "Policy: 'AirMonitor ML Dashboard Staging'. Condition: 'Latency in Staging'" ], "incidentId": "42bcd3e2-bc2d-4a3d-9e85-ebd8597e6eba", "priority": "CRITICAL", "state": "CLOSED", "title": "[\"Metric query result is > 0.69 for 5 minutes on 'Latency in Staging'\"]", "updatedAt": 1651060560312 },
커서 페이지 매김
데이터를 페이지로 나누려면 초기 쿼리에 nextCursor
필드를 포함해야 합니다.
인시던트 이벤트 필터링
엔터티 가이드, 엔터티 유형, 인시던트 우선 순위 또는 인시던트 상태 또는 이들의 조합을 기준으로 인시던트 이벤트를 필터링합니다.
"Filter incidents events"input FilterIncidentsEvents { "entityGuids" entityGuids: [EntityGuid!] "entityTypes" entityTypes: [String!] "ids" ids: [ID!]}
timeWindow
EpochMilliseconds
형식의 시작 및 종료 시간. 제공되지 않은 경우 기본값은 지난 24시간입니다.- 그리고 이미 본 것처럼
cursor
입니다.
인시던트 이벤트를 쿼리하여 'incidentId'를 얻을 수 있도록 합시다.
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { incidentsEvents( filter: { ids: "cd512082-6ebe-46ac-a6dc-d387dc86dc80" } ) { incidents { priority incidentId state title updatedAt description createdAt timestamp ... on AiIssuesNewRelicIncident { accountIds policyIds } } } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "incidentsEvents": { "incidents": [ { "accountIds": "1", "createdAt": "1651060523109", "description": [ "Policy: 'KPT: Low-urgency'. Condition: 'Kafka broker offline'" ], "incidentId": "cd512082-6ebe-46ac-a6dc-d387dc86dc80", "policyIds": "80113", "priority": "CRITICAL", "state": "CREATED", "timestamp": 1651060523110, "title": "[\"Signal lost for 35 minutes on 'Kafka broker offline'\"]", "updatedAt": 1651060523110 }, { "accountIds": "1", "createdAt": "1651060523109", "description": [ "Policy: 'KPT: Low-urgency'. Condition: 'Kafka broker offline'" ], "incidentId": "cd512082-6ebe-46ac-a6dc-d387dc86dc80", "policyIds": "80113", "priority": "CRITICAL", "state": "CREATED", "timestamp": 1651060523110, "title": "[\"Signal lost for 35 minutes on 'Kafka broker offline'\"]", "updatedAt": 1651060523110 }, { "accountIds": "1", "createdAt": "1651060523109", "description": [ "Policy: 'KPT: Low-urgency'. Condition: 'Kafka broker offline'" ],
문제 기능 구성
문제 서비스에는 몇 가지 구성 매개변수가 있습니다.
환경에 대한 현재 구성 매개변수를 가져오려면 configByEnvironment
쿼리를 실행할 수 있습니다.
요구
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { configByEnvironment { config { flappingInterval inactivePeriod incidentTimeout issueTtl maxIssueSize } } } } }}
결과
{ "data": { "currentUser": { "account": { "aiIssues": { "configByEnvironment": { "config": { "flappingInterval": 0, "gracePeriod": [ { "period": 60, "priority": "CRITICAL" }, { "period": 300, "priority": "HIGH" }, { "period": 600, "priority": "MEDIUM" }, { "period": 900, "priority": "LOW" } ], "inactivePeriod": 14400, "incidentTimeout": 90000, "issueTtl": 259200, "maxIssueSize": 5000 } } } } } }
여기에서 각 환경 구성에는 다음 매개변수가 있습니다.
"Environment configuration object"type EnvironmentConfiguration { "Flapping interval in seconds" flappingInterval: Seconds "Grace periods per priority" gracePeriod: [GracePeriodConfig!] "Inactive period in seconds" inactivePeriod: Seconds "Incident timeout in seconds" incidentTimeout: Seconds "Issue TTL in seconds" issueTtl: Seconds "Max incidents in the issue" maxIssueSize: Int}
해당 mutations
사용하여 issueTtl
및 gracePeriod
환경 구성 매개변수를 변경할 수도 있습니다.
aiIssuesUpdateIssueTtl
aiIssuesUpdateGracePeriod
요구
mutation { aiIssuesUpdateIssueTtl(accountId: YOUR_ACCOUNT_ID, issueTtl: 259200) { error config { flappingInterval gracePeriod { period priority } inactivePeriod incidentTimeout issueTtl maxIssueSize } }}
결과
{ "data": { "aiIssuesUpdateIssueTtl": { "config": { "flappingInterval": 0, "gracePeriod": [ { "period": 60, "priority": "CRITICAL" }, { "period": 300, "priority": "HIGH" }, { "period": 600, "priority": "MEDIUM" }, { "period": 900, "priority": "LOW" } ], "inactivePeriod": 14400, "incidentTimeout": 90000, "issueTtl": 259200, "maxIssueSize": 5000 }, "error": null } },
문제 확인 또는 확인 취소
mutations
사용하면 issueId
로 주어진 문제를 확인하거나 확인하지 않고 해결할 수 있습니다.
- aiIssuesAckIssue
- aiIssuesResolveIssue
- aiIssuesUnackIssue
요구
mutation { aiIssuesResolveIssue( accountId: 10581561 issueId: "f0846f5e-fc9d-4dc0-afdd-07cce7cc6fc4" ) { error result { action accountId issueId routingKey } }}
결과
{ "data": { "aiIssuesResolveIssue": { "error": null, "result": { "accountId": 10581561, "action": "RESOLVE", "issueId": "f0846f5e-fc9d-4dc0-afdd-07cce7cc6fc4", "routingKey": "93538a443af520d10e7999fdb183ebf21e4cb6bd" } }
명령줄에서 실행
명령줄에서 쿼리를 실행하려면:
1 API 키를 가져오거나 API 키 UI 에서 가져오거나 생성합니다.
2 다음을 사용하여 셸로 내보냅니다. export API_KEY=my_api_key
3 다음 예제를 실행합니다.
중요
요청에 실험적 수신 동의 헤더를 포함해야 합니다. 그렇지 않으면 다음과 같은 액세스 오류가 발생합니다.
{"data":{"actor":{"account":{"aiIssues":{"issues":null}}}},"errors":[{"extensions":{"errorClass":"ACCESS_DENIED","nrOnly":{}},"locations":[{"column":70,"line":1}],"message":"You must opt in to using experimental schemas by passing the 'nerd-graph-unsafe-experimental-opt-in: AiIssues' header.\n\nProviding the header indicates that you acknowlege that the field(s) you are querying are subject to breaking changes.\n","path":["actor","account","aiIssues","issues"]}]}%
지난 24시간 동안의 모든 문제 나열
GraphQL UI에서 요청이 보이는 방식
{ currentUser { account(id: YOUR_ACCOUNT_ID) { aiIssues { issues { issues { issueId priority state title } } } } }}
명령줄에서 동일한 요청
{ "data": { "aiIssuesResolveIssue": { "error": null, "result": { "accountId": 10581561, "action": "RESOLVE", "issueId": "f0846f5e-fc9d-4dc0-afdd-07cce7cc6fc4", "routingKey": "93538a443af520d10e7999fdb183ebf21e4cb6bd" } }
결과
{ "data": { "actor": { "account": { "aiIssues": { "issues": { "issues": [ { "issueId": "eb152a9f-def7-45bd-9b3f-34ec61ef8c82", "priority": "MEDIUM", "state": "CREATED", "title": [ "Anomaly: It was different from normal" ] }, { "issueId": "9ae6a86a-582f-4102-8757-ee11c1a20dfc", "priority": "HIGH", "state": "CREATED", "title": [ "Web throughput < 50 for at least 5 minutes on 'error-group-control-plane (staging)'" ] }, { "issueId": "e19aa2d0-2b12-4148-aedd-848577e9c4fc", "priority": "CRITICAL", "state": "CREATED", "title": [ "clm-10 query result is > 1.0 for 15 minutes on 'NO_CONSUMER'" ] }, { "issueId": "9184ab3c-4e45-4bc9-b2a5-f78c23a13197", "priority": "MEDIUM", "state": "CREATED", "title": [ "Anomaly: It was different from normal" ] }, { "issueId": "e2d05a25-2a7e-4b3c-b5bf-8a236f2a0360", "priority": "MEDIUM", "state": "CREATED", "title": [ "Anomaly: It was different from normal" ] }, { "issueId": "b478bd0e-baa1-42ed-8911-d32249d45010", "priority": "CRITICAL", "state": "ACTIVATED", "title": [ "PageViewTiming query deviated from the baseline at least once in 5 minutes on 'Onyx_check_Mark test'" ] }, { "issueId": "f672153a-262b-4405-85a7-874709ed21ff", "priority": "MEDIUM", "state": "CREATED", "title": [ "Anomaly: It was different from normal" ] }, ...