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.
Para gestionar cuadros de mando y reglas, debe proporcionar el ID de su organización. Puede recuperar el ID de su organización mediante la consulta actor
.
Solicitud de muestra
query FetchYourOrgId { actor { organization { id } }}
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í | ID de su organización. |
Solicitud de muestra
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" }
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. |
| Cadena (ID) | Sí | El ID de su organización, consulte Obtener el ID de su organización más arriba para saber cómo obtenerlo |
Solicitud de muestra
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" }
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 } } } } }}
FetchRulesCollection
consulta
Puede recuperar los detalles de la recopilación empleando la consulta FetchRulesCollection
, que requiere el ID de reglas obtenido de la respuesta FetchScorecardDetails
.
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 } } }}