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.
Una vez que creó un flujo de trabajo, puede activarlo de tres maneras: mediante alertas, manualmente a pedido o según un cronograma.
Elige tu método de activación
Seleccione el enfoque adecuado para su caso de uso:
Desencadenante de alertas | Desencadenante de alertas | Ejecutar según lo previsto |
|---|---|---|
Respuesta automatizada a incidencias | Probando nuevo flujo de trabajo | revisiones médicas periódicas |
Corrección automática (cambio de tamaño de EC2, reversión) | Operaciones manuales | Procesamiento periódico de datos |
Notificación de alerta enriquecida | Mantenimiento ad hoc | Reportes diarios o semanales |
Configuración: Configurar como destino de alerta | API: Crear horario |
Sugerencia
Cuando se incumple la condición de alerta, New Relic puede activar automáticamente el flujo de trabajo configurando la automatización del flujo de trabajo como destino. Los issueId y accountId se pasan automáticamente. Consulte Enviar notificación desde flujo de trabajo para obtener instrucciones de configuración.
Antes de que empieces
Antes de activar el flujo de trabajo, cerciorar de tener:
- flujo de trabajo creado: una definición de flujo de trabajo ya se implementa en su cuenta a partir de una plantilla o personalizada.
- ID de cuenta: Su ID de cuenta de New Relic se puede encontrar en Configuración de la cuenta.
- Nombre de flujo de trabajo: El nombre exacto de su definición de flujo de trabajo.
- Datos de entrada requeridos: Valores para cualquier parámetro que espere su flujo de trabajo.
- Secretos configurados: credenciales AWS, token de Slack u otros secretos almacenados en el administrador de secretos.
Sugerencia
¿Eres nuevo en el flujo de trabajo? Crea tu primer flujo de trabajo antes de intentar activarlo. Comience con Emplee una plantilla para flujo de trabajo prediseñado.
Ejecutar flujo de trabajo bajo demanda
Activa el flujo de trabajo manualmente usando la APIStartWorkflowRun. Esto ejecuta el flujo de trabajo inmediatamente con los datos de entrada que proporcione.
Ejemplo: invocar una función Lambda AWS
La siguiente definición de flujo de trabajo invoca una función Lambda AWS y registra la salida. Reemplace 12345678 con su ID de cuenta de 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 este flujo de trabajo, emplee la siguiente mutación de NerdGraph. Antes de ejecutar esta mutación, cerciorar de almacenar sus credenciales de AWS empleando la mutación secretsManagementCreateSecret. Para obtener más información, consulte administrador de secretos.
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 } }Explicación del parámetro:
scope: El ID de la cuenta donde se almacena la definición de su flujo de trabajodefinition: El nombre del flujo de trabajo a ejecutar (debe coincidir con el camponamede la definición de su flujo de trabajo).workflowInputs: pares de valores principales que anulan los valores predeterminados en la secciónworkflowInputsde su definición de flujo de trabajo
La mutación devuelve un runId (por ejemplo, 7bd25287-2af8-42e1-b783-80f4e760a40b). Emplee este ID para consultar los logs y ver la salida:

Horario de trabajo
Programe el flujo de trabajo para que se ejecute automáticamente en momentos específicos empleando la APICreateSchedule. El flujo de trabajo programado ejecuta tareas recurrentes sin intervención manual.
Cuándo programar el flujo de trabajo:
- revisiones médicas periódicas
- Procesamiento periódico de datos
- Reportes diarios/semanales
- ventanas de mantenimiento programado
- Copias de seguridad o limpiezas recurrentes
Referencia de expresión Cron
Los horarios usan expresiones cron para definir cuándo se ejecuta el flujo de trabajo. Formato: minute hour day month weekday
Patrón | Descripción | Ejemplo de caso de uso |
|---|---|---|
| Todos los días a las 9:00 AM | controles de salud matutinos diarios |
| Todos los días laborables a las 9:00 AM | Operaciones del día comercial |
| Cada 6 horas | Operaciones de sincronización regulares |
| Primer día del mes a medianoche | Reportes mensuales |
| Cada 10 minutos (intervalo mínimo) | Encuestas frecuentes, controles de salud |
| Todos los domingos a medianoche | Tareas de limpieza semanales |
Importante
Intervalo mínimo de programación: Los horarios deben estar separados por al menos 10 minutos. No puede programar el flujo de trabajo para que se ejecute con una frecuencia mayor a cada 10 minutos. Para intervalos de menos de 10 minutos, considere programar cada 10 minutos y emplear un paso de espera dentro de su flujo de trabajo. Consulte los límites del flujo de trabajo para conocer todas las restricciones de programación.
Sugerencia
Sintaxis cron: * significa every, / significa every nth, - significa range. Ejemplo: 0 9 * * 1-5 = At minute 0, hour 9, every day, every month, Monday through Friday.
Ejemplo: Programar un chequeo médico diario
El siguiente ejemplo programa el flujo de trabajo lambda1 para que se ejecute todos los días a las 9 AM, hora del este:
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 } }Lo que obtienes a cambio: scheduleId, identificador único para la programación (úsalo para actualizar o eliminar la programación más tarde)
Solución alternativa: intervalos de menos de 10 minutos
Si necesita verificar algo con más frecuencia que cada 10 minutos, programe su flujo de trabajo en el intervalo mínimo de 10 minutos y use un paso de espera dentro de la definición del flujo de trabajo para crear un intervalo de sondeo adicional.
Ejemplo de flujo de trabajo con votación de 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"Programe este flujo de trabajo para que se ejecute cada 10 minutos usando */10 * * * *. Esto le proporciona una votación efectiva de 5 minutos:
- 0:00 - El flujo de trabajo se inicia y se ejecuta primero. Verificar
- 0:05 - segundoLa comprobación se ejecuta (luego del paso de espera)
- 0:10 - Se inicia el siguiente flujo de trabajo programado y se ejecuta primero. Verificar
- 0:15 segundos - Se ejecuta la verificación (luego del paso de espera)
Sugerencia
Límite de duración del flujo de trabajo: Recuerde que los flujos de trabajo tienen una duración máxima de 7 días. Diseñe sus pasos de espera y frecuencia de sondeo en consecuencia. Consulte los límites del flujo de trabajo para obtener más detalles.
Gestionar horarios
Luego de crear un horario:
- Ver programaciones activas: Consulte todas las ejecuciones programadas en el dashboardflujo de trabajo.
- Programación de actualizaciones: Emplee la API UpdateSchedule para cambiar la frecuencia o las entradas.
- Eliminar programación: Emplee la API DeleteSchedule para detener las ejecuciones recurrentes.
Para obtener documentación API completa, consulte API de automatización de flujo de trabajo.
Que sigue
- Gestionar workflows: Editar, duplicar y monitorear el historial de ejecución.