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.




    MultiTail


    Aveces es necesario ejecutar varias terminales para poder visializar Logs de servicios o del sistema.

    Por esta razon se ha creado MultiTail

    #apt-get install multitail

    Y para visualizar varios Logs en una sola terminal ejecutamos:

    #multitail /var/log/Losgs1.log /var/log/Logs2.log


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