visualização
Ainda estamos trabalhando nesse recurso, mas adoraríamos que você experimentasse!
Atualmente, esse recurso é fornecido como parte de um programa de visualização de acordo com nossas políticas de pré-lançamento.
O New Relic permite que você use as mutações GraphQL do NerdGraph Scorecards para gerenciar Scorecards e regras. Essas mutações permitem que você crie, atualize, exclua e recupere Scorecards e suas regras associadas em seu fluxo de trabalho e integração existentes.
Este tutorial fornece exemplos de como usar o NerdGraph para gerenciar Scorecards e regras. Você pode usar esses exemplos para automatizar tarefas de gerenciamento do Scorecard, como criar Scorecards, adicionar regras e atualizar detalhes do Scorecard.
Mutações
O New Relic fornece várias mutações do NerdGraph para criar e gerenciar Scorecards e regras relacionadas.
Você pode criar seu próprio Scorecard usando a mutação entityManagementCreateScorecard
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| Corda | Sim | O nome do Scorecard. |
| Corda | Não | Uma breve descrição do Scorecard. |
| Corda | Sim | A conta onde a entidade será armazenada. |
Solicitação de amostra
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 }
Você pode criar uma nova regra para um Scorecard usando a mutação entityManagementCreateScorecardRule
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| Corda | Sim | O nome da regra. |
| Corda | Não | Uma breve descrição da regra. |
| Corda | Sim | Uma consulta NRQL para avaliar a conformidade. |
| Interno | Sim | Lista de IDs de conta onde a regra deve executar a consulta. |
Solicitação de amostra
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 } } }
Você pode criar uma nova regra para um Scorecard usando a mutação entityManagementCreateScorecardRule
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| Corda | Sim | O nome da regra. |
| Corda | Não | Uma breve descrição da regra. |
| Corda | Sim | Uma consulta NRQL para avaliar a conformidade. |
| Interno | Sim | Lista de IDs de conta onde a regra deve executar a consulta. |
Solicitação de amostra
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] }
Você pode associar uma regra a um Scorecard usando a mutação entityManagementAddCollectionMembers
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| Corda | Sim | O ID do Scorecard para adicionar as regras. |
| Corda | Sim | Lista de IDs de regras a serem adicionadas ao Scorecard. |
Solicitação de amostra
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. }
Você pode atualizar os detalhes de um Scorecard existente usando a mutação entityManagementUpdateScorecard
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| Corda | Sim | O identificador exclusivo do Scorecard. |
| Corda | Não | Descrição atualizada do Scorecard. |
| Corda | Sim | Nome atualizado do Scorecard. |
Solicitação de amostra
mutation UpdateScorecard($id: ID!, $description: String, $name: String!) { entityManagementUpdateScorecard( id: $id scorecardEntity: { description: $description, name: $name } ) { entity { name id rules { id } } }}
Você pode atualizar uma regra para o Scorecard usando a mutação entityManagementUpdateScorecardRule
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| EU IA | Sim | O identificador exclusivo da regra. |
| Corda | Sim | O nome da regra. |
| Corda | Não | Uma breve descrição da regra. |
| Corda | Sim | Uma consulta NRQL para avaliar a conformidade. |
| Interno | Sim | Lista de IDs de conta onde a regra deve executar a consulta. |
| Boleano | Não | Habilitar ou desabilitar a regra. |
Solicitação de amostra
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 } } }}
Você pode excluir um Scorecard ou regra existente usando a mutação entityManagementDelete
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| EU IA | Sim | O Scorecard de destino ou ID da regra a ser excluído. |
Solicitação de amostra
mutation DeleteEntity($id: ID!) { entityManagementDelete(id: $id) { id }}
NerdGraph consulta para Scorecards
Você pode recuperar todas as regras associadas a um Scorecard específico usando a consulta FetchScorecardDetails
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| Corda | Sim | O ID do Scorecard para buscar as regras. |
Solicitação de amostra
query FetchScorecardDetails($scorecardId: ID!) { actor { entityManagement { entity(id: $scorecardId) { ... on EntityManagementScorecardEntity { name description rules { id } } } } }}
Você pode recuperar os detalhes do Scorecard associados a uma regra específica recuperando primeiro o ID da coleção que contém a regra usando a consulta FindRuleOwnerCollections
e, em seguida, recuperando os detalhes dos pais da coleção usando a consulta FetchCollectionParent
.
FindRuleOwnerCollections
consulta
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| Corda | Sim | O identificador exclusivo da regra. |
Solicitação de amostra
query FindRuleOwnerCollections($ruleId: ID!) { actor { entityManagement { relationships( filter: { targetId: { eq: $ruleId }, type: { eq: "HAS_MEMBER" } } ) { items { source { id type } type } } } }}
FetchCollectionParent
consulta
Você pode recuperar os detalhes dos pais da coleção usando a consulta FetchCollectionParent
, que requer o ID da coleção obtido da resposta FindRuleOwnerCollections
.
Parâmetro de entrada
Parâmetro | Tipo de dados | É obrigatório? | Descrição |
---|---|---|---|
| Corda | Sim | O ID obtido da resposta
. |
Solicitação de amostra
query FetchRulesCollection($rulesId: ID!) { actor { entityManagement { collectionElements(filter: { collectionId: { eq: $rulesId } }) { items { ... on EntityManagementScorecardRuleEntity { id name nrqlEngine { accounts query } } } nextCursor } } }}