Reenvío de los registros de diagnóstico de Azure Automation a Azure Monitor
Azure Automation puede enviar el estado de un trabajo del runbook y de flujos de trabajos al área de trabajo de Log Analytics. Este proceso no implica la vinculación del área de trabajo, es completamente independiente y permite realizar investigaciones sencillas. Los registros de trabajo y los flujos de trabajo están visibles en Azure Portal, o con PowerShell para los trabajos individuales. Con registros de Azure Monitor para la cuenta de Automation, podrá hacer lo siguiente:
- Obtener información sobre el estado de los trabajos de Automation.
- Desencadenar un correo electrónico o una alerta en función del estado de trabajo del runbook (por ejemplo, error o en suspensión).
- Escribir consultas avanzadas en las transmisiones de trabajos.
- Correlacionar trabajos en cuentas de Automation.
- Usar vistas personalizadas y consultas de búsqueda para visualizar los resultados de runbook, el estado del trabajo de runbook y otras métricas o indicadores clave relacionados mediante un panel de Azure.
- Obtenga los registros de auditoría relacionados con las cuentas de Automation, runbooks y otras operaciones de creación, modificación y eliminación de recursos.
Mediante los registros de Azure Monitor, puede consolidar registros de distintos recursos en la misma área de trabajo, donde se pueden analizar con consultas para recuperar, consolidar y analizar rápidamente los datos recopilados. Puede crear y probar consultas mediante Log Analytics en Azure Portal y después analizar los datos directamente mediante estas herramientas o guardar las consultas para usarlas con la visualización o las reglas de alertas.
Azure Monitor usa una versión del lenguaje de consulta Kusto (KQL) que usa Azure Data Explorer y que es adecuada para consultas de registro sencillas. También incluye funciones avanzadas, como agregaciones, combinaciones y análisis inteligentes. Puede aprender rápidamente el lenguaje de consulta con diversas lecciones.
Configuración de diagnóstico de Azure Automation
Puede reenviar los registros de plataforma y datos de métricas siguientes mediante la compatibilidad con la configuración de diagnóstico de Automation:
Tipos de datos | Descripción |
---|---|
Registros de trabajo | Estado del trabajo de runbook en la cuenta de Automation. |
Flujos de trabajo | Estado de los flujos de trabajo en el runbook definido en la cuenta de Automation. |
DSCNodeStatus | Estado del nodo DSC. |
AuditEvent | Todos los registros de recursos que registran las interacciones de los clientes con los datos o la configuración del servicio Azure Automation. |
Métricas | Total de trabajos, actualizaciones totales, ejecuciones de máquinas de implementación, ejecuciones de implementación de actualizaciones totales |
Configuración de los valores de diagnóstico en Azure Portal
Puede configurar los valores de diagnóstico en Azure Portal desde el menú del recurso de la cuenta de Automation.
En el menú de la cuenta de Automation, seleccione Configuración de diagnóstico en Supervisión.
Haga clic en Agregar configuración de diagnóstico.
Escriba un nombre de configuración en el Nombre de configuración de diagnóstico si aún no tiene uno.
También puede ver todas las categorías de registros y métricas.
Registros y métricas para enrutar: en el caso de los registros, elija un grupo de categorías o seleccione las casillas de verificación individuales de cada categoría de datos que quiera enviar a los destinos especificados. Elija AllMetrics si quiere almacenar métricas en registros de Azure Monitor.
Detalles de destino: seleccione la casilla de verificación para cada destino. Según la selección de cada cuadro, las opciones parecen permitirle agregar información adicional.
Log Analytics: escriba el id. de suscripción y el nombre del área de trabajo. Si no tiene una área de trabajo, tendrá que crear una antes de continuar.
Event Hubs: especifique los criterios siguientes:
- Suscripción: la misma que la del centro de eventos.
- Espacio de nombres del centro de eventos: cree un centro de eventos si aún no tiene uno.
- Nombre del centro de eventos (opcional): si no especifica uno, se crea un centro de eventos para cada categoría de registro. Si va a enviar varias categorías, especifique un nombre para limitar el número de instancias de Event Hubs creadas. Consulte Cuotas y límites de Azure Event Hubs para más detalles.
- Directiva del centro de eventos (opcional): una directiva define los permisos que tiene el mecanismo de streaming. Vea característica de Event Hubs.
Storage: elija una suscripción, una cuenta de almacenamiento y una directiva de retención.
Integración de asociados: primero debe instalar una integración de asociados en la suscripción. Las opciones de configuración variarán según el asociado. Para obtener más información, vea Integración de Azure Monitor.
Haga clic en Save(Guardar).
Transcurridos unos instantes, la nueva configuración aparece en la lista de configuraciones para este recurso y los registros se transmiten a los destinos especificados en cuanto se generan nuevos datos de eventos. Puede haber una diferencia de 15 minutos entre el evento emitido y su aparición en el área de trabajo de Log Analytics.
Consulta de los registros
Para consultar los registros generados:
En la cuenta de Automation, en Supervisión, seleccione Registros.
En Todas las consultas, seleccione Automation Jobs (Trabajos de Automation).
Seleccione una de las consultas que quiere ejecutar y haga clic en Ejecutar.
Para ejecutar una consulta personalizada, cierre la ventana Consultas, pegue la consulta personalizada en la nueva ventana de consulta y haga clic en Ejecutar.
La salida de la consulta se muestra en el panel Resultados.
Haga clic en Nueva regla de alertas para configurar una alerta de Azure Monitor para esta consulta.
Registros de Azure Monitor
Los diagnósticos de Azure Automation crean los tipos de registros siguientes en los registros de Azure Monitor, etiquetados como AzureDiagnostics
. Las tablas de las secciones siguientes son ejemplos de registros que genera Azure Automation y los tipos de datos que aparecen en los resultados de búsqueda de los registros.
Registros de trabajo
Propiedad | Descripción |
---|---|
TimeGenerated | Fecha y hora en que se ejecuta el trabajo de Runbook. |
RunbookName_s | Nombre o nombres del runbook. |
Caller_s | Autor de la llamada que inició la operación. Los valores posibles son una dirección de correo electrónico o el sistema para los trabajos programados. |
Tenant_g | GUID (identificador único global) que identifica el inquilino para el autor de la llamada. |
JobId_g | El GUID que identifica el trabajo de runbook. |
ResultType | Estado del trabajo de runbook. Los valores posibles son: - Created Started Stopped Suspended Con error Completado |
Category | Clasificación del tipo de datos. Para Automation, el valor será JobLogs. |
OperationName | El tipo de operación realizada en Azure. En Automation, el valor es Job. |
Resource | Nombre de la cuenta de Automation |
SourceSystem | El sistema que utilizan los registros de Azure Monitor para recopilar los datos. En los diagnósticos de Azure, el valor siempre es "Azure". |
ResultDescription | Estado de resultado del trabajo de runbook. Los valores posibles son: - Se inicia el trabajo - Error del trabajo - Trabajo completado |
CorrelationId | GUID de correlación del trabajo de runbook. |
ResourceId | Id. de recurso de la cuenta de Azure Automation del runbook. |
SubscriptionId | GUID de la suscripción de Azure para la cuenta de Automation. |
Grupo de recursos | Nombre del grupo de recursos de la cuenta de Automation. |
ResourceProvider | Nombre del proveedor de recursos El valor es MICROSOFT.AUTOMATION. |
ResourceType | Tipo de recurso. El valor es AUTOMATIONACCOUNTS. |
Transmisiones de trabajo
Propiedad | Descripción |
---|---|
TimeGenerated | Fecha y hora en que se ha ejecutado el trabajo de runbook. |
RunbookName_s | Nombre del Runbook. |
Caller_s | Autor de la llamada que inició la operación. Los valores posibles son una dirección de correo electrónico o el sistema para los trabajos programados. |
StreamType_s | Tipo de flujo de trabajo. Los valores posibles son: progreso - Salida - Advertencia Error DEBUG - Detallado |
Tenant_g | El GUID que identifica al inquilino del autor de la llamada. |
JobId_g | El GUID que identifica el trabajo de runbook. |
ResultType | El estado del trabajo de Runbook. Los valores posibles son: - In Progress |
Category | Clasificación del tipo de datos. Para Automation, el valor es JobStreams. |
OperationName | El tipo de operación realizada en Azure. En Automation, el valor es Job. |
Resource | Nombre de la cuenta de Automation. |
SourceSystem | El sistema que utilizan los registros de Azure Monitor para recopilar los datos. En los diagnósticos de Azure, el valor siempre es "Azure". |
ResultDescription | Descripción que incluye el flujo de salida del runbook. |
CorrelationId | GUID de correlación del trabajo de runbook. |
ResourceId | Id. de recurso de la cuenta de Azure Automation del runbook. |
SubscriptionId | GUID de la suscripción de Azure para la cuenta de Automation. |
Grupo de recursos | Nombre del grupo de recursos de la cuenta de Automation. |
ResourceProvider | Proveedor de recursos. El valor es MICROSOFT.AUTOMATION. |
ResourceType | Tipo de recurso. El valor es AUTOMATIONACCOUNTS. |
Nota:
Asegúrese de que las credenciales no se envían a flujos de trabajo. El servicio quita las credenciales antes de mostrar flujos de trabajo en los registros de diagnóstico.
Eventos de auditoría
Propiedad | Descripción |
---|---|
TenantID | El GUID que identifica al inquilino del autor de la llamada. |
TimeGenerated (UTC) | Fecha y hora en que se ejecuta el trabajo de runbook. |
Category | AuditEvent |
Grupo de recursos | Nombre del grupo de recursos de la cuenta de Automation. |
Id. de suscripción | GUID de la suscripción de Azure para la cuenta de Automation. |
ResourceProvider | MICROSOFT.AUTOMATION |
Resource | Nombre de la cuenta de Automation |
ResourceType | AUTOMATIONACCOUNTS |
OperationName | Los valores posibles son Update, Create y Delete. |
ResultType | Estado del trabajo de runbook. El valor posible es: Completed. |
CorrelationId | GUID de correlación del trabajo de runbook. |
ResultDescription | Estado de resultado del trabajo de runbook. Los valores posibles son Update, Create y Delete. |
Tenant_g | El GUID que identifica al inquilino del autor de la llamada. |
SourceSystem | Sistema que utilizan los registros de Azure Monitor para recopilar los datos. En los diagnósticos de Azure, el valor siempre es "Azure". |
clientInfo_IpAddress_s | {scrubbed} |
clientInfo_PrincipalName_s | {scrubbed} |
clientInfo_TenantId_g | Id. de inquilino del cliente. |
clientInfo_Issuer_s | |
clientInfo_ObjectId_g | Id. de objeto del cliente. |
clientInfo_AppId_g | AppID del cliente. |
clientInfo_ClientRequestId_g | RequestID del cliente. |
targetResources_Resource_s | Cuenta, Trabajo, Credencial, Conexiones, Variables, Runbook. |
Tipo | AzureDiagnostics |
_ResourceId | Id. de recurso de la cuenta de Azure Automation del runbook. |
Visualización de registros de Automation en registros de Azure Monitor
Ahora que ha iniciado el envío de los registros y los flujos de trabajo de Automation a los registros de Azure Monitor, veamos lo que puede hacer con ellos en los registros de Azure Monitor.
Para ver los registros, ejecute la consulta siguiente: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"
Consultas de ejemplo para registros de trabajo y flujos de trabajo
Búsqueda de todos los trabajos completados con error
Además de los escenarios como las alertas al producirse errores, puede averiguar cuándo un trabajo de runbook tiene un error de no terminación. En estos casos, PowerShell genera un flujo de errores, aunque los errores de no terminación no causan la suspensión ni producen un error en el trabajo.
- En el área de trabajo de Log Analytics, haga clic en Registros.
- En el campo de consulta, escriba:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g.
- Haga clic en Buscar.
Visualización de las transmisiones de un trabajo
Cuando se depura un trabajo, también se pueden examinar sus transmisiones. La siguiente consulta muestra todos los flujos de un solo trabajo con GUID 2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0
:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and JobId_g == "2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0"
| sort by TimeGenerated asc
| project ResultDescription
Visualización del estado del historial de trabajos
Por último, puede que desee visualizar el historial de trabajos a lo largo del tiempo. Esta consulta se puede usar para buscar el estado de los trabajos con el paso del tiempo.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)
Busque los registros que informan de errores en los trabajos de automatización.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where StreamType_s == "Error"
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId
Búsqueda de trabajos completados de Azure Automation
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed"
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g
Búsqueda de trabajos de Azure Automation con errores, suspendidos o detenidos
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Stopped" or ResultType == "Suspended")
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g
Enumeración de todos los runbooks y trabajos que se han completado correctamente con errores
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error"
| project TimeGenerated, RunbookName_s, StreamType_s, _ResourceId, ResultDescription, JobId_g
Envío de un correo electrónico cuando se produce un error en un trabajo del runbook o se suspende
En los pasos siguientes se explica cómo configurar alertas de correo electrónico en Azure Monitor para notificar cuando se produzca algún problema con un trabajo de runbook.
Para crear una regla de alerta, cree una búsqueda de registros del trabajo del runbook que deben invocar la alerta, tal como se describe en Consulta de los registros. Haga clic en +Nueva regla de alertas para configurar la regla de alertas.
En la cuenta de Automation, en Supervisión, seleccione Registros.
Cree una consulta de búsqueda de registros para la alerta; para ello, escriba un criterio de búsqueda en el campo de la consulta.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended")
También puede agrupar por el nombre del runbook, para lo que debe usar:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s
Para abrir la pantalla Crear regla de alertas, haga clic en +Nueva regla de alertas en la parte superior de la página. Para obtener más información sobre las opciones a fin de configurar las alertas, vea Alertas de registro en Azure.
Registros de auditoría de diagnóstico de Azure Automation
Ahora puede enviar registros de auditoría también al área de trabajo de Azure Monitor. Esto permite a las empresas supervisar las actividades clave de la cuenta de automatización para garantizar la seguridad y el cumplimiento. Cuando se habilita mediante la configuración de Azure Diagnostics, podrá recopilar telemetría sobre las operaciones de creación, actualización y eliminación de runbooks de Automation, trabajos y recursos de automatización, como la conexión, las credenciales, la variable y el certificado. También puede configurar las alertas para las condiciones del registro de auditoría como parte de los requisitos de supervisión de seguridad.
Diferencia entre los registros de actividad y los registros de auditoría
El registro de actividad es un registro de plataforma de Azure que proporciona información sobre los eventos del nivel de suscripción. El registro de actividad de la cuenta de Automation incluye información sobre cuándo se modifica, se crea o elimina un recurso de automatización. Pero no captura el nombre ni el id. del recurso.
Los registros de auditoría de las cuentas de Automation capturan el nombre y el id. del recurso, como la variable de automatización, las credenciales, la conexión, entre otros, junto con el tipo de operación realizada para el recurso, y Azure Automation limpiaría algunos detalles, como los datos IP de cliente que se ajustan al cumplimiento del RGPD.
Los registros de actividad mostrarían detalles como la dirección IP del cliente porque un registro de actividad es un registro de plataforma que proporciona información detallada de diagnóstico y auditoría para los recursos de Azure. Se generan automáticamente para las actividades que se producen en ARM y se insertan en el proveedor de recursos del registro de actividad. Puesto que los registros de actividad forman parte de la supervisión de Azure, mostraría algunos datos de cliente para proporcionar información sobre la actividad de este.
Consultas de ejemplo para registros de auditoría
Consulta para ver registros de auditoría de recursos de Automation
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent"
Consulta para supervisar cualquier operación de actualización, creación o eliminación de variables
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable"
Consulta para supervisar cualquier operación de runbook, como de creación, redacción o actualización
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Runbook"
Consulta para supervisar la creación, actualización o eliminación de certificados
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Certificate"
Consulta para supervisar la creación, actualización o eliminación de credenciales
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Credential"
Filtrado de la salida de estado del trabajo convertida en un objeto JSON
Recientemente hemos cambiado el comportamiento de la escritura de los datos de registros de Automation en la tabla AzureDiagnostics
del servicio Log Analytics, donde ya no se desglosan las propiedades JSON en campos independientes. Si configuró el runbook para dar formato a los objetos del flujo de salida en formato JSON como columnas independientes, es necesario volver a configurar las consultas para analizar ese campo en un objeto JSON con el fin de acceder a esas propiedades. Esto se logra mediante parse json para acceder a un elemento JSON específico en una ruta de acceso conocida.
Por ejemplo, un runbook da formato a la propiedad ResultDescription en el flujo de salida en formato JSON con varios campos. Para buscar el estado de los trabajos que se encuentran en estado de error, tal y como se especifica en un campo denominado Estado, use esta consulta de ejemplo para buscar el objeto ResultDescription con el estado Error:
AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'
Pasos siguientes
- Para aprender a crear consultas de búsqueda y a revisar los registros de trabajos de Automation con registros de Azure Monitor, consulte Introducción a las consultas de registro en Azure Monitor.
- Para comprender la creación y recuperación de mensajes de error y de salida de runbooks, consulte Salidas de runbook y mensajes en Azure Automation.
- Para más información sobre la ejecución de runbooks, la supervisión de trabajos de runbook y otros detalles técnicos, consulte Ejecución de un runbook en Azure Automation.
- Para obtener más información sobre los registros de Azure Monitor y los orígenes de recopilación de datos, consulte Introducción a la recopilación de datos de almacenamiento en los registros de Azure Monitor.
- Si necesita ayuda con la solución de problemas de análisis de registros, consulte el artículo sobre por qué el análisis de registros ya no recopila datos.