Compare os resultados do NRQL em janelas de tempo para detectar anomalias que alertas padrão não conseguem detectar.
Requisitos:
- Conta New Relic
- Destino de e-mail (consulte Enviar notificações)
- Agendar via API CreateSchedule.
Ações principais: newrelic.nrdb.query, newrelic.notification.sendEmail
Caso de uso: use este padrão quando os alertas padrão não puderem atender aos requisitos, como:
- Comparando a Métrica em múltiplas janelas de tempo.
- Aplicar operações matemáticas personalizadas aos resultados da consulta
- Acionado somente quando limites ou padrões específicos são detectados.
- Combinar dados de múltiplas consultas com lógica condicional.
name: Complex_Alert_Workflow description: 'Compares NRQL results across time windows and sends alerts when new events are detected'
workflowInputs: destinationId: type: String query: type: String defaultValue: 'FROM Span SELECT count(*)'
steps: - name: query1 type: action action: newrelic.nrdb.query version: 1 inputs: query: "${{ .workflowInputs.query }} SINCE 10 minutes ago UNTIL 5 minutes ago" accountIds: - 7401815 selectors: - name: length expression: '[ .results[] | length ]' - name: count expression: '[ .results[0].count ]'
- name: query2 type: action action: newrelic.nrdb.query version: 1 inputs: query: "${{ .workflowInputs.query }} SINCE 5 minutes ago" accountIds: - 7401815 selectors: - name: length expression: '[ .results[] | length ]' - name: count expression: '[ .results[0].count ]'
- name: CheckForNewEvents type: switch switch: - condition: >- ${{ (.steps.query2.outputs.count - .steps.query1.outputs.count) > 0 }} next: sendEmail next: end
- name: sendEmail type: action action: newrelic.notification.sendEmail version: 1 inputs: destinationId: ${{ .workflowInputs.destinationId }} subject: Hello there! message: >- More spans incoming!!! There are --- ${{ (.steps.query2.outputs.count - .steps.query1.outputs.count) }} --- new Spans that were ingested in the last 5 minutes attachments: - type: QUERY query: ${{ .workflowInputs.query }} SINCE 5 minutes ago format: CSV filename: span_count.csv next: endPara agendar, use a API CreateSchedule com a expressão cron */10 * * * * (a cada 10 minutos). O intervalo mínimo é de 10 minutos. Consulte limites do fluxo de trabalho para obter detalhes.
Qual é o próximo
- Reversão de implantação: monitoramento automatizado de implantação
- Gerenciamento de EC2: Automação de infraestrutura