Recopilación de registros de IIS con el agente de Azure Monitor
Internet Information Services (IIS) registra los datos en el disco local de las máquinas Windows. En este artículo se explica cómo recopilar los registros de IIS de las máquinas supervisadas con el agente de Azure Monitor mediante la creación de una regla de recopilación de datos (DCR).
Requisitos previos
Para completar este procedimiento, necesita:
Área de trabajo de Log Analytics en la que tiene al menos derechos de colaborador.
Uno o dos puntos de conexión de recopilación de datos, en función de si la máquina virtual y el área de trabajo de Log Analytics se encuentran en la misma región.
Para obtener más información, consulte Configuración de puntos de conexión de recopilación de datos en función de la implementación.
Permisos para crear objetos de regla de recopilación de datos en el área de trabajo.
Una máquina virtual, un conjunto de escalado de máquinas virtuales o un servidor local habilitado para Arc que ejecute IIS.
- Debe almacenarse un archivo de registro de IIS en formato W3C en la unidad local de la máquina en la que se ejecuta el agente de Azure Monitor.
- Cada entrada del archivo de registro debe delinearse con un final de línea.
- El archivo de registro no debe permitir el registro circular, la rotación de registros donde el archivo se sobrescribe con nuevas entradas o el cambio de nombre donde un archivo se mueve y se abre un nuevo archivo con el mismo nombre.
Creación de una regla de recopilación de datos para recopilar registros de IIS
La regla de recopilación de datos define lo siguiente:
- Qué archivos de registro de origen examina el agente de Azure Monitor para detectar nuevos eventos.
- Cómo transforma Azure Monitor los eventos durante la ingesta.
- El área de trabajo de Log Analytics de destino y la tabla a la que Azure Monitor envía los datos.
Puede definir una regla de recopilación de datos para enviar datos de varias máquinas a varias áreas de trabajo de Log Analytics, incluidas las áreas de trabajo de otra región o inquilino. Cree la regla de recopilación de datos en la misma región que el área de trabajo de Analytics.
Nota
Para enviar datos entre inquilinos, primero debe habilitar Azure Lighthouse.
Para crear la regla de recopilación de datos en Azure Portal:
En el menú Supervisión, seleccione las Reglas de recopilación de datos.
Haga clic en Crear para crear una nueva regla de recopilación de datos y asociaciones.
Escriba un nombre de regla y especifique una suscripción, un grupo de recursos, una región, un tipo de plataforma y un punto de conexión de recopilación de datos:
- Región especifica dónde se creará la regla de recopilación de datos. Las máquinas virtuales y sus asociaciones pueden estar en cualquier suscripción o grupo de recursos del inquilino.
- Tipo de plataforma especifica el tipo de recursos a los que se puede aplicar esta regla. La opción Personalizadopermite tipos de Windows y Linux.
- Punto de conexión de recopilación de datos especifica el punto de conexión de recopilación de datos que se usa para recopilar datos. Este punto de conexión de recopilación de datos debe estar en la misma región que el área de trabajo de Log Analytics. Para obtener más información, consulte Configuración de puntos de conexión de recopilación de datos en función de la implementación.
En la pestaña Recursos:
Seleccione + Agregar recursos y asocie recursos a la regla de recopilación de datos. Los recursos pueden ser máquinas virtuales, conjuntos de escalado de máquinas virtuales y Azure Arc para servidores. Azure Portal instala el agente de Azure Monitor en recursos que no lo tengan ya instalado.
Importante
El portal habilita una identidad administrada asignada por el sistema en los recursos de destino, junto con las identidades asignadas por el usuario existentes, si existen. En el caso de las aplicaciones que ya existan, y a menos que se especifique la identidad asignada por el usuario en la solicitud, la máquina usa de manera predeterminada la identidad asignada por el sistema.
Seleccione Habilitar puntos de conexión de recopilación de datos.
Seleccione un punto de conexión de recopilación de datos para cada una de las máquinas virtuales asociadas a la regla de recopilación de datos.
Este punto de conexión de recopilación de datos envía archivos de configuración a la máquina virtual y debe estar en la misma región que la máquina virtual. Para obtener más información, consulte Configuración de puntos de conexión de recopilación de datos en función de la implementación.
En la pestaña Recopilar y entregar, haga clic en Agregar origen de datos para agregar un origen de datos y un conjunto de destino.
Seleccione Registros de IIS.
También puede especificar un patrón de archivo para identificar el directorio donde se encuentran los archivos de registro.
En la pestaña Destino, agregue un destino para el origen de datos.
Seleccione Revisar y crear para revisar los detalles de la regla de recopilación de datos y la asociación con el conjunto de máquinas virtuales.
Elija Crear para crear la regla de recopilación de datos.
Nota
Los datos pueden tardar hasta 5 minutos en enviarse a los destinos después de crear la regla de recopilación de datos.
Consultas de registros de ejemplo
Contar entradas de registro de IIS por dirección URL para el host www.contoso.com.
W3CIISLog | where csHost=="www.contoso.com" | summarize count() by csUriStem
Revisar el total de bytes recibidos por cada máquina IIS.
W3CIISLog | summarize sum(csBytes) by Computer
Regla de alertas de ejemplo
Crear una regla de alerta en cualquier registro con un estado de retorno de 500.
W3CIISLog | where scStatus==500 | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
Solución de problemas
Siga estos pasos para solucionar problemas de recopilación de registros de IIS.
Comprobar si se han recibido registros de IIS
Para empezar, compruebe si se han recopilado entradas de los registros de IIS mediante la ejecución de la siguiente consulta en Log Analytics. Si la consulta no devuelve ningún registro, compruebe el resto de secciones en busca de posibles causas. Esta consulta busca entradas de los últimos dos días, pero puede modificarla para otro intervalo de tiempo.
W3CIISLog
| where TimeGenerated > ago(48h)
| order by TimeGenerated desc
Comprobar que el agente envía latidos correctamente
Compruebe que el agente de Azure Monitor se esté comunicando correctamente mediante la ejecución de la siguiente consulta en Log Analytics para comprobar si hay registros en la tabla Heartbeat.
Heartbeat
| where TimeGenerated > ago(24h)
| where Computer has "<computer name>"
| project TimeGenerated, Category, Version
| order by TimeGenerated desc
Comprobar que se están creando los registros de IIS
Examine las marcas de tiempo de los archivos de registro y abra el más reciente para ver si las marcas de tiempo más recientes están presentes en los archivos de registro. La ubicación predeterminada de los archivos de registro de IIS es C:\inetpub\logs\LogFiles\W3SVC1.
Comprobar que se ha especificado la ubicación de registro correcta en la regla de recopilación de datos
La regla de recopilación de datos tendrá una sección similar a la siguiente. El elemento logDirectories
especifica la ruta de acceso al archivo de registro que se va a recopilar del equipo del agente. Compruebe el equipo del agente para comprobar que esto sea correcto.
"dataSources": [
{
"configuration": {
"logDirectories": ["C:\\scratch\\demo\\W3SVC1"]
},
"id": "myIisLogsDataSource",
"kind": "iisLog",
"streams": [{
"stream": "ONPREM_IIS_BLOB_V2"
}
],
"sendToChannels": ["gigl-dce-6a8e34db54bb4b6db22d99d86314eaee"]
}
]
Este directorio se debe corresponder con la ubicación de los registros de IIS en la máquina del agente.
Comprobar que los registros de IIS tienen formato W3C
Abra el Administrador de IIS y compruebe que los registros se escriban en formato W3C.
Abra el registro de IIS en la máquina del agente para comprobar que los registros estén en formato W3C.
Nota:
El campo personalizado X-Forwarded-For no se admite en este momento. Si se trata de un campo crítico, puede recopilar los registros de IIS como un registro de texto personalizado.
Pasos siguientes
Más información sobre: