squid y mrtg

16 de enero de 2010

El proxy de Squid nos permite generar gráficas desde cualquier aplicación o cliente SNMP. Para ello simplemente debemos activar el servicio de SNMP en el Squid y comenzar a realizar consultas para saber que carga o uso tiene.
Para ello editamos el /etc/squid/squid.conf y añadimos las siguientes líneas:

# creamos una acl donde le decimos el nombre de la comunidad SNMP que utilizamos
acl snmppublic snmp_community public
# por defecto utilizaremos el puerto 3401/UDP para las consultas
snmp_port 3401
# aplicamos la ACL para que solo la maquina local pueda realizar consultas
snmp_access allow snmppublic localhost
snmp_access deny all
Una vez configurado hacemos un reload de la config:
# /etc/init.d/squid reload
Ahora probamos con el comando snmpwalk si tenemos acceso al servicio SNMP de Squid:
# snmpwalk –c public -v 1 localhost:3401 .1.3.6.1.4.1.3495.1.1                            
SNMPv2-SMI::enterprises.3495.1.1.1.0 = INTEGER: 65552
SNMPv2-SMI::enterprises.3495.1.1.2.0 = INTEGER: 6288060
SNMPv2-SMI::enterprises.3495.1.1.3.0 = Timeticks: (129933578) 15 days, 0:55:35.78
Instalamos la herramienta de MRTG (Multi Router Traffic Grapher) que nos permitirá realizar gráficos del uso de Squid. MRTG generará una página Web cada 5 minutos con los datos. Para ello necesitaremos tener también Apache:
# apt-get install mrtg apache
Creamos el fichero de configuración del MRTG para generar dos tipos de gráficos diferentes:
ImageDir: /var/www/mrtg-squid
Workdir: /var/www/mrtg-squid
LoadMIBS: /etc/squid/mib.txt

Target[proxy-hit]: cacheHttpHits&cacheServerRequests:public@127.0.0.1:3401
MaxBytes[proxy-hit]: 100000
Title[proxy-hit]: HTTP Hits
PageTop[proxy-hit]: <H2>proxy Cache Statistics: HTTP Hits/Requests</H2>
Suppress[proxy-hit]: y
LegendI[proxy-hit]:  HTTP hits
LegendO[proxy-hit]:  HTTP requests
Legend1[proxy-hit]:  HTTP hits
Legend2[proxy-hit]:  HTTP requests
YLegend[proxy-hit]: perminute
ShortLegend[proxy-hit]: req/min
Options[proxy-hit]: nopercent, perminute, dorelpercent, unknaszero, growright

Target[proxy-srvkbinout]: cacheServerInKb&cacheServerOutKb:public@127.0.0.1:3401
MaxBytes[proxy-srvkbinout]: 76800
Title[proxy-srvkbinout]: Cache Server Traffic In/Out
PageTop[proxy-srvkbinout]: <H2>Cache Statistics: Server traffic volume (In/Out)</H2>
Options[proxy-srvkbinout]: growright
Tanto las paginas Web como los datos de las estadísticas generados por MRTG se guardaran en /var/www/mrtg-squid. Si no existe la carpeta habrá que crearla.
Por otro lado necesitaremos el archivo /etc/squid/mib.txt donde se especifican los objetos que se deben monitorizar dentro de Squid. Se puede descargar de los archivos fuentes del Squid o de aquí.

Ahora solo hace falta ejecutar el MRTG cada 5 minutos. Para ello editamos el /etc/crontab y añadimos la siguiente línea:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * root LANG=C /usr/bin/mrtg 
   /etc/squid/mrtg-squid.conf --debug="cfg"
Al cabo de unas horas ya podrás apreciar el uso de tú Squid. Al leer los gráficos del MRTG es muy importante saber bajo que velocidad está generado el gráfico para poder compararlo por ejemplo con el gráfico de tú conexión a Internet. En este caso el gráfico “Squid volum traffic” está en KB/s (Kilobytes por segundo).


Podrás acceder a dos tipos de gráficos: el “http Hits and request” (http:///mrtg-squid/proxy-hit.html) y el “Squid traffic volumn” (http:///mrtg-squid/proxy-srvkbinout.html).

El segundo de ellos indica en KB/s el volumen de datos que entran y salen del Squid. Para interpretar el primero de ellos debemos tener claro las diferencia entre “http request” y “http hits”. Las “http request” son las peticiones http que realizan los clientes. Las “http hits” son las peticiones servidas por el proxy o más concretamente servidas por la cache del proxy. Es decir, contra más se parezcan los “http request” a los “http hits” mejor está funcionando el proxy porque eso quiere decir que el cliente a pedido una pagina Web que el proxy tenía cacheada.
Existe otro parámetro que es el “percentage” que indica el porcentaje de acierto del proxy. Un porcentaje alto indica que todas las paginas que van pidiendo los usuarios están ya cacheadas por el proxy.

Más información:
+ Configuración de un proxy transparente
+ SQUID and MRTG: to SNMP or not SNMP?

2 comentarios:

Anónimo dijo...

Te hago una pregunta...

Has verificado que lo publicado funciona....?
Porque es una copia de tantas dando vueltas (los comandos) y no funciona para nada.

amperis dijo...

Si. Lo tengo en dos empresas funcionando.