Cet article décrit comment utiliser les données d'observabilité pour monitorer l'exécution de workflow et l'exécution de planification.
Audits
Tous les appels de mutation NerdGraph produisent des enregistrements d'audit que vous pouvez requêter dans NrAuditEvent dans le compte clients.
WorkflowRun
SELECT actionIdentifier, actorId, actorType, descriptionFROM NrAuditEvent WHERE targetType = 'workflow_run'SINCE 1 hour agoWorkflowSchedule
SELECT actionIdentifier, actorId, actorType, descriptionFROM NrAuditEvent WHERE targetType = 'workflow_schedule'SINCE 1 hour agoÉvénements
Toutes les exécutions de workflow émettent des données WorkflowAutomationEvent dans NRDB dans le compte clients qui a démarré ou planifié le workflow.
Les exécutions de workflow stockent les données d'événement dans l'espace de nommage WorkflowAutomation.
Schéma WorkflowAutomationEvent
Le tableau suivant décrit les attributs de chaque événement WorkflowAutomationEvent.
Attribut | Type | Description |
|---|---|---|
| EpochMillisecond | Horodatage de l'événement |
| WORKFLOW | ÉTAPE | Type d'événement |
| STARTED | COMPLETED | FAILED | TIMED_OUT | STOPPED | Statut associé à l'événement |
| Chaîne | Nom de la définition de workflow associé à cette exécution de workflow |
| Chaîne | Version de la définition de workflow associée à cette exécution de workflow |
| GLOBAL | ORGANISATION | COMPTE | Type de portée de la définition de workflow associé à cette exécution de workflow |
| Chaîne | ID de portée de la définition de workflow associé à cette exécution de workflow |
| Chaîne | entityGuid de la définition de workflow associé à cette exécution de workflow |
| Int | ID de l'utilisateur New Relic qui a démarré le workflow |
| UUID | ID unique de l'exécution du workflow |
| EpochMillisecond | Durée pour les événements COMPLETED, FAILED ou TIMED_OUT |
| Chaîne | Nom de l'étape donné par le client dans le workflow |
| ACTION | BOUCLE | SWITCH | ÉTAT | Type d'étape qui a généré cet événement |
| Chaîne | Nom entièrement qualifié de l'action |
| Int | Version de l'action |
L'attribut stepType a les valeurs suivantes :
ACTION: exécute une action depuis le catalogueLOOP: itère sur une collectionSWITCH: évalue les conditionsSTATE: stocke les paires de valeur clé dans l'état partagé du workflow
Exemple de requête
La requête suivante renvoie tous les événements pour une exécution de workflow spécifique :
SELECT *FROM WorkflowAutomationEventwhere definitionName = 'json-parsing' and runId = '31c973d2-c669-4bd7-9b15-7e3a70a4a074'SINCE 1 month ago
Logs
En option, vous pouvez démarrer ou planifier un workflow avec une option de verbosité logLevel. Les logs vont vers le compte qui a démarré ou planifié le workflow.
Les logs incluent les attributs suivants :
workflowAutomation.nameest le nom de la WorkflowDefinitionworkflowAutomation.versionest la version de WorkflowDefinitionworkflowAutomation.runIdest le runId du workflowentityGuidest l'ID de WorkflowDefinition
Si une occurrence de planification a démarré le workflow, les entrées de log incluent également workflowAutomation.scheduleId.
Pour le type d'étape Action, lors de l'utilisation de DEBUG, chaque entrée d'action ajoute un attribut supplémentaire à l'entrée de log avec le format workflowAutomation.inputs.<inputName>: <inputValue>.
Pour le type d'étape Action, lors de l'utilisation de TRACE, chaque sortie d'action ajoute un attribut supplémentaire à l'entrée de log avec le format workflowAutomation.outputs.<outputName>: <outputValue>.
Exemple de requête NRQL
Vous pouvez interroger votre log avec la requête NRQL suivante :
SELECT message FROM Log WHERE workflowAutomation.runId = '{run_id}' SINCE 3 hours ago
Outre workflowAutomation.runId, d'autres attributs de log qui peuvent aider à l'interrogation des données log sont :
workflowAutomation.nameworkflowAutomation.version
Pour les exécutions planifiées, les entrées de log incluent également l'attribut workflowAutomation.scheduleId.