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