Raccogliere log di IIS con l'agente di Monitoraggio di Azure
I dati dei log di Internet Information Service (IIS) nel disco locale dei computer Windows. Questo articolo illustra come raccogliere i log IIS dai computer monitorati con l’agente di Monitoraggio di Azure creando una regola di raccolta dati.
Prerequisiti
Per completare questa procedura, è necessario disporre di:
Un'area di lavoro Log Analytics in cui si dispone almeno dei diritti di collaboratore.
Uno o due endpoint di raccolta dati, a seconda che la macchina virtuale e l'area di lavoro Log Analytics si trovino nella stessa area.
Per altre informazioni, vedere Come configurare gli endpoint di raccolta dati in base alla distribuzione.
Autorizzazioni per creare oggetti regola di raccolta dati nell'area di lavoro.
Una macchina virtuale, un set di scalabilità di macchine virtuali o un server locale abilitato per Arc che esegue IIS.
- Un file di log IIS in formato W3C deve essere archiviato nell'unità locale del computer in cui è in esecuzione l'agente di Monitoraggio di Azure.
- Ogni voce nel file di log deve essere delimitata con una fine di riga.
- Il file di log non deve consentire la registrazione circolare, la rotazione dei log in cui il file viene sovrascritto con nuove voci o la ridenominazione in cui viene spostato un file e viene aperto un nuovo file con lo stesso nome.
Creare una regola di raccolta dati per raccogliere i log IIS
La regola di raccolta dati definisce:
- Quali file di log di origine vengono analizzati dall'agente di Monitoraggio di Azure per individuare nuovi eventi.
- Il modo in cui Monitoraggio di Azure trasforma gli eventi durante l'inserimento.
- L’area di lavoro Log Analytics di destinazione e la tabella a cui Monitoraggio di Azure invia i dati.
È possibile, ad esempio, definire una regola di raccolta dati per inviare dati da più computer a più aree di lavoro Log Analytics, incluse aree di lavoro in un'area o un tenant diverso. Creare la regola di raccolta dati nella stessa area dell'area di lavoro Analytics.
Nota
Per inviare dati tra tenant, è necessario abilitare prima Azure Lighthouse.
Per creare la regola di raccolta dati nel portale di Azure:
Nel menu Monitoraggio selezionare Regole di raccolta dati.
Selezionare Crea per creare una nuova regola di raccolta dati e le relative associazioni.
Immettere un Nome regola e specificare una sottoscrizione, un gruppo di risorse, un'area, un tipo di piattaforma e un endpoint di raccolta dati:
- In Area viene specificata la regione in cui verrà creata la regola di raccolta dati. Le macchine virtuali e le relative associazioni possono trovarsi in qualsiasi sottoscrizione o gruppo di risorse presente nel tenant.
- In Tipo di piattaforma viene specificato il tipo di risorse a cui può essere applicata questa regola. L'opzione Personalizzata consente sia i tipi Windows che Linux.
- Endpoint di raccolta dati è un campo facoltativo che non deve essere impostato a meno che non si prevede di usare i collegamenti privati di Monitoraggio di Azure. Se è necessario, specifica l'endpoint di raccolta dati usato per raccogliere i dati. Questo endpoint di raccolta dati deve trovarsi nella stessa area dell'area di lavoro Log Analytics. Per altre informazioni, vedere Come configurare gli endpoint di raccolta dati in base alla distribuzione.
Nella scheda Risorse:
Selezionare + Aggiungi risorse e associare le risorse alla regola di raccolta dati. Le risorse possono essere macchine virtuali, set di scalabilità di macchine virtuali e Azure Arc per server. Il portale di Azure installa l'agente di Monitoraggio di Azure nelle risorse che non sono già installate.
Importante
Il portale abilita l'identità gestita assegnata dal sistema nelle risorse di destinazione, insieme alle identità assegnate dall'utente esistenti, se presenti. Per le applicazioni esistenti, a meno che non si specifichi l'identità assegnata dall'utente nella richiesta, per impostazione predefinita il computer usa l'identità assegnata dal sistema.
Selezionare Abilitare gli endpoint di raccolta dei dati.
Selezionare un endpoint di raccolta dati per ognuna delle macchine virtuali associate alla regola di raccolta dati.
Questo endpoint di raccolta dati invia i file di configurazione alla macchina virtuale e deve trovarsi nella stessa area della macchina virtuale. Per altre informazioni, vedere Come configurare gli endpoint di raccolta dati in base alla distribuzione.
Nella scheda Raccogli e recapita selezionare Aggiungi origine dati per aggiungere un'origine dati e impostare una destinazione.
Selezionare Log IIS.
Specificare un modello di file per identificare la directory in cui si trovano i file di log.
Nella scheda Destinazione aggiungere una destinazione per l'origine dati.
Selezionare Rivedi e crea per esaminare i dettagli della regola di raccolta dati e l'associazione con il set di macchine virtuali.
Selezionare Crea per creare la regola di raccolta dati.
Nota
Dopo la creazione della regola di raccolta dati, l’invio dei dati alle destinazioni può richiedere fino a 5 minuti.
Query di log di esempio
Contare le voci del log IIS per ULR per l'host www.contoso.com.
W3CIISLog | where csHost=="www.contoso.com" | summarize count() by csUriStem
Esaminare i byte totali ricevuti da ogni computer IIS.
W3CIISLog | summarize sum(csBytes) by Computer
Regola di avviso di esempio
Creare una regola di avviso per qualsiasi record con stato restituito 500.
W3CIISLog | where scStatus==500 | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
Risoluzione dei problemi
Usare la procedura seguente per risolvere i problemi relativi alla raccolta di log IIS.
Controllare se sono stati ricevuti log IIS
Per iniziare, verificare se sono stati raccolti record per i log IIS eseguendo la query seguente in Log Analytics. Se la query non restituisce record, controllare le altre sezioni per individuare le possibili cause. Questa query cerca voci negli ultimi due giorni, ma è possibile modificare per analizzare un altro intervallo di tempo.
W3CIISLog
| where TimeGenerated > ago(48h)
| order by TimeGenerated desc
Verificare che l'agente invii heartbeat correttamente
Verificare che l'agente di Monitoraggio di Azure comunichi correttamente eseguendo la query seguente in Log Analytics per verificare se sono presenti record nella tabella Heartbeat.
Heartbeat
| where TimeGenerated > ago(24h)
| where Computer has "<computer name>"
| project TimeGenerated, Category, Version
| order by TimeGenerated desc
Verificare che i log IIS siano in corso di creazione
Esaminare i timestamp dei file di log e aprire il più recente per verificare che i timestamp più recenti siano presenti nei file di log. Il percorso predefinito per i file di log IIS è C:\inetpub\logs\LogFiles\W3SVC1.
Verificare di aver specificato il percorso del log corretto nella regola di raccolta dati
La regola di raccolta dati avrà una sezione simile alla seguente. L'elemento logDirectories
specifica il percorso del file di log per la raccolta dal computer agente. Controllare il computer agente per verificare che sia corretto.
"dataSources": [
{
"configuration": {
"logDirectories": ["C:\\scratch\\demo\\W3SVC1"]
},
"id": "myIisLogsDataSource",
"kind": "iisLog",
"streams": [{
"stream": "ONPREM_IIS_BLOB_V2"
}
],
"sendToChannels": ["gigl-dce-6a8e34db54bb4b6db22d99d86314eaee"]
}
]
Questa directory deve corrispondere al percorso dei log IIS nel computer dell'agente.
Verificare che i log IIS siano formattati in W3C
Aprire Gestione IIS e verificare che i log siano scritti in formato W3C.
Aprire il file di log IIS nel computer agente per verificare che i log siano in formato W3C.
Nota
Il campo X-Forwarded-For personalizzato non è attualmente supportato. Se si tratta di un campo critico, è possibile raccogliere i log IIS come log di testo personalizzato.
Passaggi successivi
Altre informazioni su:
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per