miércoles, 11 de febrero de 2009

Utilizar WMIC en Zabbix

Windows Management Instrumentation Command-line (WMIC) nos revela una gran cantidad de información sobre los sistemas Windows y hardware subyacente, mediante el uso de Windows Management Instrumentation (WMI). El primer propósito de WMIC es facilitar administración de tareas automáticas y de script.

Por ejemplo, para mostrar los procesos activos tenemos que ejecutar bajo windows este commando:

WMIC process GET Name

Ahora vamos a implementar esta funcionalidad en Zabbix.

Zabbix tiene la posibilidad de ejecutar items mediante comandos externos a nuestros hosts utilizando el comando system.run.

Como requisito en los host tiene que estar habilitado el EnableRemoteCommands=1 en nuestro archivo de configuración del agente (zabbix_agentd.conf)

PRIMER EJEMPLO. Number of Stopped Auto Services

En este ejemplo veremos como enumerara los servicios de Windows configurados en estado automático y que estén parados.

Posteriormente si el número de servicios en estado automático y parados cambiara nos avisará con un trigger.

Esto es muy práctico para controlar si se para algún servicio que tendría que estar iniciado.

Configuración del Item:

Description: Number of Stopped Auto Services
Type: ZABBIX agent
Key: system.run[WMIC service WHERE "State="Stopped" AND StartMode="Auto"" GET Name /FORMAT:list find "Name" /c]
Type of information: Numeric (integer 64bit)

Configuración del Trigger:

Name: Number of Stopped Auto Services has Changed
Expression: {HOST:system.run[WMIC service WHERE "State="Stopped" AND StartMode="Auto"" GET Name /FORMAT:list find "Name" /c].change(0)}#0



SEGUNDO EJEMPLO: Number of Software Installed

En este ejemplo veremos como enumerara los programas instalados en Windows y que nos avise si se desinstala o instala alguno de nuevo.

Configuración del Item:

Description: Number of Stopped Auto Services
Type: ZABBIX agent
Key: system.run[WMIC product GET Name /FORMAT:list find "Name" /c]
Type of information: Numeric (integer 64bit)

Configuración del Trigger:

Name: Number of Software Installed has Changed
Expression: {HOST:system.run[WMIC product GET Name /FORMAT:list find "Name" /c].change(0)}#0

En este último ejemplo seguramente tendremos que cambiar el timeout del Servidor de Zabbix ya que WMIC tarda un poco en hacer la consulta.

sudo nano /etc/zabbix/zabbix_server.conf

# Specifies how long we wait for agent response (in sec)
# Must be between 1 and 30
Timeout=30

Zabbix 1.6.2 SO: Ubuntu 8.10

martes, 10 de febrero de 2009

Instalar el Agente de Zabbix en Windows

Como todo administrador de Windows uno quiere un instalable fácil, con su asistente, la opción de desinstalar en agregar y quitar programas e incluso la posibilidad de instalación desatendida para grandes despliegues.

Ahí va el link donde podemos encontrar el agente con la última versión empaquetada para poder ser instalado con todas estas opciones bajo plataformas Windows.

http://www.suiviperf.com/zabbix/

Zabbix 1.6.2 SO: Ubuntu 8.10

lunes, 9 de febrero de 2009

Crear Triggers con Umbrales Variables

Cuando hacemos una template de un host y éste tiene triggers configurados, muchas veces los umbrales de alertas no son equivalentes.

Es decir, no es lo mismo que te sobre 1 GB de espacio en un disco de 1 TB (1000 GB) que en un disco de 8 GB.

Tampoco es lo mismo que te sobre 256 MB de memoria en un host de 4 GB de memória física que en un host de 1 GB de memória física.

Entonces nos vemos con la necesidad de utilizar umbrales variables que se adapten a cada una de las características de nuestros hosts.

Primer ejemplo:

Este trigger nos alertará cuando se esté usado más del 90% del espacio de disco de la unidad C.

({Template_Windows:vfs.fs.size[c:,total].last(0)}*0.1)>{Template_Windows:vfs.fs.size[c:,free].last(0)}

Segundo ejemplo:

Este otro trigger nos alertará cuando se use más del 90% de la memória física.

({Template_Windows:vm.memory.size[total].last(0)}*0.1)>{Template_Windows:vm.memory.size[free].max(600)}

Zabbix 1.6.2 SO: Ubuntu 8.10

Copia de Seguridad (backup) de Zabbix mediante Web

Para actualizar la versión de Zabbix o simplemente para proteger la información almacenada es recomendable tener copias de seguridad de la Base de Datos (MYSQL).

Aprovechando la siempre agradecida administración web vamos a integrar la funcionalidad de copias de seguridad dentro de nuestro Zabbix.

Para ellos tenemos que ir a AdministrationScripts


Aquí crearemos un nuevo script mediante el Add script y le llamaremos Backup.
Ahora si nos vamos a MonitoringMaps cuando cliquemos en nuestro Zabbix nos aparecerá la nueva opción de Backup. Yo utilizo un script muy sencillo para hacer copias de seguridad de MYSQL que se llama automysqlbackup y lo podéis encontrar en el siguiente link:

http://members.lycos.co.uk/wipe_out/automysqlbackup/

Restaurar copia de seguridad

tar -xf (archivo).tar

mysql -u (usuario) -p -D (nombre bd) < (archivo).sql

Zabbix 1.6.2 SO: Ubuntu 8.10

Instalar Zabbix

Para no reescribir los pasos de instalación adjunto el link donde podemos encontrar paso a paso la instalación de Zabbix en varias plataformas y versiones.

http://www.zabbix.com/wiki/howto/install/start

Yo intentaré trabajar siempre con la última versión de Zabbix y actualmente bajo la plataforma Ubuntu Server Edition.

El link donde está la instalación de Zabbix bajo Ubuntu es el siguiente:

http://www.zabbix.com/wiki/howto/install/ubuntu/ubuntuinstall

Zabbix 1.6.2 SO: Ubuntu 8.10

martes, 3 de febrero de 2009

Introducción a Zabbix

Zabbix es un sistema de monitorización Open Source que permite el seguimiento de tus aplicaciones, redes y servidores.

Como principales características podemos destacar:
- Administración completamente web.
- Escalabilidad. Probado hasta 10.000 dispositivos.
- Posiblidad de monitorizar redes internas y externas.
- Sistema de alertas (email, SMS, Jabber)
- Creación de plantillas de configuración exportables/importables.
- Autodescubrimiento de dispositivos.
- Multiplataforma (Windows, Linux, AIX, FreeBSD, HP-UX, Solaris)
- Base de datos (Oracle, MySQL, PostgreSQL o SQLite).

Para más información visitad: http://www.zabbix.com/

Zabbix 1.6.2 SO: Ubuntu 8.10