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:

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:

  1. En el menú Supervisión, seleccione las Reglas de recopilación de datos.

  2. Haga clic en Crear para crear una nueva regla de recopilación de datos y asociaciones.

    Captura de pantalla que muestra el botón Crear en la pantalla Reglas de recopilación de datos.

  3. 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.

    Captura de pantalla que muestra la pestaña Básico de la pantalla Regla de recopilación de datos.

  4. En la pestaña Recursos:

    1. 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.

    2. Seleccione Habilitar puntos de conexión de recopilación de datos.

    3. 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.

    Captura de pantalla que muestra la pestaña Recursos de la pantalla Regla de recopilación de datos.

  5. 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.

  6. Seleccione Registros de IIS.

    Captura de pantalla que muestra el formulario de Azure Portal para seleccionar los contadores de rendimiento básicos en una regla de recopilación de datos.

  7. También puede especificar un patrón de archivo para identificar el directorio donde se encuentran los archivos de registro.

  8. En la pestaña Destino, agregue un destino para el origen de datos.

    Captura de pantalla que muestra el formulario de Azure Portal para agregar un origen de datos a una regla de recopilación de datos.

  9. 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.

  10. 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.

Captura de pantalla de un registro de IIS que muestra la marca de tiempo.

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.

Captura de pantalla de los archivos de registro de IIS en una máquina de 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.

Captura de pantalla del cuadro de diálogo de la configuración de registro de IIS en una máquina de agente.

Abra el registro de IIS en la máquina del agente para comprobar que los registros estén en formato W3C.

Captura de pantalla de un registro de IIS en la que se muestra el encabezado que especifica que el archivo está 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: