Compartir a través de


Cómo habilitar el seguimiento y el registro de solicitudes con error para el hospedaje UNC

Se aplica a: Internet Information Services

Colocar el contenido y el código de la aplicación en un recurso compartido UNC para escenarios de hospedaje es cada vez más importante en los servidores de aplicaciones web. En escenarios de hospedaje, es importante poder mantener los registros junto con el contenido y el código de la aplicación web. Los registros incluyen los archivos de registro de seguimiento de solicitudes con error, así como los registros de aciertos que iiS registra para el sitio web. En este artículo se explica cómo crear los directorios adecuados, establecer los permisos adecuados en ellos y, a continuación, configurar IIS sobre cómo usar los directorios para los distintos archivos de registro mediante:

  • Interfaz de usuario: uso del Administrador o explorador de IIS
  • CMD: uso de la línea de comandos (PowerShell, AppCmd, etc.)
  • XML: edición manual de la configuración.

Configuración del seguimiento de solicitudes con error para un escenario de hospedaje

El seguimiento de solicitudes con errores es una característica de diagnóstico eficaz que ayuda a los desarrolladores y administradores a determinar dónde se producen los problemas en sus aplicaciones y por qué se producen. Seguimiento de solicitudes con error después de la instalación es difícil de usar por los desarrolladores que no son administradores en la máquina. Esta sección ayuda a configurar el seguimiento de solicitudes erróneas para que los desarrolladores puedan acceder a ellos mediante:

  • Desbloqueo de las secciones necesarias para permitir a los desarrolladores definir sus propias reglas de seguimiento de solicitudes con errores para sus aplicaciones.
  • Configurar el seguimiento de solicitudes con error para iniciar sesión en un recurso compartido UNC para el propietario de la aplicación.

Delegación de <traceFailedRequests> a usuarios que no son administradores

Hay dos secciones diferentes de configuración para el seguimiento de solicitudes con error:

  • <traceFailedRequestsLogging>: esta sección siempre está restringida a los administradores de IIS. Esta sección permite a los administradores habilitar o deshabilitar la característica de Seguimiento de solicitudes erróneas de un sitio, configurar el número máximo de archivos de registro, su tamaño y directorio donde se ubican. Por estos motivos (es decir, controlar la capacidad de rellenar el disco con archivos de registro), los administradores deben mantener el control sobre esta sección.
  • <traceFailedRequests>: esta sección es donde crea las definiciones de error: de qué direcciones URL hacer seguimientos y en qué condiciones guardarlos en el disco como XML. Esta es la sección que permitirá desbloquear.

Después de la instalación del módulo de seguimiento de solicitudes con error (consulte solución de problemas de solicitudes con seguimiento mediante seguimiento para obtener información sobre la instalación y el uso básico del seguimiento de solicitudes con errores), la <traceFailedRequests> sección ya está establecida para permisos de lectura y escritura. Esto le permite a los propietarios de la aplicación definir sus propias reglas de seguimiento de solicitudes erróneas, sin que el administrador defina estas reglas por ellos.

INTERFAZ de usuario: comprobación <de la delegación traceFailedRequests> desde el Administrador de IIS

Para comprobar que <traceFailedRequests> se ha configurado para la delegación desde la interfaz de usuario del Administrador de IIS, haga lo siguiente:

  1. Seleccione Iniciar y escriba InetMgr para abrir el Administrador de IIS. Escriba las credenciales de administrador si aún no es administrador.
  2. Seleccione <El nombre> de la máquina y, a continuación , delegación de características.
  3. Compruebe que las reglas de seguimiento de solicitudes erróneas están establecidas en Lectura y escritura.

Captura de pantalla del cuadro de diálogo Delegación de características. Las reglas de seguimiento de solicitudes con error se resaltan.

Esto permite a los desarrolladores que no tengan acceso a ApplicationHost.config para crear sus propias definiciones de error en sus archivos web.config de la aplicación. Solo cuando el administrador activa el seguimiento de solicitudes de error, las reglas surten efecto.

XML: comprobación <de la delegación traceFailedRequests> en ApplicationHost.config

Para comprobar que <traceFailedRequests> se ha configurado para la delegación a través de ApplicationHost.config, siga estos pasos:

  1. Inicie un símbolo del sistema con privilegios elevados del administrador.
  2. Cambie los directorios a %windir%\system32\inetsrv\config y ejecute notepad applicationHost.config.
  3. En applicationHost.config, busque la sección string <name="traceFailedRequests" : esta sección se delega si se establece overrideModeDefault="Allow".
<configSections>
...other config sectionGroups...
  <sectionGroup name="system.webServer">
  ...other sections...
    <sectionGroup name="tracing">
      <section name="traceFailedRequests" overrideModeDefault="Allow" />
      ...
    </sectionGroup>
   ...
  </sectionGroup>
</configSections>

Configuración de los identificadores de grupo de aplicaciones y recursos compartidos UNC

Para que IIS pueda escribir sus archivos de registro de solicitudes con error en un recurso compartido UNC, la identidad del proceso de trabajo debe tener control total en el recurso compartido de red y la ruta de acceso del sistema de archivos en el servidor UNC. Esto se debe a que debe poder enumerar el contenido del directorio, crear nuevos archivos de registro y directorios y eliminar los archivos de registro antiguos.

Si usa una de las cuentas integradas (como IUSR o Servicio de red) como identificador del grupo de aplicaciones, estas cuentas aparecen como ANONYMOUS en el servidor UNC. Se recomienda encarecidamente:

  • USO DE DOMINIO: cree una cuenta de usuario de dominio para el grupo de aplicaciones y, a continuación, use ese identificador de grupo de aplicaciones para ACL en el directorio del recurso compartido y del sistema de archivos donde residen los archivos de registro de solicitudes de error. Tanto el servidor web como el servidor UNC deben ser miembros del dominio.
  • USO NO DE DOMINIO: si el UNC y los servidores web no están unidos al dominio, se debe crear la misma cuenta con la misma contraseña de cuenta en cada equipo. Este es el ejemplo que se usa en este tutorial.

En las secciones siguientes, creará un nuevo usuario con un nombre de ejemplo PoolId1 y con una contraseña de ejemplo !p4ssw0rd y un nuevo grupo de aplicaciones con un nombre de ejemplo Pool_Site1.

INTERFAZ de usuario: cree la nueva cuenta local en el servidor UNC y el servidor web front-end.

Estas instrucciones deben repetirse tanto en el servidor UNC como en el servidor web. Cree un usuario llamado PoolId1, cuya contraseña sea !p4ssw0rd.

  1. Desde un símbolo del sistema con privilegios elevados de administrador, ejecute start lusrmgr.msc.

  2. Haga clic con el botón derecho en Usuarios y seleccione Nuevo usuario....

  3. Rellene las entradas del cuadro de diálogo Nuevo usuario de la siguiente manera:

    • Nombre de usuario: PoolId1

    • Contraseña (y confirmar contraseña): !p4ssw0rd

    • Borrar usuario debe cambiar la contraseña en el siguiente inicio de sesión

    • Seleccionar usuario no puede cambiar la contraseña

    • Seleccione Crear ->Cerrar.

      Captura de pantalla del cuadro de diálogo Nuevo usuario se muestra.

Asegúrese de crear el usuario PoolId1 en el servidor web IIS front-end y el servidor UNC back-end. También debe agregar poolId1 al grupo de IIS_IUSRS en el servidor web front-end. Para ello, siga los pasos que se indican a continuación:

  1. Seleccione la carpeta Grupos en el complemento MMC lusrmgr .
  2. Haga clic con el botón derecho en IIS_IUSRS y seleccione Agregar al grupo.
  3. Seleccione Agregar...y escriba <servername>\PoolId1 como identidad que se va a agregar.

CMD: crear la nueva cuenta local en el servidor UNC y el servidor web front-end

Para agregar la nueva identidad PoolId1 desde la línea de comandos, siga estos pasos:

  1. Ejecute un símbolo del sistema con privilegios de administrador elevados.

  2. En la ventana del símbolo del sistema, ejecute el siguiente comando:

    net user PoolId1 !p4ssw0rd /ADD /passwordchg:no
    
    net localgroup IIS_IUSRS PoolId1 /ADD
    

Nota:

El net localgroup comando solo es necesario en el servidor web front-end.

INTERFAZ de usuario: cree un nuevo grupo de aplicaciones para el sitio web y cambie su identidad.

Parte de la guía de hospedaje compartido es un nuevo grupo de aplicaciones; establezca su identidad en el PoolId1 que acaba de crear.

  1. En el servidor front-end de IIS, ejecute Start-InetMgr>.
  2. Seleccione Grupos de aplicaciones y, después, en Acciones ->Agregar grupo de aplicaciones....
  3. Haga que el nombre Pool_Site1, deje solo todas las demás configuraciones y, a continuación, seleccione Aceptar.
  4. Haga clic con el botón derecho en Pool_Site1 y seleccione Configuración avanzada....
  5. En Modelo de proceso, seleccione la fila Identidad y, a continuación, seleccione el botón ... .
  6. Seleccione Establecer y configurar la identidad personalizada para que coincida con la identidad de usuario que acaba de crear: PoolId1. Seleccione Aceptar y Aceptar de nuevo para cambiar la identidad del grupo de aplicaciones.

Captura de pantalla del cuadro de diálogo Configuración avanzada. La identidad está resaltada.

Coloque un sitio en este grupo de aplicaciones. Use el sitio web predeterminado para este ejemplo. También puede crear un sitio nuevo (por ejemplo, SITE1) con el Administrador de IIS. Haga lo siguiente:

  1. Seleccione Sitios ->Sitio web predeterminado.
  2. En el panel Acciones de la derecha, seleccione Configuración básica....
  3. A la derecha de Grupo de aplicaciones:, seleccione Seleccionar....
  4. Seleccione el nuevo grupo de aplicaciones de Pool_Site1 , seleccione Aceptar y , después, Aceptar de nuevo.

CMD: cree un nuevo grupo de aplicaciones para el sitio web y cambie su identidad.

  1. Inicie un símbolo del sistema con privilegios elevados del administrador.

  2. Para agregar el nuevo grupo de aplicaciones, ejecute el siguiente comando:

    %windir%\system32\inetsrv\appcmd add AppPool -name:Pool_Site1 -processModel.username:ERICDE-DELL-W\PoolId1 -processModel.password:!p4ssw0rd -processModel.identityType:SpecificUser
    
  3. Para establecer que la aplicación raíz del sitio web predeterminado se ejecute en Pool_Site1, ejecute el siguiente comando:

    %windir%\system32\inetsrv\appcmd set app -app.name:"Default Web Site/" -applicationPool:Pool_Site1
    

Creación y bloqueo de las ACL para el recurso compartido UNC

Ahora cree y bloquee el recurso compartido UNC y sus directorios del sistema de archivos.

CMD: Crear y bloquear las ACL para el recurso compartido UNC

En el servidor UNC, siga estos pasos:

  1. Cree un contenido de ruta de acceso del sistema de archivos donde volcará el contenido.

  2. En ese caso, cree un nuevo directorio Site1 y, en ese otro directorio Registros, y el directorio final failedReqLogFiles. Se ve lo siguiente:

    • g:\content
      • Site1
        • Trozas
          • failedReqLogFIles
  3. En g:\content\Site1\Logs\failedReqLogFiles, establezca los permisos en la ruta de acceso del sistema de archivos para proporcionar a la cuenta PoolId1 control total sobre el directorio Logs. Esto es necesario, ya que la identidad del proceso de trabajo debe poder enumerar el contenido, escribir nuevos archivos, crear nuevos directorios y eliminar archivos antiguos. Para hacer esto desde un símbolo del sistema con privilegios elevados de administrador, ejecute el siguiente comando:

    • Servidor de archivos de Windows Server® 2003:

      icacls g:\content\Site1\Logs\failedReqLogFiles /g PoolId1:F
      
    • Servidor de archivos de Windows Server 2003:

      cacls g:\content\Site1\Logs\failedReqLogFiles /g PoolId1:F /e
      
  4. Comparta el directorio. En la línea de comandos, ejecute el siguiente comando:

    net share content$=g:\content /GRANT:Users,CHANGE
    

Establecer el seguimiento de solicitudes con errores para registrar en la ruta de acceso UNC

Ahora que el recurso compartido se comparte y los permisos adecuados se han establecido, configure el seguimiento de solicitudes erróneas para iniciar sesión en la ruta de acceso UNC.

INTERFAZ de usuario: Configurar el seguimiento de solicitudes con errores para iniciar sesión en UNC

Para configurar el seguimiento de solicitudes con error para iniciar sesión en nuestra ruta de acceso UNC, siga estas instrucciones en el servidor web:

  1. Abra el Administrador de IIS ejecutando Start ->Inetmgr.

  2. Seleccione Sitio web predeterminado y, en Configurar , seleccione Seguimiento de solicitudes con error...

  3. Seleccione la casilla Habilitado.

  4. En Directorio, escriba la ruta de acceso al recurso compartido UNC:

    \\<UncServerName>\UNCContent\Site1\Logs\FailedReqLogFiles
    

    Captura de pantalla de la configuración editar el seguimiento de solicitudes con error del sitio web.

Prueba

Configure una regla para detectar todas las solicitudes HTTP 200 de todas las direcciones URL de Todo el contenido para ejecutar una prueba.

  1. En la interfaz de usuario del Administrador de IIS de nuevo, expanda Sitios y seleccione Sitio web predeterminado.
  2. Haga doble clic en Reglas de seguimiento de solicitudes erróneas.
  3. En Acciones a la derecha, seleccione Agregar...
    Captura de pantalla del cuadro de diálogo Agregar regla de seguimiento de solicitudes con error que muestra la página Especificar contenido en seguimiento.
  4. Seleccione Siguiente y establezca el código de estado en 200:
    Captura de pantalla del cuadro de diálogo Agregar regla de seguimiento de solicitudes con errores que muestra la página Definir condiciones de seguimiento.
  5. Seleccione Siguiente, deje el valor predeterminado para recopilar todo y, a continuación, Seleccione Finalizar.

XML: configurar la regla de seguimiento de solicitudes con error en web.config

El XML real tiene el siguiente aspecto en el archivo web.config del sitio web predeterminado:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <tracing>
      <traceFailedRequests>
        <add path="*">
          <traceAreas>
            <add provider="ASP" verbosity="Verbose" />
            <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
            <add provider="ISAPI Extension" verbosity="Verbose" />
            <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications" verbosity="Verbose" />
           </traceAreas>
          <failureDefinitions statusCodes="200" />
        </add>
      </traceFailedRequests>
    </tracing>
  </system.webServer>
</configuration>

Comprobación del back-end UNC

Vaya al sitio web que configuró para registrar reglas de seguimiento de solicitudes con error en la ruta de acceso UNC (similar a http://<uncsite>/default.aspx). Compruebe el directorio del servidor back-end UNC donde está registrando. Observe que se ha creado un nuevo directorio denominado W3SVC1 en el directorio del archivo de registro de solicitud con error configurado. Vaya a ese directorio y vea el archivo de registro y el archivo FREB.xsl .