뉴렐릭을 사용하면 NerdGraph Scorecards GraphQL 변형을 사용하여 Scorecards와 규칙을 관리할 수 있습니다. 이러한 변형을 통해 기존의 스텔라우 및 통합에서 스코어카드와 관련 규칙을 만들고, 업데이트하고, 삭제하고, 검색할 수 있습니다.
이 튜토리얼에서는 NerdGraph를 사용하여 스코어카드와 규칙을 관리하는 방법의 예를 제공합니다. 이러한 예를 사용하면 스코어카드 생성, 규칙 추가, 스코어카드 세부 정보 업데이트 등의 스코어카드 관리 작업을 자동화할 수 있습니다.
돌연변이
뉴렐릭은 스코어카드와 관련 규칙을 만들고 관리하기 위한 다양한 NerdGraph 변형을 제공합니다.
entityManagementCreateScorecard
변형을 사용하여 나만의 스코어카드를 만들 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| 문자열 | 네 | 스코어카드의 이름. |
| 문자열 | 아니요 | 스코어카드에 대한 간략한 설명입니다. |
| 문자열 | 네 | 상품이 저장되는 계정입니다. |
샘플 요청
mutation CreateScorecard($description: String, $name: String!, $id: ID!) { entityManagementCreateScorecard( scorecardEntity: {description: $description, name: $name, scope: {id: $id, type: ACCOUNT}} ) { entity { description id rules { id // COLLECTION ID } name } } } // PARAMETERS { "description": "Test test Best Practices", "name": "Test Engineering Best Practices", "id": 1 }
entityManagementCreateScorecardRule
변형을 사용하여 스코어카드에 대한 새 규칙을 만들 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| 문자열 | 네 | 규칙의 이름. |
| 문자열 | 아니요 | 규칙에 대한 간략한 설명입니다. |
| 문자열 | 네 | 규정 준수를 평가하기 위한 NRQL 쿼리입니다. |
| Int | 네 | 규칙이 쿼리를 실행해야 하는 계정 ID 목록입니다. |
샘플 요청
mutation CreateRule($name: String!, $description: String, $query: String!, $accounts: [Int!]!) { entityManagementCreateScorecardRule( scorecardRuleEntity: { name: $name, description: $description enabled: true, nrqlEngine: { accounts: $accounts, query: $query }, scope: {id: 1, type: ACCOUNT}} ) { entity { id // RULE Id } } }
entityManagementCreateScorecardRule
변형을 사용하여 스코어카드에 대한 새 규칙을 만들 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| 문자열 | 네 | 규칙의 이름. |
| 문자열 | 아니요 | 규칙에 대한 간략한 설명입니다. |
| 문자열 | 네 | 규정 준수를 평가하기 위한 NRQL 쿼리입니다. |
| Int | 네 | 규칙이 쿼리를 실행해야 하는 계정 ID 목록입니다. |
샘플 요청
mutation CreateRule($name: String!, $description: String, $query: String!, $accounts: [Int!]!) { entityManagementCreateScorecardRule( scorecardRuleEntity: { name: $name, description: $description enabled: true, nrqlEngine: { accounts: $accounts, query: $query }, scope: {id: 1, type: ACCOUNT}} ) { entity { id // RULE Id } } }
// PARAMETERS { "name": "APM Services Have Alerts Defined", "description": "Check that APM services have alerts associated with them", "query": "SELECT if(latest(alertSeverity) != 'NOT_CONFIGURED', 1, 0) as 'score' FROM Entity WHERE type = 'APM-APPLICATION' AND tags.nr.team IS NOT NULL AND tags.environment IS NOT NULL FACET id as 'entityGuid', tags.nr.team as 'team', tags.environment as 'environment' LIMIT MAX SINCE 1 day ago", "accounts": [1] }
entityManagementAddCollectionMembers
변형을 사용하여 규칙을 스코어카드와 연결할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| 문자열 | 네 | 규칙을 추가하려면 스코어카드 ID를 사용하세요. |
| 문자열 | 네 | 스코어카드에 추가할 규칙 ID 목록입니다. |
샘플 요청
mutation AddRuleToCollection($collectionId: ID!, $rules: [ID!]!) { entityManagementAddCollectionMembers( collectionId: $collectionId ids: $rules ) } // PARAMETERS { "collectionId": "", // Collection ID is from the rule.id from scorecard entity "rules": [] // Provide list of all rule ids which are generated during rule creation. }
entityManagementUpdateScorecard
변형을 사용하여 기존 스코어카드의 세부 정보를 업데이트할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| 문자열 | 네 | 스코어카드의 고유 식별자입니다. |
| 문자열 | 아니요 | 스코어카드에 대한 설명이 업데이트되었습니다. |
| 문자열 | 네 | 스코어카드 이름이 업데이트되었습니다. |
샘플 요청
mutation UpdateScorecard($id: ID!, $description: String, $name: String!) { entityManagementUpdateScorecard( id: $id scorecardEntity: { description: $description, name: $name } ) { entity { name id rules { id } } }}
entityManagementUpdateScorecardRule
변형을 사용하여 Scorecard의 규칙을 업데이트할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| ID | 네 | 규칙의 고유 식별자입니다. |
| 문자열 | 네 | 규칙의 이름. |
| 문자열 | 아니요 | 규칙에 대한 간략한 설명입니다. |
| 문자열 | 네 | 규정 준수를 평가하기 위한 NRQL 쿼리입니다. |
| Int | 네 | 규칙이 쿼리를 실행해야 하는 계정 ID 목록입니다. |
| 부울 | 아니요 | 규칙을 활성화하거나 비활성화합니다. |
샘플 요청
mutation UpdateRule( $ruleId: ID! $name: String! $description: String $query: String! $queryAccounts: [Int!]! $enabled: Boolean) { entityManagementUpdateScorecardRule( id: $ruleId scorecardRuleEntity: { description: $description name: $name enabled: $enabled nrqlEngine: { accounts: $queryAccounts, query: $query } } ) { entity { id name description nrqlEngine { accounts query } } }}
entityManagementDelete
변형을 사용하여 기존 스코어카드나 규칙을 삭제할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| ID | 네 | 삭제할 목표 스코어카드 또는 규칙 ID입니다. |
샘플 요청
mutation DeleteEntity($id: ID!) { entityManagementDelete(id: $id) { id }}
스코어카드에 대한 NerdGraph 쿼리
FetchScorecardDetails
쿼리를 사용하여 특정 스코어카드와 관련된 모든 규칙을 검색할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| 문자열 | 네 | 규칙을 가져오려면 스코어카드의 ID를 사용하세요. |
샘플 요청
query FetchScorecardDetails($scorecardId: ID!) { actor { entityManagement { entity(id: $scorecardId) { ... on EntityManagementScorecardEntity { name description rules { id } } } } }}
FindRuleOwnerCollections
쿼리를 사용하여 규칙이 포함된 컬렉션 ID를 먼저 검색한 다음, FetchCollectionParent
쿼리를 사용하여 컬렉션 부모의 세부 정보를 검색하여 특정 규칙과 관련된 스코어카드 세부 정보를 검색할 수 있습니다.
FindRuleOwnerCollections
질문
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| 문자열 | 네 | 규칙의 고유 식별자입니다. |
샘플 요청
query FindRuleOwnerCollections($ruleId: ID!) { actor { entityManagement { relationships( filter: { targetId: { eq: $ruleId }, type: { eq: "HAS_MEMBER" } } ) { items { source { id type } type } } } }}
FetchCollectionParent
질문
FindRuleOwnerCollections
응답에서 얻은 컬렉션 ID가 필요한 FetchCollectionParent
쿼리를 사용하여 컬렉션 부모의 세부 정보를 검색할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
---|---|---|---|
| 문자열 | 네 |
응답에서 얻은 ID입니다. |
샘플 요청
query FetchRulesCollection($rulesId: ID!) { actor { entityManagement { collectionElements(filter: { collectionId: { eq: $rulesId } }) { items { ... on EntityManagementScorecardRuleEntity { id name nrqlEngine { accounts query } } } nextCursor } } }}