Instalar LightSquid en Debian - [ Estadísticas de navegación ]


Según el sitio oficial: Es un sistema liviano el cual accede directamente a los logs del Squid para poder generar las gráficas.
Algunas ventajas de este servicio son:

  • Instalación rápida y sencilla.
  • Rápido analizador de registros.
  • Usa perl script basado en CGI para páginas las dinámicas.
  • Plantilla del HTML la cual se puede diseñar.
  • No usa ninguna tipo de almacenamiento en base de datos.
  • Permite la creación de diversos informes.
  • Creación de grupos y usuarios (facilitar búsqueda de equipos/usuarios).
  • Interfaz multilenguaje (Inglés, Ruso, Italiano, Húngaro, Portugués-Brasil, Búlgaro, Español, Checo).

  • Dependencias:

    - Perl
    - Apache
    - Squid
    - libgd-gd2-perl

    Preámbulo:

  • Se trabajará en /vaw/www/ de tal forma que Apache pueda acceder a este directorio.
  • Tenga en cuenta que se accede a los logs vía http, lo cual no es recomendable en un ambiente de producción crítico.
  • Es recomendable establecer políticas de acceso como la autenticación de credenciales, entre otras.

    Instalación:

    Se procede a realizar la descarga desde el sitio oficial, esta descarga se debe hubicar en /var/www/

    Una ves descargado el archivo se realizan los siguiente:

    # cd /var/www/
    # tar -xzf lightsquid.tgz
    # mv lightsquid-1.8.tgz lightsquid
    # cd /var/www/lightsquid/
    # chmod +x *.cgi
    # chmod +x *.pl
    # chown -R apache:apache *

  • Editamos el archivo de configuración /var/www/lightsquid/lightsquid.cfg
    Cambiando las siguientes lineas (Este paso lo adaptamos a nuestras necesidades)

    # -------------------- GLOBAL VARIABLES
    $cfgpath ="/var/www/lightsquid";
    $tplpath ="/var/www/lightsquid/tpl";
    $langpath ="/var/www/lightsquid/lang";
    $reportpath ="/var/www/lightsquid/report";
    $logpath ="/var/log/squid3";
    $ip2namepath ="/var/www/lightsquid/ip2name";
    [....]
    #language
    $lang ="sp";

    Agregamos un host para cargar este sitio en /etc/apache2/sites-available/default

    Esto con el fin de permitir la ejecución de los siguientes scripts:



    Se guardan los cambios:
    # /etc/init.d/apache2 restart

    Para verificar los cambios hechos se ejecuta desde la terminal:
    # /var/www/lightsquid/check-setup.pl

    LightSquid Config Checker, (c) 2005-9 Sergey Erokhin GNU GPL

    LogPath : /var/log/squid3
    reportpath: /var/www/lightsquid/report
    Lang : /var/www/lightsquid/lang/sp
    Template : /var/www/lightsquid/tpl/base
    Ip2Name : /var/www/lightsquid/ip2name/ip2name.simple

    all check passed, now try access to cgi part in browser


    Para generar las estadísticas basta con ejecutar:
    # /var/www/lightsquid/lightparser.pl

    Programación:

    La tarea se creará en:
    # crontab -e

    En donde solo basta con agregar esta línea:

    */55 * * * * /var/www/lightsquid/lightparser.pl diario

    Instalar MySAR en Debian - [ Estadísticas de navegación ]


    MySQL Squid Access Report, Mysar para abreviar, es un sistema de información para la actividad de tráfico de usuarios web, usando los registros de squid.

    Mysar consta de dos partes:

  • Utilidades de línea de comandos que importar un archivo de registro de calamar en una base de datos MySQL y mantener la Databas.
  • Una interfaz web para acceder a los informes.

    Sus principales características son:

    Se encuentra bajo licencia GPL.

    No existen informes estáticos los cuales acaparan la CPU del sistema.

    Mysar es es el único sistema que guarda los reportes calamaris en una base de datos, en este caso MySQL.

    No hay que esperar a la próxima hora o el día de los informes que se generen.

    Además de ser:

    Portátil. Escrito en PHP puro, Mysar está disponible para cualquier plataforma de sistema operativo Unix basado en PHP, sin necesidad de ninguna modificación.

    Flexible. Dado que el código es de fuente abierta, se puede personalizar a sus necesidades, el cual permite crear sus propios informes como mejor le parezca.

    Compatibles. El proyecto Mysar tiene una lista de correo, foro y un mantenedor activo.

    Estable. La utilización de software maduro y estable como Smarty, MySQL y PHP, Mysar está de pie sobre los hombros de gigantes.

    Fácil. Con una instalación a prueba de tontos y una interfaz web fácil de usar, Mysar hace que el tráfico de Internet de información más fácil que nunca.

    Personalizable. Mysar no necesita estar en el mismo servidor como el calamaris o MySQL. Si la carga es demasiado alta, sólo equilibrar la carga de sus procesos como mejor le parezca.
    ____________________________________________________________________________________________________________________________________________________________

    Requerimientos:

  • apache2
  • libapache2-mod-php5
  • php5-cli
  • php5-mysql
  • squid3
  • mysql-server-5.1

  • Preámbulo:

    El ambiente en el cual se instalará MySAR será:
    - Servidor Squid3 trabajando correctamente.
    - Los reportes se guardaran en /var/www/
    - MySQL corriendo correctamente, solo basta con su instalación.

  • Tenga en cuenta que se accede a los logs vía http, lo cual no es recomendable en un ambiente de producción crítico.
  • Es recomendable establecer políticas de acceso como la autenticación de credenciales, entre otras.

    Instalación:

    Se procede a descargar el software MySAR.

    Se desempaqueta el paquete dentro del directorio en /var/www/ (Apache debe acceder a este directorio, por defecto trabaja así a no se que se cambie el directorio en donde este carga los index)

    Una ves descomprimido el archivo se accede vía web http://ip/mysar/

    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    Se debe realizar el siguiente cambio:
    # cp /var/www/mysar/etc/config.ini.example /var/www/mysar/etc/config.ini
    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________



    ____________________________________________________________________________________________________________________________________________________________

    En este paso se debe borrar el directorio install, para poder acceder vía web a MySAR
    # rm /var/www/mysar/www/install



    ____________________________________________________________________________________________________________________________________________________________
    Como se puede observar se edita los logs los cuales se analizarán



    ____________________________________________________________________________________________________________________________________________________________

    Programación:

    # ln -s /var/www/mysar/etc/mysar.cron /etc/cron.d/mysar

    Se procede a editar
    # vim /etc/cron.d/mysar
    =======================

    * * * * * root /var/www/mysar/bin/mysar-resolver.php > /var/www/mysar/log/mysar-resolver.log 2>&1

    0 0 * * * root /var/www/mysar/bin/mysar-maintenance.php > /var/www/mysar/log/mysar-maintenance.log 2>&1

    * * * * * root /var/www/mysar/bin/mysar-importer.php > /var/www/mysar/log/mysar-importer.log 2>&1

    =======================

    Debe quedar similar a esto:



    Para crear los reportes inmediatamente se debe ejecutar en la terminal

    # php /var/www/mysar/bin/mysar-binary-importer
    # php /var/www/mysar/bin/mysar-maintenance.php
    # php /var/www/mysar/bin/mysar-resolver.php


    Si tiene problemas es por que no se han cumplido las dependencias ilustradas anteriormente.

    Se finaliza con la consola MySAR registrando las estadísticas.

  • Instalar JAWStats en Debian


    ¿Que es JAWStats?

    Es un software para crear estadísticas Web.

    En vista a que AWStats consume recursos valiosos en las máquinas y mejorar las gráficas y presentaciones se ha creado el proyecto.

    Beneficios:
    Reducir sobrecarga de procesamiento comparado con AWStats.
    • Fácil de administrar.
    • Suministra más información con respecto a AWStats.

    Desventajas:
    • Más clic y menos desplazamiento sobre los informes generados
    • Todavía se encuentra en fase Beta, ya que solo trabaja con la configuración
    predeterminada de AWStats

    Requisitos:
    •PHP
    •AWStats
    •No es necesesario contra con BD
    •Cliente web (Se desconoce para qué este requisito)

    ¿Como funciona JAWStats?
    AWStats es un software independiente, este al contrario de JAWStats no necesita de "nadie" para trabajar., entonces este juega un papel muy importante ya que sin AWStats no es posible el funcionamiento de JAWStats, porque? Por que JAWStats lee los registros creados por AWStats

    ¿Por que se llama JAWStats?
    Se toma el nombre base de AWStats y se añade la "J" haciendo un homenaje a la biblioteca de JavaScrip jQuery, ya que es utilizada en todo el proyecto JAWStats.

    Licencia:
    Licencia MIT
    INSTALACIÓN.

    # aptitude install apache2 php5 libapache2-mod-php5 awstats

    Ingresamos al directorio /etc/awstats

    # cp awstats.conf awstats.www.prueba.com.conf
    # vim awstats.www.prueba.com.conf

    Editamos los siguientes parámetros:


    [...]
    LogFile="/var/log/apache2/access.log"
    [...]
    LogFormat=1
    [...]
    SiteDomain="www.prueba.com"
    [...]
    HostAliases="prueba.com www.prueba.com"
    [...]


    • LogFile = Logs a analizar
    • LogFormat = "1" En caso de analizar logs de Apache
    • SiteDomain = Nombre del sitio a analizar
    • HostAliases = Alias del sitio (se especifican los alias en caso de contar con un server DNS)

    Procedemos a crear la tarea de creación de registros:


    # crontab -e

    9,19,29,39,49,59 * * * * /usr/lib/cgi-bin/awstats.pl -config=www.prueba.com -update >/dev/null

    (Hay que tener cuidado con el nombre, debe ser igual al que creamos al principio)

    Procedemos a descargar JAWStats

    Creamos el directorio

    # mkdir /var/www/jawstats

    Ahora ubicamos el archivo descargado en el directorio creado [..]/jawstats
    # tar -xvvzf jawstats-[....]

    Cambiamos el nombre del archivo config.dist.php

    # mv config.dist.php config.php

    Editamos config.php, cambiando los parámetros:


    vim config.php
    ==============
    $aConfig["www.prueba.com"]
    "siteurl" => "http://www.prueba.com",


    Si todo ha salido bien, al acceder http://IP/jawstats/



    Generar gráficas con Pandora FMS


    Pandora FMS (FMS viene de Flexible Monitoring System).

    Pandora FMS es una herramienta de monitorización que no sólo mide si una parámetro está bien o mal. Pandora FMS puede cuantificar el estado (bien, mal y valores intermedios) o almacenar un valor (numérico o alfanumérico) durante meses si es necesario.

    Pandora FMS (FMS viene de Flexible Monitoring System) es una aplicación de monitorización para vigilar todo tipo de sistemas y aplicaciones. Pandora FMS permite conocer el estado de cualquier elemento de sus sistemas de negocio. Pandora FMS vigila su hardware, su software, sus aplicaciones y por supuesto, su Sistema Operativo. Pandora FMS es capaz de detectar una interfaz de red que se ha caído, así como el movimiento de cualquier valor del NASDAQ.

    En esta URL podemos ver el comparativo de NMS.

    El sitio oficial de Pandora FMS ofrece documentación oficial.

    En este ejemplo se mostrara como editar estados de:
    1- Espacio en disco.
    2- Memoria usada.
    3- Utilización de CPU.

    1- Espacio en disco.

    Cuando se crea el modulo correctamente para monitorear el disco (Este viene por defecto en el agente de Pandora FMS, visite la documentación oficial para obtener mas información), en el caso de un modulo de Microsoft Windows seria algo como esto:

    # Free space on disk C:
    module_begin
    module_name FreeDiskC
    module_type generic_data
    module_freepercentdisk C:
    module_description Free space on drive C:
    module_end




    Se crearan 2 estados; la primera sera lanzada cuando consideremos que el estado esta en "Warning" y la segunda cuando consideremos el estado en "Critical".

    Nos ubicamos sobre el modulo en este caso el del disco.




    Como se observa hay 2 estado "Warning status" y "Critical status"

    Hay que tener cuidado con el modulo, entendiendo la forma en que este nos informa, en este caso es
    Espacio libre y no Espacio utilizado.

    Ejemplo Porcentaje Espacio libre del disco, en este caso tiene el 67% libre.

    Se usara estos valores para este caso:

    a- Cambiara el estado de este modulo en "Warning status",cuando quede disponible Mínimo 11% y Máximo 30%.

    b- Cambiara el estado de este modulo en "Critical status",cuando quede disponible Mínimo 0% y Máximo 10%.



    2- Memoria usada.

    Al igual que el modulo anterior lo datos que obtenemos es el Porcentaje disponible del modulo y no el uso del modulo.

    En el caso de un modulo de Microsoft Windows seria algo como esto:

    # Free Memory
    module_begin
    module_name FreeMemory
    module_type generic_data
    module_freepercentmemory
    module_description Amount of free memory.
    module_end



    Se crearan 2 estados; la primera sera lanzada cuando consideremos que el estado esta en "Warning" y la segunda cuando consideremos el estado en "Critical".

    Ejemplo Porcentaje Memoria libre, en este caso tiene el 26% libre.

    Se usara estos valores para este caso:

    a- Cambiara el estado de este modulo en "Warning status",cuando quede disponible Mínimo 21% y Máximo 40%.

    b- Cambiara el estado de este modulo en "Critical status",cuando quede disponible Mínimo 0% y Máximo 20%.



    3- Utilización de CPU.

    En cambio este modulo es lo contrario de los anteriores, ya que se mide por utilización del módulo.

    En el caso de un modulo de Microsoft Windows seria algo como esto:

    # CPU usage percentage
    module_begin
    module_name CPUUse
    module_type generic_data
    module_cpuusage all
    module_description CPU# usage
    module_end



    Se crearan 2 estados; la primera sera lanzada cuando consideremos que el estado esta en "Warning" y la segunda cuando consideremos el estado en "Critical".

    Ejemplo del uso de la CPU en este caso se usa el 0%

    Se usara estos valores para este caso:

    a- Cambiara el estado de este modulo en "Warning status",cuando el Máximo sobrepase el 70%.

    b- Cambiara el estado de este modulo en "Critical status",cuando el Máximo sobrepase el 90%.

    Bloquear sitios por horario con Squid


    Se configurara Squid de tal forma que filtre contenido Web en horario especifico.

    1- Solo se permitirá el acceso a ciertas paginas Web.
  • (Paginas permitidas)

  • 2- Solo se permitirá el acceso a la web en un horario especifico.
  • (Horario establecido)

  • 3- Solo se permitirá el acceso a ciertos sitios en horario establecido.
  • (Paginas tipo ocio en horario de descanso).

  • Sistema Operativo: Debian Squeeze
    Version de Squid: Version 3.0.STABLE


    Editamos el archivo de configuración del Squid, ubicando las Lista de Control de Acceso
    #vim /etc/squid3/squid.conf
    ===========================
    acl red_local src 192.168.1.0/255.255.255.0
    acl paginas_permitidas url_regex "/etc/squid3/paginas_permitidas"
    acl paginas_descanso url_regex "/etc/squid3/paginas_descanso"
    acl horario_descanso time MTWHF 12:00-13:00
    acl horario_laboral time MTWHF 06:00-20:00


    Ahora se debe crear los archivos paginas_permitidas y paginas_descanso, estos archivos contienen los sitios a los que permitiremos el acceso.

    Después nos ubicamos en las Reglas de Control de Acceso
    ===========================
    http_access deny !red_local
    http_access deny !horario_laboral
    http_access allow paginas_permitidas
    http_access allow paginas_descanso horario_descanso


    Hemos definido que:

    1- paginas_permitidas: Son los sitios a los cuales se podrán visitar sin ningún tipo de restrincion.

    2- paginas_descanso y horario_descanso: Solo se podrá visitar ciertos sitios en horario establecido.

    Con esto se definen los 3 Items que se mencionaron anteriormente.

    Las Lista de Control de Acceso quedaran de esta forma:
    Y las Reglas de Control de Acceso quedaran así
    De esta forma solo se permitirá el acceso los días Lunes, Martes, Miércoles, Jueves y Viernes a URLs definidas por nosotros y solo se podrán visitar ciertas paginas en horario especifico.

    SNMP sobre Debian Squeeze


    Según la Wikipedia SNMP es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red. Es parte de la familia de protocolos TCP/IP. SNMP permite a los administradores supervisar el funcionamiento de la red, buscar y resolver sus problemas, y planear su crecimiento.

    En este caso se instalara el servicio SNMP sobre Debian Squeeze.
    Procedemos a instalar el Demonio SNMPD con:


    #apt-get install snmp snmpd

    Después de descargar el Servicio editamos el archivo ubicamos esta línea y quitamos la dirección de Loopback, con el fin que el servicio escuche en todas las interfaces.

    #vim /etc/default/snmpd
    =======================
    SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
    =======================
    Podemos observar que; después de reiniciar el Servicio ahora no solo escucha por la interfaz Loopback

    #netstat -ano | grep ":162"
    ===============
    udp 0 0 0.0.0.0:162 0.0.0.0 off (0.00/0/0)

    #netstat -ano | grep ":161"
    ===============
    udp 0 0 0.0.0.0:161 0.0.0.0 off (0.00/0/0)


    Procedemos a configurar el archivo principal del servicio SNMP
    #vim /etc/snmp/snmpd.conf
    =====================================================================
    com2sec local localhost public
    com2sec localnet 192.168.1.0/24 public

    group MyRWGroup v1 local
    group MyRWGroup v2c local
    group MyRWGroup usm local

    group MyRWGroup v1 localnet
    group MyRWGroup v2c localnet
    group MyRWGroup usm localnet

    view all included .1 80
    view system included .iso.org.dod.internet.mgmt.mib-2.system

    access MyRWGroup "" any noauth exact all all none
    =====================================================================

    En donde:
    ====================
    com2sec local localhost public
    com2sec localnet 192.168.1.0/24 public

  • Se crea ACL, que servirán para definir quien tendrá acceso hacia el servicio snmpd, estos parámetros se configuran según la necesidad que tenga el admin de red.

  • ====================
    group MyRWGroup v1 local
    group MyRWGroup v2c local
    group MyRWGroup usm local

    group MyRWGroup v1 localnet
    group MyRWGroup v2c localnet
    group MyRWGroup usm localnet

  • Se asocia el grupo a la ACL creada con anterioridad, de esta manera tanto la ACL localnet como local se le asignan los permisos de Escritura y Lectura, estos parámetros se configuran según la necesidad que tenga el admin de red.

  • ====================
    view all included .1 80
    view system included .iso.org.dod.internet.mgmt.mib-2.system

  • Se especifican las ramas que se van a permitir ver a través del servicio. (Si se lee la documentación acerca de este protocolo entenderá este paso).

  • ====================
    access MyRWGroup "" any noauth exact all all none
  • Se especifica los permisos que tiene los grupos credos en esta caso localnet y localhost

  • Opcional se puede agregar estas dos lineas:

  • syslocation Locación del equipo (Preferiblemente el FQDN de la maquina)
    syscontact Correo electrónico del encargado del sistema

  • Pruebas:

  • 1- Instalamos el Software SCLI
    #apt-get install scli
    Copiamos en una terminal
    ===========
    #scli IP_del_cliente_SNMP Nos aparecerá la consola de SCLI, con este monitoreamos atreaves de SNMP
    Copiamos dentro de la consola monitor
    Para ver mas información atraves de SNMP pulsamos la tecla "q"

    2- Con la herramienta nativa de SNMP SNMPWALK.
    #snmpwalk -v 1 192.168.1.254 -c public
    SNMPWALK es usada para leer todos los valores de un agente SNMP especificado por el hostname. Community especifica la comunidad lectora para el agente.

    Instalación de OCS Inventory


    Según la Wikipedia OCS inventory es.

    Para la instalación de OCS Inventory es necesario tener
    LAMP instalado, procedemos a instalar los siguientes paquetes.
    #apt-get install apache2 php5 libapache2-mod-php5

    Se usara el motor de Bases de Datos MySQL.
    #apt-get install mysql-server mysql-client php5-mysql (Durante la instalacion nos solicitorá la contraseña del admon de la BD).

    Por último procedemos a instalar PhpMyAdmin.

    #apt-get install phpmyadmin

    Ahora procedemos a instalar OCS Inventory.
    #apt-get install ocsinventory-server ocsinventory-reports (Nos aparecerá un asistente para la configuración de OCS Inventory, configurar OCS Inventory con "dbconfig-common" señalamos “Si”)

    Durante el proceso de instalación se solicitara la contraseña del admon de la Bases de Datos.

    Antes de ingresar a la consola de OCS primero debemos cambiar la contraseña del usuario admin, realizamos esto con:
    #htpasswd /etc/ocsinventory/htpasswd.setup admin

    Ahora accedemos con un navegador http://ip_del_server/ocsreports, nos aparecerá un pequeño asistente para terminar la instalación de OCS.

    -En la primera pagina:
    =================================
    MySql login: ocs
    MySql password: **********
    MySql Hostname: localhost
    =================================

    -Luego se nos solicita la contraseña que cambiamos ahora.
    -Finalizamos instalando la Base de Datos con clic en
    submit query.

    Para ingresar a la consola se nos solicitara unas credenciales ingresamos usuario admin contraseña admin.




     
    |  Esdebian Foro El que sabe sabe, no como el que quiere aprender!