Tengo Apache configurado para servir a varios hosts virtuales, y me gustaría ver cuánto ancho de banda utiliza cada sitio. Puedo ver cuánto usa todo el servidor, pero me gustaría obtener informes más detallados.
La mayoría de las cosas que he descubierto son para limitar el ancho de banda a los hosts virtuales, pero no quiero hacer eso; Solo quiero ver qué sitios usan cuánto ancho de banda.
Esto no es para fines de facturación, solo para información.
¿Hay un módulo apache que debería usar? ¿O hay alguna otra forma de hacer esto?
fuente
Awstats es una forma de hacerlo, pero probablemente no sea la mejor.
fuente
Le sugiero que use el maravilloso mecanismo de registro de apache y sus indicadores menos conocidos % I y % O :
Defina el formato:
Úselo en su httpd.conf principal :
Los valores probablemente no representan toda la información de los encabezados, pero son bastante precisos para tener una idea precisa del tráfico de VirtualHost.
Escanee los registros con un script perl para agregarlos por host virtual cada n minutos (5 por ejemplo) y envíelo a los cactus.
Estas marcas son proporcionadas por mod_logio, que probablemente está construido en su Apache (como para mi Apache de Debian).
fuente
Si decide usar awstats con Apache, listo para usar le mostrará el ancho de banda agregado para todo su servidor.
Para ver el ancho de banda por host virtual, recomiendo instalar vlogger .
Vlogger realmente recopilará información de registro de acceso de Apache para cada uno de sus hosts virtuales que configure para hacerlo en directorios / archivos separados.
Por ejemplo, si su archivo de registro de Apache está en / var / log / apache2, la instalación típica de vlogger creará algo así para sus hosts virtuales (por ejemplo, vhost1.com vhost2.com):
Vlogger le da la opción de rotar estos registros por usted, proporciona una forma de cambiar la plantilla de nombres del archivo de registro de acceso (por ejemplo, agregar una fecha) y afirma que maneja una gran cantidad de archivos de registro mejor que Apache.
Una desventaja de esto es que ya no tendrá una vista de servidor agregada (¿necesitará agregar registros por separado o tal vez usar una configuración de apache adicional o tal vez algún otro método?).
Advierto contra el uso de google analytics (o cualquier seguimiento basado en javascript) para la supervisión del ancho de banda del servidor, ya que depende del cliente para informar a través de javascript. GA no informa a las personas que tienen su JavaScript deshabilitado, así como a los rastreadores / arañas / bots.
fuente
Aquí hay algunas expresiones regulares para analizar el formato de registro propuesto por Xerxes.
\ [([0-9] +) / (\ w +) / ([0-9] {4}) [^ \]] + \] \ s (\ d {1,3}. \ D {1, 3}. \ D {1,3}. \ D {1,3}) \ s ([^ /] +) [^ \ s] + \ s (\ d +) \ s (\ d +)
Registro de ejemplo:
[12 / Ene / 2011: 14: 25: 04 +0000] 157.157.12.206 archivos.hjaltijakobsson.com / 581 669 [12 / Ene / 2011: 14: 25: 04 +0000] 157.157.12.206 archivos.hjaltijakobsson.com / 624 747 [12 / Ene / 2011: 14: 25: 04 +0000] 157.157.12.206 archivos.hjaltijakobsson.com /icons/blank.gif 687186 [12 / Ene / 2011: 14: 25: 04 +0000] 157.157. 12.206 files.hjaltijakobsson.com /icons/compressed.gif 693188 [12 / ene / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com /favicon.ico 592 512
Partidos:
Subpattern 1 (día del mes): 12
Subpattern 2 (mes
abreviado ): Jan Subpattern 3 (año): 2011
Subpattern 4 (host visitante): 157.157.12.206
Subpattern 5 (host virtual): files.hjaltijakobsson.com
Subpattern 6 ( bytes entrantes): 581
Subpatrón 7 (bytes salientes): 669
Aclamaciones.
fuente
Ligero ajuste en la respuesta aceptada, suponiendo que en realidad haya múltiples vhosts en el servidor (y, por lo tanto, múltiples site.com.access_log 's). Esto ordenará y enumerará cada vhost
y para un directorio de registros comprimidos
fuente
Hmm, podrías ponerte mal con las tablas IP y la coincidencia de cadenas para registrar los paquetes para informes posteriores. Sin embargo, solo funcionará para conexiones que no sean SSL.
O algo protocolario y sesión consciente como Snort podría ser puesto en uso ...
fuente
Correcto. Filtrar el registro es una buena idea. También quiero obtener el ancho de banda de mi servidor Apache cuando descargo archivos.
Calcula la salida
%b
y%d
, que le dará el ancho de banda de la corriente.fuente