Inoltrare i log di diagnostica di Automazione di Azure a Monitoraggio di Azure
Automazione di Azure può inviare lo stato e i flussi del processo del runbook all'area di lavoro Log Analytics. Questo processo non comporta il collegamento dell’area di lavoro ed è completamente indipendente e consente di eseguire indagini semplici. I log e i flussi di processo sono visibili nel portale di Azure o con PowerShell per singoli processi. Con i log di Monitoraggio di Azure per l’account di Automazione, è possibile:
- Ottenere informazioni dettagliate sullo stato dei processi di Automazione.
- Attivare un messaggio di posta elettronica o un avviso in base allo stato del processo del runbook, ad esempio non riuscito o sospeso.
- Scrivere query avanzate nei flussi del processo.
- Correlare i processi tra account di Automazione.
- Usare visualizzazioni personalizzate e query di ricerca per visualizzare i risultati del runbook, lo stato del processo del runbook e altri indicatori chiave o metriche correlati tramite un dashboard di Azure.
- Ottenere i log di controllo correlati ad account, runbook e altre operazioni di creazione, modifica ed eliminazione di asset di Automazione.
Grazie ai log di Monitoraggio di Azure, è possibile consolidare i log provenienti da risorse diverse nella stessa area di lavoro in cui è possibile analizzarli con query per recuperare, consolidare e analizzare rapidamente i dati raccolti. È possibile creare e testare query usando Log Analytics nel portale di Azure e quindi analizzare direttamente i dati usando questi strumenti o salvare le query da usare con visualizzazione o regole di avviso.
Monitoraggio di Azure usa una versione del Linguaggio di query Kusto (KQL) usato da Esplora dati di Azure adatto per query di log semplici. Include anche funzionalità avanzate, ad esempio aggregazioni, join e analisi intelligente. È possibile apprendere rapidamente il linguaggio di query usando le numerose lezioni disponibili.
Impostazioni di diagnostica di Automazione di Azure
È possibile inoltrare i log della piattaforma e i dati delle metriche seguenti usando il supporto delle impostazioni di diagnostica di Automazione:
Tipo di dati | Descrizione |
---|---|
Log del processo | Stato del processo del runbook nell’account di Automazione. |
Flussi del processo | Stato dei flussi di processo nel runbook definito nell’account di Automazione. |
DSCNodeStatus | Stato del nodo DSC (Desired State Configuration). |
AuditEvent | Tutti i log delle risorse che registrano le interazioni dei clienti con i dati o le impostazioni del servizio Automazione di Azure. |
Metrica | Processi totali, aggiornamenti totali, esecuzioni dei computer di distribuzione, esecuzioni di distribuzione degli aggiornamenti totali. |
Configurare le impostazioni di diagnostica nel portale di Azure
È possibile configurare le impostazioni di diagnostica nel portale di Azure dal menu per la risorsa dell’account di Automazione.
Nel menu Account di Automazione, in Monitoraggio, selezionare Impostazioni di diagnostica.
Fare clic su Aggiungi impostazione di diagnostica.
Immettere un nome delle impostazioni in Nome delle impostazioni di diagnostica se non ne è presente già uno.
È anche possibile visualizzare tutte le categorie di log e metriche.
Log e metriche da instradare: per i log, scegliere un gruppo di categorie o selezionare le singole caselle di controllo per ogni categoria di dati da inviare alle destinazioni specificate. Scegliere AllMetrics per archiviare le metriche nei log di Monitoraggio di Azure.
Dettagli destinazione: selezionare la casella di controllo per ogni destinazione. In base alla selezione di ogni casella, le opzioni vengono visualizzate per consentire l’aggiunta di ulteriori informazioni.
Log Analytics: immettere l’ID sottoscrizione e il nome dell’area di lavoro. Se non si dispone di un’area di lavoro, è necessario crearne una prima di procedere.
Hub eventi: specificare i criteri seguenti:
- Sottoscrizione: la stessa sottoscrizione dell’hub eventi.
- Spazio dei nomi dell’hub eventi: creare un hub eventi se non ne è ancora disponibile uno.
- Nome hub eventi (facoltativo): se non si specifica un nome, verrà creato un hub eventi per ogni categoria di log. Se si inviano più categorie, specificare un nome per limitare il numero di hub eventi creati. Per informazioni dettagliate, vedere Quote e limiti degli hub eventi di Azure.
- Criteri degli hub eventi (facoltativo): un criterio definisce le autorizzazioni del meccanismo dei flussi. Vedere funzionalità degli hub eventi.
Archiviazione: scegliere la sottoscrizione, l’account di archiviazione e i criteri di conservazione.
Integrazione partner: è prima necessario installare un’integrazione partner nella sottoscrizione. Le opzioni di configurazione varieranno in base al partner. Per altre informazioni, vedere Integrazione di Monitoraggio di Azure.
Fare clic su Salva.
Dopo alcuni istanti, la nuova impostazione viene visualizzata nell’elenco delle impostazioni per questa risorsa e i log vengono trasmessi alle destinazioni specificate quando vengono generati nuovi dati dell’evento. Può verificarsi una differenza di tempo di 15 minuti tra l’evento generato e la sua visualizzazione nell’area di lavoro Log Analytics.
Eseguire query sui log
Per eseguire query sui log generati:
Nell’account di Automazione, in Monitoraggioselezionare Log.
In Tutte le query, selezionare Processi di Automazione.
Selezionare una delle query da eseguire e fare clic su Esegui.
Per eseguire una query personalizzata, chiudere la finestra Query e incollare la query personalizzata nella nuova finestra di query e fare clic su Esegui.
L’output della query viene visualizzato nel riquadro Risultati.
Fare clic su Nuova regola di avviso per configurare un avviso di Monitoraggio di Azure per questa query.
Record di log di Monitoraggio di Azure
La diagnostica di Automazione di Azure crea i tipi di record seguenti nei log di Monitoraggio di Azure, contrassegnati come AzureDiagnostics
. Le tabelle nelle sezioni seguenti sono esempi di record generati da Automazione di Azure e i tipi di dati visualizzati nei risultati della ricerca log.
Log di processo
Proprietà | Descrizione |
---|---|
TimeGenerated | Data e ora di esecuzione del processo del runbook. |
RunbookName_s | Nome/Nomi del runbook. |
Caller_s | Chiamante che ha avviato l’operazione. I valori possibili sono un indirizzo di posta elettronica o il sistema per i processi pianificati. |
Tenant_g | GUID (identificatore univoco globale) che identifica il tenant per il chiamante. |
JobId_g | GUID che identifica il processo del runbook. |
ResultType | Stato del processo del runbook. I valori possibili sono: - Creato - Avviato - Interrotto - Sospeso - Non riuscito - Completato |
Categoria | La classificazione del tipo di dati. Per Automazione, il valore è JobLogs. |
OperationName | Tipo di operazione eseguita in Azure. Per Automazione, il valore è Job. |
Conto risorse | Nome dell'account di Automazione |
SourceSystem | Sistema usato dai log di Monitoraggio di Azure per raccogliere i dati. Il valore è sempre Azure per Diagnostica di Azure. |
ResultDescription | Stato del risultato del processo del runbook. I valori possibili sono: - Processo avviato - Processo non riuscito - Processo completato |
CorrelationId | GUID di correlazione del processo del runbook. |
ResourceId | ID risorsa del runbook dell’account di Automazione di Azure. |
SubscriptionId | GUID della sottoscrizione di Azure per l’account di Automazione. |
ResourceGroup | Nome del gruppo di risorse dell'account di Automazione. |
ResourceProvider | Nome del provider di risorse. Il valore è MICROSOFT.AUTOMATION. |
ResourceType | Tipo di risorsa. Il valore è AUTOMATIONACCOUNTS. |
Flussi di processo
Proprietà | Descrizione |
---|---|
TimeGenerated | Data e ora di esecuzione del processo del runbook. |
RunbookName_s | Nome del runbook. |
Caller_s | Chiamante che ha avviato l’operazione. I valori possibili sono un indirizzo di posta elettronica o il sistema per i processi pianificati. |
StreamType_s | Tipo di flusso di processo. I valori possibili sono: - Avanzamento - Output - Avviso - Errore - Debug - Dettagliato |
Tenant_g | GUID che identifica il tenant del chiamante. |
JobId_g | GUID che identifica il processo del runbook. |
ResultType | Lo stato del processo di runbook. I valori possibili sono: - In corso |
Categoria | La classificazione del tipo di dati. Per Automazione, il valore è JobStreams. |
OperationName | Tipo di operazione eseguita in Azure. Per Automazione, il valore è Job. |
Conto risorse | Nome dell’account di Automazione. |
SourceSystem | Sistema usato dai log di Monitoraggio di Azure per raccogliere i dati. Il valore è sempre Azure per Diagnostica di Azure. |
ResultDescription | Descrizione che include il flusso di output dal runbook. |
CorrelationId | GUID di correlazione del processo del runbook. |
ResourceId | ID risorsa del runbook dell’account di Automazione di Azure. |
SubscriptionId | GUID della sottoscrizione di Azure per l’account di Automazione. |
ResourceGroup | Nome del gruppo di risorse dell'account di Automazione. |
ResourceProvider | Provider di risorse. Il valore è MICROSOFT.AUTOMATION. |
ResourceType | Tipo di risorsa. Il valore è AUTOMATIONACCOUNTS. |
Nota
Verificare che le credenziali non vengano inviate ai flussi di processo. Il servizio rimuove le credenziali prima di visualizzare i flussi di processo nei log di diagnostica.
Eventi di controllo
Proprietà | Descrizione |
---|---|
TenantID | GUID che identifica il tenant del chiamante. |
TimeGenerated (UTC) | Data e ora di esecuzione del processo del runbook. |
Categoria | AuditEvent |
ResourceGroup | Nome del gruppo di risorse dell’account di Automazione. |
ID sottoscrizione | GUID della sottoscrizione di Azure per l’account di Automazione. |
ResourceProvider | MICROSOFT.AUTOMATION |
Conto risorse | Nome dell'account di Automazione |
ResourceType | AUTOMATIONACCOUNTS |
OperationName | I valori possibili sono Aggiornare, Creare, Eliminare. |
ResultType | Stato del processo del runbook. Il valore possibile è: Completato. |
CorrelationId | GUID di correlazione del processo del runbook. |
ResultDescription | Stato del risultato del processo del runbook. I valori possibili sono Aggiornare, Creare, Eliminare. |
Tenant_g | GUID che identifica il tenant del chiamante. |
SourceSystem | Sistema usato dai log di Monitoraggio di Azure per raccogliere dati. Il valore è sempre Azure per Diagnostica di Azure. |
clientInfo_IpAddress_s | {scrubbed} |
clientInfo_PrincipalName_s | {scrubbed} |
clientInfo_TenantId_g | ID tenant del client. |
clientInfo_Issuer_s | |
clientInfo_ObjectId_g | ID oggetto del client. |
clientInfo_AppId_g | AppID del client. |
clientInfo_ClientRequestId_g | RequestID del client |
targetResources_Resource_s | Account, Processo, Credenziali, Connessioni, Variabili, Runbook. |
Type | AzureDiagnostics |
_ResourceId | ID risorsa del runbook dell’account di Automazione di Azure. |
Visualizzare i log di Automazione nei log di Monitoraggio di Azure
Dopo aver avviato l’invio dei flussi e dei log dei processi di Automazione ai log di Monitoraggio di Azure, è possibile esaminare le operazioni che è possibile eseguire con questi log all’interno dei log di Monitoraggio di Azure.
Per visualizzare i log eseguire questa query: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"
Query di esempio per i log e i flussi di processo
Trovare tutti i processi completati con errore
Oltre agli scenari come gli avvisi sugli errori, è possibile trovare quando un processo del runbook presenta un errore non irreversibile. In questi casi PowerShell produce un flusso di errore, ma gli errori non irreversibili non comportano la sospensione o l'esito negativo del processo.
- Nell'area di lavoro Log Analytics fare clic su Log.
- Nel campo della query, digitare:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g.
- Fare clic su Cerca.
Visualizzare flussi del processo per un processo
Quando si esegue il debug di un processo, è consigliabile esaminarne anche i flussi. La query seguente mostra tutti i flussi per un singolo processo 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
Visualizzare lo stato cronologico del processo
È infine consigliabile visualizzare la cronologia dei processi nel tempo. È possibile usare questa query per cercare lo stato dei processi nel tempo.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)
Trovare log che segnalano errori nei processi di automazione.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where StreamType_s == "Error"
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId
Trovare processi di Automazione di Azure completati
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed"
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g
Trovare processi di Automazione di Azure non riusciti, sospesi o arrestati
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
Elencare tutti i runbook e i processi completati correttamente con errori
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error"
| project TimeGenerated, RunbookName_s, StreamType_s, _ResourceId, ResultDescription, JobId_g
Inviare un messaggio di posta elettronica quando un processo del runbook non riesce o viene sospeso
La procedura seguente illustra come configurare gli avvisi di posta elettronica in Monitoraggio di Azure per notificare quando si verifica un problema con un processo del runbook.
Per creare una regola di avviso, creare una ricerca log per i record del processo del runbook che devono richiamare l’avviso come descritto in Eseguire una query sui log. Fare clic su +Nuova regola di avviso per configurare la regola di avviso.
Nell’account di Automazione, in Monitoraggioselezionare Log.
Creare una query di ricerca log per l’avviso immettendo un criterio di ricerca nel campo della query.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended")
È anche possibile creare raggruppamenti in base al nome del runbook usando:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s
Per aprire la schermata Crea regola di avviso, fare clic su +Nuova regola di avviso nella parte superiore della pagina. Per altre informazioni sulle opzioni per configurare gli avvisi, vedere Avvisi di log in Azure
Log di controllo di diagnostica di Automazione di Azure
È ora possibile inviare log di controllo anche all’area di lavoro di Monitoraggio di Azure. Ciò consente alle aziende di monitorare le principali attività degli account di Automazione per la sicurezza e la conformità. Se l’opzione è abilitata tramite le impostazioni di Diagnostica di Azure, sarà possibile raccogliere i dati di telemetria relativi a operazioni di creazione, aggiornamento ed eliminazione per i runbook, i processi e gli asset di automazione, ad esempio connessione, credenziali, variabile e certificato di Automazione. È anche possibile configurare gli avvisi per le condizioni del log di controllo come parte dei requisiti di monitoraggio della sicurezza.
Differenza tra log attività e log di controllo
Il log attività è un log della piattaforma in Azure che fornisce informazioni dettagliate sugli eventi a livello di sottoscrizione. Il log attività per l’account di Automazione include informazioni su quando una risorsa di Automazione viene modificata o creata o eliminata. Tuttavia, non acquisisce il nome o l’ID della risorsa.
I log di controllo per gli account di Automazione acquisiscono il nome e l’ID della risorsa, ad esempio la variabile, le credenziali, la connessione di Automazione e così via, insieme al tipo di operazione eseguita per la risorsa e Automazione di Azure eliminerà alcuni dettagli, ad esempio i dati IP del client in conformità con il GDPR.
I log attività visualizzano dettagli, ad esempio l’indirizzo IP del client, perché un log attività è un log della piattaforma che fornisce informazioni di diagnostica e controllo dettagliate per le risorse di Azure. Vengono generati automaticamente per le attività che si verificano in ARM e vengono inoltrate al provider di risorse del log attività. Poiché i log attività fanno parte del monitoraggio di Azure, visualizzano alcuni dati client per fornire informazioni dettagliate sull’attività client.
Query di esempio per i log di controllo
Eseguire una query per visualizzare i log di controllo delle risorse di Automazione
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent"
Eseguire una query per monitorare qualsiasi operazione di aggiornamento, creazione o eliminazione di variabili
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable"
Eseguire una query per monitorare qualsiasi operazione del runbook, ad esempio creare, creare una bozza o aggiornare
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Runbook"
Eseguire una query per monitorare la creazione, l’aggiornamento o l’eliminazione di certificati
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Certificate"
Eseguire una query per monitorare la creazione, l’aggiornamento o l’eliminazione di credenziali
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Credential"
Filtrare l’output dello stato del processo convertito in un oggetto JSON
Di recente è stato modificato il comportamento della scrittura dei dati di log di Automazione nella tabella AzureDiagnostics
nel servizio Log Analytics: le proprietà JSON non vengono più suddivise in campi separati. Se il runbook è stato configurato per formattare gli oggetti nel flusso di output in formato JSON come colonne separate, è necessario riconfigurare le query per analizzare tale campo a un oggetto JSON per accedere a tali proprietà. Questa operazione viene eseguita usando analizzare JSON per accedere a un elemento JSON specifico in un percorso noto.
Ad esempio, un runbook formatta la proprietà ResultDescription nel flusso di output in formato JSON con più campi. Per cercare lo stato dei processi che si trovano in uno stato di errore, come specificato in un campo chiamato Stato, usare questa query di esempio per eseguire una ricerca in ResultDescription con lo stato Non riuscito:
AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'
Passaggi successivi
- Per informazioni su come creare query di ricerca e rivedere i log dei processi di Automazione con i log di Monitoraggio di Azure, vedere Ricerche nei log di Monitoraggio di Azure.
- Per informazioni su come creare e recuperare messaggi di errore e di output dai runbook, vedere Monitorare l'output dei runbook.
- Per altre informazioni sull'esecuzione dei runbook, su come monitorare i processi dei runbook e su altri dettagli tecnici, vedere Esecuzione di runbook in Automazione di Azure.
- Per altre informazioni sui log di Monitoraggio di Azure e sulle origini di raccolta dati, vedere Panoramica della raccolta di dati di archiviazione di Azure nei log di Monitoraggio di Azure.
- Per informazioni sulla risoluzione dei problemi di Log Analytics, vedere Risoluzione dei problemi se Log Analytics non sta più raccogliendo dati.