OPEN SOURCE

 

Monitoreo con Zabbix: Introduccion

0 comments. Top.

Este es el primero de una serie de artículos que describen el uso de ZABBIX.

monitoringZabbix es un software que pertenece a la categoría que genéricamente se conoce como Monitoreo: es decir, aplicaciones que permiten conocer el estado de funcionamiento de una plataforma de hardware y software. En la práctica, esta plataforma resulta ser la combinación de hardware de servidores (físico y virtual), sistemas operativos, bases de datos, servidores de aplicaciones y otros dispositivos (routers, UPS, etc). O sea, un escenario heterogéneo y complejo, donde es necesario no solo saber qué esta pasando con la plataforma ahora, sino ser capaz de anticipar eventos futuros que puedan afectar su desempeño.

Zabbix posee varias caracteristicas que la hacen una eficaz y poderosa alternativa de monitoreo, entre otras:

  1. Es full Open Source. No hay costo de licencias involucrados!!
  2. Tiene una arquitectura de 3 capas (base de datos, servidor, presentacion)
  3. Basado en Linux con BD mysql o postgres.
  4. Full web.
  5. El monitoreo se realiza mediante agentes. Hay agentes Zabbix para Windows y Unix (Linux).
  6. Es capaz de monitorear cualquier dispositivo que soporte la interfaz SNMP (por ejemplo routers).

La instalación de Zabbix es relativamente rápida, considerando que está la opción de bajar una maquina virtual que ya viene con la aplicacion configurada y solo se deben definir algunos parámetros de red para dejarla operativa.

A partir de aquí el siguiente paso es comenzar a instalar los agentes y configurar los Host (un PC windows, un server Linux, un router, una UPS, etc., o también una aplicación) y los Items, que son los datos que el servidor va a recoger desde los agentes instalados en los hosts.

A partir de la información que captura los agentes (en caso de tratarse de un dispositivo tipo Windows o Unix), Zabbix (más precisamente la parte servidor) comienza a efectuar la recolección de estos items en la base de datos. Con esto se tiene un registro histórico de tales mediciones, que pueden ser tan simples como un simple ping hasta datos de uso de disco, memoria, cpu, etc.

A partir de los datos que se reciben de los agentes lo que sigue es definir y configurar Triggers, que son evaluaciones que hace Zabix de estos datos para determinar la existencia de un Problema en un dispositivo. Cuando se detecta un problema se ejecuta una Acción, la que puede incluir notificaciones y eventualmente ejecución de comandos.

Para facilitar la puesta en marcha, Zabbix viene con plantillas con items y triggers predefinidos para una gran variedad de plataformas. O usted puede crear sus propias plantillas (desde cero o a partir de una ya existente). Lo importante es que cuenta con la flexibilidad para definir los datos que a usted le interesa medir en el dispositivo a monitorear.

Un aspecto donde Zabbix destaca es su capa de presentación. Lo primero que un usuario ve al entrar a Zabbix es un Tablero donde se tiene una visión general de la plataforma bajo monitoreo, básicamente un resumen de los triggers activos (i.e. gatillados):

zabbix1     zabbix

Esta imagen muestra la definición de triggers para un host particular. La columna expression muestra la definición del trigger y su nivel de criticidad (Disaster, High, Average, Warning, Information) que se visualiza mejor mediante el color asociado:

zabbix2

Zabbix revisa cada vez que captura desde un agente una nueva muestra de un ítem si hay algún trigger que se debe activar.

Para revisar el estado de partes especificas de la plataforma, Zabbix ofrece una amplia gama de tipos de gráficos. Estos gráficos toman los datos de uno o mas ítem en una ventana de tiempo y los muestran gráficamente. Por ejemplo:

Custom_screens1

 

 

 

 

 

 

Esto es lo básico del funcionamiento de Zabbix: mediante la definición de hosts, items, triggers y acciones, Zabbix permite efectuar un monitoreo efectivo de plataformas IT heterogéneas (en su ultima versión 2.3, Zabbix ha mejorado significativamente el soporte de infraestructura virtual VMware).

El siguiente es un video que contiene todos estos conceptos explicados visualmente:

En un próximo capitulo de esta serie veremos los diferentes tipos de ítems que Zabbix es capaz de monitorear, junto con una mirada más en profundidad de cómo se definen los triggers, ya que ambos son la clave del monitoreo con Zabbix.

Django desencadenado: instalacion

0 comments. Top.

Django es un framework de desarrollo de aplicaciones (con énfasis en la web) basado en el popular lenguaje de programación Python y que cada día gana más adeptos.

Django fue creado para simplificar la creación de aplicaciones que emplean bases de datos y se ciñe a un estricto principio DRY (Don’t Repeat Yourself). Probablemente sea el framework que en el menor tiempo permite tener una aplicación funcionando, lo que se explica tanto por el propio framework como por las características de python que lo diferencian de otros lenguajes de programación (como Java por ejemplo), destacando su corto ciclo de programación/debugging, ya que en python no se requiere compilar.

Django implementa un esquema tipo ORM para manipular los datos, con lo cual las filas de una tabla de una BD se transforman en objetos python. Para la generación de la interfaz de usuario Django implementa un esquema de templates jerárquicos, los que permiten ir refinando progresivamente la construcción de una pagina web, partiendo desde un template base hasta llegar a templates específicos para secciones de una página.  Otra característica destacable de Django es que toda la configuración de una aplicacion se basa en un archivo con codigo python donde se especifican los parámetros de la misma.

Al ser un framework tan popular, la cantidad de aplicaciones disponibles para reutilizar en mis propias aplicaciones crece en forma exponencial. El directorio oficial de aplicaciones django se encuentra disponible en Django Packages.

Si quiere empezar a utilizar Django, lo primero que necesitas es crear un ambiente de desarrollo. Afortunadamente en Python/Django todo es OpenSource:  un servidor Linux, una base de datos como SQLlite, PostgreSQL o MySQL, Apache o cualquier servidor HTTP para hacer el deployment de la aplicacion (aunque Django incluye su propio servidor para desarrollo)  e instalar Python, Django junto con algunos utilitarios que facilitan el desarrollo de las aplicaciones y estamos listos para comenzar a aprender y a usar Django. En este blog se describen cada uno de los pasos para crear el ambiente:

Django Deployement Installation to Ubuntu 12.04 Server

Si sigue estas instrucciones, en menos de 1 hora estará listo para comenzar. Ahora si quiere saltarse este paso y comenzar a programar de inmediato, esta el fabuloso Cloud9, que ofrece un ambiente de desarrrollo en linea para trabajar con Python/Django.

Para un tutorial de Django, ir a:

Tu primera aplicación en Django

o

Getting Started with Django