뉴렐릭을 사용하면 NerdGraph Scorecards GraphQL 변형을 사용하여 Scorecards와 규칙을 관리할 수 있습니다. 이러한 변형을 통해 기존의 스텔라우 및 통합에서 스코어카드와 관련 규칙을 만들고, 업데이트하고, 삭제하고, 검색할 수 있습니다.
이 튜토리얼에서는 NerdGraph를 사용하여 스코어카드와 규칙을 관리하는 방법에 대한 예제를 제공합니다. 이러한 예제를 사용하여 스코어카드 생성, 규칙 추가 및 스코어카드 세부 정보 업데이트와 같은 스코어카드 관리 작업을 자동화할 수 있습니다. 스코어카드 관리를 위한 사용자 지정 권한을 설정해야 하는 경우 스코어카드용 사용자 지정 역할 생성을 참조하십시오.
돌연변이
뉴렐릭은 스코어카드와 관련 규칙을 만들고 관리하기 위한 다양한 NerdGraph 변형을 제공합니다.
스코어카드와 규칙을 관리하려면 조직 ID를 제공해야 합니다. actor 쿼리를 사용하여 조직 ID를 검색할 수 있습니다.
샘플 요청
query FetchYourOrgId { actor { organization { id } }}entityManagementCreateScorecard 변형을 사용하여 나만의 스코어카드를 만들 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
|---|---|---|---|
| 문자열 | 네 | 스코어카드의 이름. |
| 문자열 | 아니요 | 스코어카드에 대한 간략한 설명입니다. |
| 문자열 | 네 | 귀하의 조직 ID입니다. |
샘플 요청
mutation CreateScorecard($name: String!, $desc: String, $organizationId: ID!) { entityManagementCreateScorecard( scorecardEntity: { description: $desc name: $name scope: { type: ORGANIZATION, id: $organizationId } } ) { entity { id rules { id } } }}// PARAMETERS{ "description": "Test test Best Practices", "name": "Test Engineering Best Practices", "organizationId": "xxxxxxxx-yyyy-0000-aaaa-0123456789qwe"}entityManagementCreateScorecardRule 변형을 사용하여 스코어카드에 대한 새 규칙을 만들 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
|---|---|---|---|
| 문자열 | 네 | 규칙의 이름. |
| 문자열 | 아니요 | 규칙에 대한 간략한 설명입니다. |
| 문자열 | 네 | 규정 준수를 평가하기 위한 NRQL 쿼리입니다. |
| Int | 네 | 규칙이 쿼리를 실행해야 하는 계정 ID 목록입니다. |
| Int | 아니요 | 쿼리가 실행되는 각 계정에 결합되어야 하는 계정 ID 목록입니다. |
| 문자열(ID) | 네 | 귀하의 조직 ID, 위의 참조하여 가져오는 방법을 알아보세요. |
샘플 요청
mutation CreateRule( $name: String! $description: String $query: String! $accounts: [Int!]! $joinAccounts: [Int!] $organizationId: ID!) { entityManagementCreateScorecardRule( scorecardRuleEntity: { name: $name description: $description enabled: true nrqlEngine: { accounts: $accounts joinAccounts: $joinAccounts query: $query } scope: { id: $organizationId, type: ORGANIZATION } } ) { entity { id # RULE Id } }}// PARAMETERS{ "name": "APM Services Have Alerts Defined", "description": "Check that APM services have alerts associated with them", "accounts": [1, 2, 3], "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", "organizationId": "xxxxxxxx-yyyy-0000-aaaa-0123456789qwe"}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 목록입니다. |
| Int | 아니요 | 쿼리가 실행되는 각 계정에 결합되어야 하는 계정 ID 목록입니다. |
| 부울 | 아니요 | 규칙을 활성화하거나 비활성화합니다. |
샘플 요청
mutation UpdateRule( $ruleId: ID! $name: String! $description: String $query: String! $queryAccounts: [Int!]! $joinAccounts: [Int!] $enabled: Boolean) { entityManagementUpdateScorecardRule( id: $ruleId scorecardRuleEntity: { description: $description name: $name enabled: $enabled nrqlEngine: { accounts: $queryAccounts joinAccounts: $joinAccounts query: $query } } ) { entity { id name description nrqlEngine { accounts joinAccounts 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 } } } } }}FetchRulesCollection 질문
FetchScorecardDetails 응답에서 얻은 규칙 ID가 필요한 FetchRulesCollection 쿼리를 사용하여 컬렉션의 세부 정보를 검색할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 꼭 필요한가요? | 설명 |
|---|---|---|---|
| 문자열 | 네 | 응답에서 얻은 ID입니다. |
샘플 요청
query FetchRulesCollection($rulesId: ID!) { actor { entityManagement { collectionElements(filter: { collectionId: { eq: $rulesId } }) { items { ... on EntityManagementScorecardRuleEntity { id name nrqlEngine { accounts joinAccounts query } } } nextCursor } } }}