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.
Depois de criar um fluxo de trabalho, você pode acioná-lo de três maneiras: por meio de alertas, manualmente sob demanda ou de acordo com um agendamento.
Escolha seu método de ativação
Selecione a abordagem adequada para o seu caso de uso:
Acionado por alertas | Acionado por alertas | Executar conforme o cronograma |
|---|---|---|
Resposta automatizada a incidentes | Testando novo fluxo de trabalho | Verificações regulares de saúde |
Correção automática (redimensionar EC2, reverter) | Operações manuais | Processamento periódico de dados |
Alerta enriquecido | Manutenção ad hoc | Relatórios diários ou semanais |
Configuração: Configurar como destino de alerta | API: CriarAgenda |
Dica
Quando as condições de alerta são violadas, New Relic pode acionar automaticamente o fluxo de trabalho configurando a automação do fluxo de trabalho como destino. Os valores issueId e accountId são passados automaticamente. Consulte Enviar notificação do fluxo de trabalho para obter instruções de configuração.
Antes de você começar
Antes de acionar o fluxo de trabalho, certifique-se de ter:
- fluxo de trabalho criado: Uma definição de fluxo de trabalho já implantada em sua conta a partir de template ou customizada.
- ID da conta: Você pode encontrar o ID da sua conta New Relic nas configurações da conta.
- Nome do fluxo de trabalho: O nome exato da sua definição de fluxo de trabalho.
- Entradas obrigatórias: Valores para qualquer parâmetro que seu fluxo de trabalho espera.
- Segredos configurados: credenciais AWS, token do Slack ou outros segredos armazenados no gerenciador de segredos.
Dica
Novo no fluxo de trabalho? Crie seu primeiro fluxo de trabalho antes de tentar acioná-lo. Comece com Use um modelo para fluxo de trabalho pré-construído.
Execute o fluxo de trabalho sob demanda
Acione o fluxo de trabalho manualmente usando a APIStartWorkflowRun. Isso executa o fluxo de trabalho imediatamente com as entradas que você fornecer.
Exemplo: invocar uma função AWS do Lambda
A definição de fluxo de trabalho a seguir invoca uma função do Lambda da AWS e registra a saída. Substitua 12345678 pelo seu ID de conta New Relic.
name: lambda1
workflowInputs: username: type: String defaultValue: "User" key: type: String defaultValue: "${{ :secrets:12345678:USERNAME_AWS_ACCESS_KEY_ID }}" access: type: String defaultValue: "${{ :secrets:12345678:USERNAME_AWS_SECRET_ACCESS_KEY }}" token: type: String defaultValue: "${{ :secrets:12345678:USERNAME_AWS_SESSION_TOKEN }}" region: type: String defaultValue: us-east-1
steps: - name: invoke1 type: action action: aws.lambda.invoke version: 1 inputs: awsAccessKeyId: ${{ .workflowInputs.key }} awsSecretAccessKey: ${{ .workflowInputs.access }} awsSessionToken: ${{ .workflowInputs.token }} region: ${{ .workflowInputs.region }} functionName: hello-you payload: user: ${{ .workflowInputs.username }}
- name: logOutput type: action action: newrelic.ingest.sendLogs version: 1 inputs: logs: - message: 'The lambda function message output is:${{ .steps.invoke1.outputs.payload.body }}'Para iniciar esse fluxo de trabalho, use a seguinte mutação do NerdGraph. Antes de executar esta mutação, certifique-se de ter armazenado suas credenciais da AWS usando a mutação secretsManagementCreateSecret. Para obter mais informações, consulte o gerenciador de segredos.
mutation { workflowAutomationStartWorkflowRun( # Specify the account where the workflow is defined scope: { type: ACCOUNT id: "12345678" }
# Reference the workflow definition by name definition: { name: "lambda1" }
# Provide input values for the workflow workflowInputs: [ {key: "key" value: "${{ :secrets:testUser123_AWS_ACCESS_KEY_ID }}"} {key: "access" value: "${{ :secrets:testUser123_AWS_SECRET_ACCESS_KEY }}"} {key: "token" value: "${{ :secrets:testUser123_AWS_SESSION_TOKEN }}"} {key: "region" value:"us-east-2"} {key: "username" value: "Julien"} ] ) { runId } }parâmetro explicado:
scopeO ID da conta onde a definição do seu fluxo de trabalho está armazenada.definition: O nome do fluxo de trabalho a ser executado (deve corresponder ao camponamena definição do seu fluxo de trabalho)workflowInputs: pares de valores principais que substituem os valores padrão na seçãoworkflowInputsda sua definição de fluxo de trabalho
A mutação retorna um runId (por exemplo, 7bd25287-2af8-42e1-b783-80f4e760a40b). Utilize este ID para consultar os logs e visualizar a saída:

Cronograma de fluxo de trabalho
Agende o fluxo de trabalho para ser executado automaticamente em horários específicos usando a APICreateSchedule. Fluxo de trabalho agendado executa tarefas recorrentes sem intervenção manual.
Quando agendar fluxo de trabalho:
- Verificações regulares de saúde
- Processamento periódico de dados
- Relatórios diários/semanais
- Janelas de manutenção programada
- Cópias de segurança ou limpezas recorrentes
Referência de expressão Cron
Os agendamentos usam expressões cron para definir quando o fluxo de trabalho será executado. Formatar: minute hour day month weekday
Padrão | Descrição | Exemplo de caso de uso |
|---|---|---|
| Todos os dias às 9h da manhã. | Verificações diárias de saúde pela manhã |
| Todos os dias da semana às 9h00. | Operações do dia útil |
| A cada 6 horas | Operações de sincronização regulares |
| Primeiro dia do mês à meia-noite | Relatórios mensais |
| A cada 10 minutos (intervalo mínimo) | Sondagens frequentes, exames de saúde |
| Todo domingo à meia-noite | Tarefas de limpeza semanais |
Importante
Intervalo mínimo entre os horários: Os horários devem ter um intervalo mínimo de 10 minutos. Não é possível programar o fluxo de trabalho para ser executado com uma frequência maior que a cada 10 minutos. Para intervalos inferiores a 10 minutos, considere agendar a cada 10 minutos e usar uma etapa de espera em seu fluxo de trabalho. Consulte os limites do fluxo de trabalho para todas as restrições de agendamento.
Dica
Sintaxe do Cron: * significa every, / significa every nth, - significa range. Exemplo: 0 9 * * 1-5 = At minute 0, hour 9, every day, every month, Monday through Friday.
Exemplo: Agende uma verificação diária de saúde.
O exemplo a seguir agenda o fluxo de trabalho lambda1 para ser executado todos os dias às 9h, horário do leste dos EUA:
mutation { workflowAutomationCreateSchedule( # Specify the account where the workflow is defined scope: { type: ACCOUNT id: "12345678" }
# Reference the workflow definition by name definition: { name: "lambda1" }
# Configure the schedule schedule: { # Cron expression: minute hour day month weekday # "0 9 * * *" = every day at 9:00 AM cronExpression: "0 9 * * *"
# Timezone for the schedule timezone: "America/New_York"
# Optional: Schedule name for identification name: "daily-lambda-health-check"
# Optional: Add a description description: "Runs Lambda health check every morning at 9 AM" }
# Provide input values for the workflow workflowInputs: [ {key: "key" value: "${{ :secrets:testUser123_AWS_ACCESS_KEY_ID }}"} {key: "access" value: "${{ :secrets:testUser123_AWS_SECRET_ACCESS_KEY }}"} {key: "token" value: "${{ :secrets:testUser123_AWS_SESSION_TOKEN }}"} {key: "region" value:"us-east-2"} {key: "username" value: "HealthCheckBot"} ] ) { scheduleId } }O que você recebe como resposta: scheduleId, Identificador único para o agendamento (use isso para atualizar ou excluir o agendamento posteriormente)
Solução alternativa: intervalos inferiores a 10 minutos
Se você precisar verificar algo com mais frequência do que a cada 10 minutos, programe seu fluxo de trabalho no intervalo mínimo de 10 minutos e use uma etapa de espera dentro da definição do fluxo de trabalho para criar um intervalo de sondagem adicional.
Exemplo de fluxo de trabalho com sondagem a cada 5 minutos:
name: frequent-health-check
steps: # First check happens immediately when scheduled - name: firstCheck type: action action: newrelic.nrdb.query version: 1 inputs: query: "FROM Transaction SELECT count(*) WHERE appName = 'MyApp' SINCE 5 minutes ago"
# Wait 5 minutes - name: waitStep type: wait seconds: 300
# Second check happens 5 minutes after the workflow started - name: secondCheck type: action action: newrelic.nrdb.query version: 1 inputs: query: "FROM Transaction SELECT count(*) WHERE appName = 'MyApp' SINCE 5 minutes ago"Agende este fluxo de trabalho para ser executado a cada 10 minutos usando */10 * * * *. Isso permite realizar votações eficazes a cada 5 minutos:
- 0:00 - O fluxo de trabalho inicia e executa a primeira verificação.
- 0:05 - segunda verificação executada (após a etapa de espera)
- 0:10 - O próximo fluxo de trabalho agendado será iniciado e executado primeiro.
- 0:15 - segunda verificação executada (após a etapa de espera)
Dica
limite de duração do fluxo de trabalho: Lembre-se que o fluxo de trabalho tem duração máxima de 7 dias. Defina as etapas de espera e a frequência de sondagem de acordo com isso. Consulte os limites do fluxo de trabalho para obter detalhes.
Gerenciar agendas
Após criar um cronograma:
- Veja os horários ativos: Consulte todas as execuções agendadas no dashboarddo fluxo de trabalho.
- Atualizar programação: Use a API UpdateSchedule para alterar a frequência ou as entradas.
- Excluir agendamento: Use a API DeleteSchedule para interromper execuções recorrentes.
Para documentação completa API, consulte APIs de automação de fluxo de trabalho.
Qual é o próximo
- Gerencie o workflow: edite, duplique e monitore o histórico de execução.