New Relic では、NerdGraphスコアカードGraphQL ミューテーションを使用してスコアカードとルールを管理できます。 これらのミューテーションにより、既存のワークフローおよびインテグレーションでスコアカードとそれに関連するルールを作成、更新、削除、取得できます。
このチュートリアルでは、NerdGraph を使用してスコアカードとルールを管理する方法の例を示します。 これらの例を使用して、スコアカードの作成、ルールの追加、スコアカードの詳細の更新などのスコアカード管理タスクを自動化できます。
変異
New Relic は、スコアカードと関連ルールを作成および管理するためのさまざまな 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 のリスト。 |
| 文字列 (ID) | はい | 組織 ID。取得方法については、上記の 参照してください。 |
サンプルリクエスト
mutation CreateRule($name: String!, $description: String, $query: String!, $accounts: [Int!]!, $organizationId: ID!) { entityManagementCreateScorecardRule( scorecardRuleEntity: { name: $name, description: $description enabled: true, nrqlEngine: { accounts: $accounts, 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", "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
ミューテーションを使用してスコアカードのルールを更新できます。
入力
パラメータ | データタイプ | 必須ですか? | 説明 |
---|---|---|---|
| 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 } } } } }}
FetchRulesCollection
クエリ
FetchRulesCollection
クエリを使用してコレクションの詳細を取得できます。このクエリには、 FetchScorecardDetails
応答から取得したルール ID が必要です。
入力
パラメータ | データタイプ | 必須ですか? | 説明 |
---|---|---|---|
| 弦 | はい | 応答から取得された ID。 |
サンプルリクエスト
query FetchRulesCollection($rulesId: ID!) { actor { entityManagement { collectionElements(filter: { collectionId: { eq: $rulesId } }) { items { ... on EntityManagementScorecardRuleEntity { id name nrqlEngine { accounts query } } } nextCursor } } }}