avance
Todavía estamos trabajando en esta característica, ¡pero nos encantaría que la probaras!
Esta característica se proporciona actualmente como parte de un programa de vista previa de conformidad con nuestras políticas de prelanzamiento.
New Relic le permite usar mutaciones GraphQL de NerdGraph Scorecards para gestionar Scorecards y reglas. Estas mutaciones le permiten crear, actualizar, eliminar y recuperar cuadros de mando y sus reglas asociadas en su flujo de trabajo e integración existente.
Este tutorial proporciona ejemplos de cómo emplear NerdGraph para gestionar cuadros de mando y reglas. Puede emplear estos ejemplos para automatizar las tareas de gestión del cuadro de mando, como crear cuadros de mando, agregar reglas y actualizar los detalles del cuadro de mando.
Mutaciones
New Relic proporciona varias mutaciones de NerdGraph para crear y gestionar cuadros de mando y reglas relacionadas.
Puedes crear tu propio cuadro de mando empleando la mutación entityManagementCreateScorecard
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| Cadena | Sí | El nombre del Cuadro de Mando. |
| Cadena | No | Una breve descripción del Cuadro de Mando. |
| Cadena | Sí | La cuenta donde se almacenará la entidad. |
Solicitud de muestra
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 }
Puede crear una nueva regla para un cuadro de mando empleando la mutación entityManagementCreateScorecardRule
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| Cadena | Sí | El nombre de la regla. |
| Cadena | No | Una breve descripción de la regla. |
| Cadena | Sí | Una consulta NRQL para evaluar el cumplimiento. |
| En t | Sí | Lista de ID de cuentas donde la regla debe ejecutar la consulta. |
Solicitud de muestra
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 } } }
Puede crear una nueva regla para un cuadro de mando empleando la mutación entityManagementCreateScorecardRule
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| Cadena | Sí | El nombre de la regla. |
| Cadena | No | Una breve descripción de la regla. |
| Cadena | Sí | Una consulta NRQL para evaluar el cumplimiento. |
| En t | Sí | Lista de ID de cuentas donde la regla debe ejecutar la consulta. |
Solicitud de muestra
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] }
Puede asociar una regla con un cuadro de mando empleando la mutación entityManagementAddCollectionMembers
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| Cadena | Sí | ID del Scorecard para agregar las reglas. |
| Cadena | Sí | Lista de identificaciones de reglas que se agregarán al cuadro de mando. |
Solicitud de muestra
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. }
Puede actualizar los detalles de un cuadro de mando existente empleando la mutación entityManagementUpdateScorecard
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| Cadena | Sí | El identificador único del cuadro de mando. |
| Cadena | No | Descripción actualizada del Cuadro de Mando. |
| Cadena | Sí | Nombre actualizado del Cuadro de Mando. |
Solicitud de muestra
mutation UpdateScorecard($id: ID!, $description: String, $name: String!) { entityManagementUpdateScorecard( id: $id scorecardEntity: { description: $description, name: $name } ) { entity { name id rules { id } } }}
Puede actualizar una regla para el Cuadro de mando empleando la mutación entityManagementUpdateScorecardRule
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| IDENTIFICACIÓN | Sí | El identificador único de la regla. |
| Cadena | Sí | El nombre de la regla. |
| Cadena | No | Una breve descripción de la regla. |
| Cadena | Sí | Una consulta NRQL para evaluar el cumplimiento. |
| En t | Sí | Lista de ID de cuentas donde la regla debe ejecutar la consulta. |
| Booleano | No | Habilitar o deshabilitar la regla. |
Solicitud de muestra
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 } } }}
Puede eliminar un cuadro de mando o una regla existente empleando la mutación entityManagementDelete
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| IDENTIFICACIÓN | Sí | El cuadro de mando objetivo o el ID de la regla que se va a eliminar. |
Solicitud de muestra
mutation DeleteEntity($id: ID!) { entityManagementDelete(id: $id) { id }}
Consulta de NerdGraph para cuadros de mando
Puede recuperar todas las reglas asociadas con un cuadro de mando específico empleando la consulta FetchScorecardDetails
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| Cadena | Sí | ID del cuadro de mando para obtener las reglas. |
Solicitud de muestra
query FetchScorecardDetails($scorecardId: ID!) { actor { entityManagement { entity(id: $scorecardId) { ... on EntityManagementScorecardEntity { name description rules { id } } } } }}
Puede recuperar los detalles del Scorecard asociados con una regla específica recuperando primero el ID de colección que contiene la regla mediante la consulta FindRuleOwnerCollections
y luego recuperando los detalles de los padres de la colección mediante la consulta FetchCollectionParent
.
FindRuleOwnerCollections
consulta
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| Cadena | Sí | El identificador único de la regla. |
Solicitud de muestra
query FindRuleOwnerCollections($ruleId: ID!) { actor { entityManagement { relationships( filter: { targetId: { eq: $ruleId }, type: { eq: "HAS_MEMBER" } } ) { items { source { id type } type } } } }}
FetchCollectionParent
consulta
Puede recuperar los detalles de los padres de la colección empleando la consulta FetchCollectionParent
, que requiere el ID de colección obtenido de la respuesta FindRuleOwnerCollections
.
parámetro de entrada
Parámetro | Tipo de datos | ¿Es obligatorio? | Descripción |
---|---|---|---|
| Cadena | Sí | El ID obtenido de la respuesta
. |
Solicitud de muestra
query FetchRulesCollection($rulesId: ID!) { actor { entityManagement { collectionElements(filter: { collectionId: { eq: $rulesId } }) { items { ... on EntityManagementScorecardRuleEntity { id name nrqlEngine { accounts query } } } nextCursor } } }}