Dica
Este procedimento faz parte do curso que ensina como criar um início rápido. Se ainda não o fez, confira a introdução do curso.
Como este procedimento se baseia nos últimos do laboratório, crie alertas e entenda a estrutura de diretórios do início rápido antes de prosseguir com este.
Em um procedimento anterior, você criou alertas para notificar caso haja algum problema com o FlashDB. Agora, você adiciona no seu início rápido para que seu usuário também possa utilizá-lo.
Se ainda não o fez, bifurque o repositório de início rápido do New Relic e clone-o em sua máquina local.
Abra seu projeto no IDE de sua preferência e navegue até o diretório \_template
.
Aqui, copie o diretório alert-policies/example-alert-policy
e seu conteúdo para o diretório alert-policies
no nível raiz. Renomeie o diretório como flashdb
.
Este diretório contém arquivos YAML de amostra para alertas estáticos e baseline para contribuir com os alertas correspondentes para o New Relic I/O. Para ajudá-lo a preencher seus arquivos yaml, você pode usar New Relic o NerdGraph API Explorer da para obter uma representação JSON de cada condição do alerta.
Dica
NerdGraph é a API GraphQL da New Relic.
Preencha sua configuração de alerta com NerdGraph
O NerdGraph permite que você consulte seus alertas existentes e ajuda você a configurá-los no seu início rápido. Para preencher seu alerta de configuração com o NerdGraph, primeiro você precisa procurar seu identificador.
Na sua política de alertas, clique na condição para obter seu ID.
Com este identificador, agora você pode consultar sua condição de alerta e usar a resposta para construir recursos de alerta em seu início rápido.
Consulta condição do alerta no NerdGraph
Abra o explorador NerdGraph e selecione sua chave no menu dropdown.
Construir uma consulta é simples no explorer. Marque as caixas apropriadas para construir uma consulta GraphQL ou copie a consulta GraphQL a seguir e cole-a no painel central do explorer para consultar a condição estática do alerta.
{ actor { account(id: REPLACE_ACCOUNT_ID) { alerts { nrqlCondition(id: REPLACE_CONDITION_ID) { ... on AlertsNrqlStaticCondition { id name nrql { query } } terms { operator priority threshold thresholdDuration thresholdOccurrences } } } } }}
Aqui, você consulta AlertsNrqlStaticCondition
para obter o ID, o nome, a consulta da sua condição e muito mais. Estes são os campos obrigatórios de que você precisa para criar o mesmo alerta em seu início rápido.
Importante
Certifique-se de substituir o ID da sua conta e o ID da condição na consulta acima.
Execute a consulta para obter uma representação JSON da condição especificada.
Em seguida, use esta resposta para adicionar um alerta estático ao início rápido.
Dica
Observe que as caixas de seleção no painel esquerdo são marcadas quando você cola a consulta no explorer. Esta consulta retorna os campos necessários para adicionar um alerta ao início rápido. Se você definiu campos personalizados ou deseja consultar mais informações, sinta-se à vontade para editar a consulta no painel central do explorador ou marcar a caixa correspondente no painel esquerdo.
No diretório alert-policies/flashdb
, renomeie o arquivo static-alert.yml
para SlowReadResponse.yml
e preencha-o com os dados retornados da consulta acima.
# Name of the alertname: slow read response
# Description and detailsdetails: |+ This alert is triggered when read operation takes longer than 0.8.
# Type of alerttype: STATIC
# NRQL querynrql: query: "SELECT average(fdb_read_responses) FROM Metric"
# Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE)valueFunction: SINGLE_VALUE
# List of Critical and Warning thresholds for the conditionterms:- priority: CRITICAL # Operator used to compare against the threshold. operator: ABOVE # Value that triggers a violation threshold: 0.9 # Time in seconds; 120 - 3600 thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL
# Adding a Warning threshold is optional- priority: WARNING operator: ABOVE threshold: 0.8 thresholdDuration: 300 thresholdOccurrences: ALL
# Duration after which a violation automatically closes# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])violationTimeLimitSeconds: 259200
Aqui, você adicionou uma condição estática do alerta ao início rápido.
Para consultar sua condição baseline , copie a consulta GraphQL a seguir e cole-a no painel central do explorador.
{ actor { account(id: 3014901) { alerts { nrqlCondition(id: 28068735) { ... on AlertsNrqlBaselineCondition { id name nrql { query } baselineDirection terms { priority threshold thresholdDuration thresholdOccurrences operator } violationTimeLimitSeconds } } } } }}
Aqui, você consulta AlertsNrqlBaselineCondition
pelo nome da sua condição, consulta baselineDirection
e outros campos necessários para adicionar a condição ao seu início rápido.
Importante
Certifique-se de substituir o ID da sua conta e o ID da condição na consulta acima.
Execute a consulta para obter os dados de configuração do seu alerta. A seguir, use esta resposta para adicionar um alerta baseline ao seu início rápido.
Dica
Observe que as caixas de seleção no painel esquerdo são marcadas quando você cola a consulta no explorer. Esta consulta retorna os campos necessários para adicionar um alerta ao início rápido. Se você definiu campos personalizados ou deseja consultar mais informações, sinta-se à vontade para editar a consulta no painel central do explorador ou marcar a caixa correspondente no painel esquerdo.
No diretório alert-policies/flashdb
, renomeie o arquivo baseline-alert.yml
para LowCacheHitRatio.yml
e preencha-o com os dados retornados da consulta acima.
# Name of the alertname: low cache hit ratio
# Description and detailsdetails: |+ This alert is triggered whenever the cache hit ratio deviates 2 standard deviations from the normal.
# Type of alerttype: BASELINE
# NRQL querynrql: # Baseline alerts can use an optional FACET query: "SELECT sum(fdb_cache_hits)/sum(fdb_read_responses) FROM Metric"
# Direction in which baseline is set (Default: LOWER_ONLY)baselineDirection: LOWER_ONLY
# List of Critical and Warning thresholds for the conditionterms:- priority: CRITICAL # Operator used to compare against the threshold. operator: ABOVE # Value that triggers a violation threshold: 3 # Time in seconds; 120 - 3600, must be a multiple of 60 for Baseline conditions thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL
# Adding a Warning threshold is optional- priority: WARNING operator: ABOVE threshold: 2 thresholdDuration: 300 thresholdOccurrences: ALL
# Duration after which a violation automatically closes# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])violationTimeLimitSeconds: 259200
Aqui, você adicionou uma condição baseline ao início rápido.
Dica
Este procedimento faz parte do curso que ensina como criar um início rápido. Continue na próxima lição: adicionar uma fonte de dados.