El binario splitlogs en WHM

Introducción

La utilidad /usr/local/cpanel/bin/splitlogs le permite ajustar sus compensaciones de recursos y rendimiento cuando crea los registros de Apache. La utilidad splitlogs también le provee algunas optimizaciones de rendimiento, lo que incluye la habilidad de cerrar handlers de archivo sin reiniciar Apache. Esto mejora el rendimiento durante el procesamiento de registros y banda ancha.

Por diseño, Apache abre y escribe a un solo archivo de registro para cada dominio. Se le asigna su propio registro a cada anfitrión virtual en el archivo de configuración de Apache.

Los sistemas de cPanel y WHM se abren y escriben a dos archivos de registro:

  • Un archivo de registro rastrea el uso de recurso del dominio (byte log).
  • El otro archivo de registro rastrea cómo el dominio se accede y quién lo accede (access log).

Los sistemas de cPanel y WHM usan la funcionalidad piped logs de Apache, con la utilidad splitlogs, para procesar información de registros de Apache (enlace en inglés). cPanel y WHM puede reducir el consumo de memoria de Apache al cambiar cómo se escriben los registros de acceso (access log) y byte (byte log).

Los sistemas de cPanel y WHM corren dos instancias de la utilidad splitlogs: una que administra los byte logs y otra que administra los access logs.

La utilidad splitlogs extraerá el nombre del dominio y el puerto y usará esta información como la línea separada por espacios en el archivo de registro. El nombre del archivo de registro se basa en esta información y se escribe al directorio que usted especifica con esta utilidad o a la ubicación predeterminada para los registros de Apache (/usr/local/apache/).

Usos

/usr/local/cpanel/bin/splitlogs --bincheck
/usr/local/cpanel/bin/splitlogs --dir=/logs/apache
/usr/local/cpanel/bin/splitlogs --dir="/logs/apache" --suffix=".log" --sslsuffixi="_ssl.log" --maxopen="20000" --buffer="yes"

Parámetros

Revisión del programa

Parámetro Descripción Tipo de entrada Ejemplo
--bincheck Este parámetro le permite verificar que la utilidad splitlogs está construida correctamente. Si la utilidad puede correr, el parámetro --bincheck devolverá BinCheck Ok por medio de STDOUT y por salida. Si splitlogs no se construye apropiadamente, el script tendrá una salida sin mensaje. No aplica /usr/local/cpanel/bin/splitlogs ‑‑bincheck

Opciones de configuración de Apache

Parámetro Descripción Tipo de entrada Ejemplo
--dir El directorio en el que usted desea guardar archivos de registro de Apache. El valor predeterminado de este parámetro es /usr/local/apache cadena /usr/local/cpanel/bin/splitlogs ‑‑dir="/logs/apache"
--suffix El sufijo que usted debe usar con los registros de acceso no codificados (que no son SSL) de Apache. Por predeterminación, su valor es una cadena vacía. cadena /usr/local/cpanel/bin/splitlogs ‑‑suffix=".logs"
--sslsuffix El sufijo a usarse con los registros de acceso SSL de Apache. Los archivos de registro para las solicitudes codificadas por SSL de Apache usan un sufijo. Por predeterminación, el valor de este parámetro es ssl_log cadena /usr/local/cpanel/bin/splitlogs ‑‑suffix="_ssl.log"
--sslport El puerto en el que ocurren las conexiones SSL. La utilidad splitlogs examina el número de puerto e incluye el número de puerto en el archivo de registro. El valor predeterminado de este valor es 443. El puerto 443 es el número de puerto estándar predeterminado para las solicitudes codificadas de Apache (HTTPS). cadena /usr/local/cpanel/bin/splitlogs ‑‑sslport="2089"
--main El nombre de anfitrión del servidor. Por predeterminación, Apache enruta las solicitudes sin un anfitrión virtual correspondiente al registro predeterminado, en vez de a un registro de dominio diferente. Este parámetro le permite especificar el nombre de anfitrión del servidor para que splitlogs reconozca solicitudes que necesitan ser redirigidas al archivo de registro predeterminado. Este parámetro, en conjunto con --mainout, le permite a cPanel y WHM igualar el comportamiento estándar de Apache. cadena /usr/local/cpanel/bin/splitlogs ‑‑main="host.example.com"
--mainout La ruta al registro de acceso predeterminado donde se registran las solicitudes sin ningún anfitrión virtual correspondiente. Este parametro, en conjunto con ‑‑main, le permite a cPanel y WHM igualar el comportamiento estándar de Apache. cadena /usr/local/cpanel/bin/splitlogs ‑‑mainout="/logs/apache/host.example.com.log"

Opciones para ajustar el rendimiento

Parámetro Descripción Tipo de entrada Ejemplo
‑‑maxopen El número máximo de manejadores de archivo que splitlogs puede mantener abiertos en un momento dado. El valor predeterminado de este parámetro es 16000 (16,000). El parámetro --maxopen puede aceptar cualquier número entero entre 1 y número máximo de manejadores de archivo que cualquier proceso individual puede abrir. Su sistema operativo dicta este valor. cadena /usr/local/cpanel/bin/splitlogs ‑‑maxopen=20000
‑‑buffer Seleccione si debe activar buffered file writing. Este valor accepta dos cadenas: yes (sí) o no. En la mayoría de los casos, el parámetro se configura a yes por predeterminación. Sin embargo, bajo algunas condiciones, este valor puede predeterminarse a no. Lea la sección Más sobre --buffer para más detalles. cadena /usr/local/cpanel/bin/splitlogs ‑‑buffer=yes

Más sobre --maxopen

Este parámetro le permite configurar un compromiso entre recursos y velocidad. El parámetro --maxopen le permite especificar el número máximo de archivos de registro que splitlog puede mantener abierto en un momento dado.

Esencialmente, este valor es el número de archivos hacia los que splitlogs puede escribirles en cualquier momento sin tener que cerrar o abrir archivos de registro adicionales.

El valor predeterminado de este parámetro es 16,000. Si el valor que usted escoge es muy grande, el sistema operativo rehusará abrir un archivo cuando lo necesita y el valor del parámetro volverá al valor predeterminado de 16,000.

Consideraciones importantes:

  • Cuando se abre el número máximo de archivos y splitlogs necesita escribirle a un archivo nuevo, el archivo más antiguo se cierra y se abre el nuevo archivo. Esto permite que la utilidad splitlogs le escriba al archivo de registro.
  • La utilidad splitlogs no cerrará ningunos archivos de registro hasta que se excede el valor configurado en --maxopen. Esto significa que, mientras el número de archivos de registro que splitlogs ha abierto sea menor que el set de valores en --maxopen, no se llevará a cabo ninguna acción.
  • La utilidad splitlogs también cierra archivos durante el procesamiento de registros y banda ancha y cuando Apache se reinicia.
  • La utilidad splitlogs solamente abrirá un archivo de registro al cual escribirle cuando se accede su dominio correspondiente. Esto difiere del comportamiento predeterminado de Apache, donde el número de archivos de registro abiertos es igual a dos veces el número de anfitriones virtuales configurados en el archivo de configuración de Apache (/usr/local/apache/conf/httpd.conf). Esto ocurre porque hay dos archivos de registro para cada anfitrión virtual (un registro de acceso (access log) y un registro de byte (byte log)).
  • Configurar este parámetro a un número muy bajo causará que el binario splitlogs abra y cierre archivos más de lo necesario, lo que reduce el rendimiento.
  • Configurar este parámetro a un número muy alto requiere más recursos de sistema y manejadores de archivo de sistema operativo, lo que aumenta la carga total del sistema. Este problema se agrava si el búfer está activado.
  • En última instancia, usted debe determinar el valor del parametro --maxopen según el patrón actual de acceso a sitios en su sistema.

Más sobre --buffer

Esta opción de configuración es otro compromiso entre recursos y velocidad. Bajo la mayoría de las condiciones, la utilidad splitlogs usa escritos de búfer por predeterminación.

Consideraciones importantes:

  • Activar los buffered writes hace más rápido escribirle a los archivos de registro individuales, pero requiere más memoria para cada archivo de registro que está abierto.
    • Usted solamente sentirá este aumento de rendimiento si el sistema tiene memoria de sobra y la carga del servidor es suficientemente liviana para recargar los bufferers en el momento oportuno.
    • Si el sistema se sobrecarga o no tiene memoria adicional de sobra, write buffering disminuirá el rendimiento general.
  • Desactivar los buffered writes reduce sustancialmente la cantidad de memoria requerida por la utilidad splitlogs
    • Por ejemplo, en un sistema que tiene un búfer de sistema de operación de 4,000 manejadores de archivos y donde le parámetro --maxopen se configura a 1024 se usan 4 MB de memoria por cada instancia de splitlogs
  • Si el archivo bandera /var/cpanel/conserve_memory existe, los buffered writes se desactivan por predeterminación. Usted puede anular esta configuración con la utilidad splitlogs al pasar el parámetro yes de ‑‑buffer (por ejemplo, /usr/local/cpanel/bin/splitlogs ‑‑buffer="yes").
  • Es posible que vea alguna pérdida de datos si el splitlogs se termina forzosamente, antes de que se recarguen los buffers.

note ¡Ojo!: Si usted decide modificar la opción --buffer, observe la carga del sistema y el uso de memoria para determinar si el compromiso es razonable.

El archivo de configuración de la utilidad splitlogs

Cuando reconstruye la configuración de Apache, el sistema de cPanel y WHM examinará el archivo de configuración de la utilidad splitlogs en /var/cpanel/conf/splitlogs.conf El sistema usa el contenido del archivo de configuración para configurar las opciones de la línea de comandos para las directivas CustomLog en el archivo de configuración de Apache (/usr/local/apache/conf/httpd.conf).

El archivo de configuración consiste en pares key=value delimitados por línea. Las entradas key son iguales a los parámetros de línea de comandos descritos en la sección de parámetros de este documento.

Luego de especificar las directivas personalizadas en splitlogs.conf usted debe reconstruir y reiniciar Apache. Para hacerlo, usted puede usar los siguientes comandos:

  1. /usr/local/cpanel/scripts/rebuildhttpdconf
  2. /etc/init.d/httpd -k graceful

Notas acerca de los problemas de rendimiento

  • La utilidad splitlogs escribe información a su archivo de registro cada vez que alcanza su límite de handle de archivo 1,000 veces. Al final, estos mensajes de registro deben indicar con qué frecuencia la utilidad splitlogs abre y cierra los archivos de registro.
    • Si usted no encuentra estos mensajes en el archivo de registro de la utilidad splitlogs usted debe reducir el valor del parámetro --maxopen.
    • Si usted encuentra un número inusualmente alto de estos mensajes en el archivo de registro de la utilidad splitlog usted debe aumentar el valor del parámetro --maxopen. Usted debe determinar este valor según el patrón actual de acceso a sitios en su sistema.
  • Como parte del mantenimiento regular de su sistema, usted debe examinar estos valores cuando ocurren cambios en la carga, o cada vez que cambia el número de dominios que su sistema aloja. El valor que está correcto hoy puede ser un valor incorrecto en el futuro.

Topic revision: r9 - 03 Oct 2011 - 16:54:47 - Main.RosieArcelay
AllDocumentation/Es.SplitLogsBinaryEs moved from Sandbox.SplitLogsBinaryEs on 21 Sep 2011 - 21:26 by Main.RosieArcelay