jueves, 12 de marzo de 2009

Exportat e Importat Imagenes de Zabbix

Nuestro Zabbix tiene la posiblidad de importar imagenes desde el enorno web.
Configuration -> General -> Images -> Create Image.

Dejo un link donde podemos encontrar un monton de images para Zabbix.

http://www.zabbix.com/wiki/lib/exe/fetch.php?id=contrib%3Aicontemplates&cache=cache&media=contrib:art_icon_set1.zip

Una vez tenemos nuestras imagenes importadas, lo cual es un poco engorroso ya que se tienen que importar una por una, hay una manera de hacer una copia para poderlas importar en otro zabbix.

Exportar imagenes:

mysqldump --opt -u nombredeusuario -p zabbix images > images.sql

Donde pone nombredeusuario tenemos que poner el usuario mysql con permisos sobre la base de datos de Zabbix.

Importar imagenes:

mysql -u nombredeusuario -p -D zabbix < images.sql

Zabbix 1.6.2 SO: Ubuntu 8.10

Administrar Servidores Zabbix con Webmin

La herramienta Webmin es uns solución via web para administrar servidores Linux. Esta detecta las aplicaciones instaladas en nuestro servidor y mediante los módulos que lleva integrafos es capaz de administrarlas.

No lleva integrado ningun módulo para administrar Zabbix, ya que zabbix se administrar 100% via web pero lleva un módulo de MySQL muy interesante ya que nos permite planificar las copias de seguridad de nuestro zabbix.

Para instalarla en un servidor Debian/Ubuntu:

apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl libmd5-perl

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.450_all.deb

sudo dpkg -i webmin_1.450_all.deb

Zabbix 1.6.2 SO: Ubuntu 8.10

viernes, 6 de marzo de 2009

Alertas de Zabbix via Google Talk (jabber)

Zabbix tiene la posibilidad de alertar vía jabber y Google Talk usa el protocolo xmpp/jabber así que vamos a ver como se configura.

Lo primero que tenemos que hace es instalar los prerrequisitos de jabber.

sudo apt-get install libiksemel3 libiksemel-dev

A continuación compilamos el zabbix con la opción de jabber.

sudo /etc/init.d/zabbix-server stop
sudo /etc/init.d/zabbix-agent stop

cd /home/zabbix/zabbix-1.6.2/

./configure --prefix=/usr --with-mysql --with-net-snmp --with-libcurl --with-jabber=/usr/ --enable-server --enable-agent && make
sudo make install

Copiamos los nuevos binarios.

sudo cp misc/init.d/debian/zabbix-server /etc/init.d
sudo cp misc/init.d/debian/zabbix-agent /etc/init.d

Y los reconfiguramos.
sudo nano /etc/init.d/zabbix-server

Buscamos la cadena:
DAEMON=/home/zabbix/bin/${NAME}
y la remplazamos por:
DAEMON=/usr/sbin/${NAME}

sudo nano /etc/init.d/zabbix-agent

Buscamos la cadena:
DAEMON=/home/zabbix/bin/${NAME}
y la remplazamos por:
DAEMON=/usr/sbin/${NAME}

sudo /etc/init.d/zabbix-server start
sudo /etc/init.d/zabbix-agent start

Una vez ya tenemos preparado el zabbix para usar jabber vamos a la configuración de este.

1. Registramos una cuenta gratuita de jabber con jabberes.org.
2. Desde el Google Talk agregamos esta cuenta que hemos creado xxx@jabberes.org.
3. Desde algun cliente de jabber (psi por ejemplo) iniciamos sesión con la cuenta que hemos creado xxx@jabberes.org y aceptamos la invitación de usuario de Google Talk.

4. Desde el Zabbix GUI:
Administration->Media types->Create Media types->Type: Jabber.
Jabber Identifier: xxx@jabberes.org.
Password: la contraseña de la cuenta xxx@jabberes.org
5. Ahora en Administration->Users->Seleccionamos nuestro usuario y agregamos el jabber media creados.
Type: Jabber
Sent to: xxx@jabberes.org

Ahora solo faltaría crear una acción que envíe vía mensaje las alertas.

Zabbix 1.6.2 SO: Ubuntu 8.10

lunes, 2 de marzo de 2009

Instalar parches en Zabbix

En ocasiones, como en cualquier solución, encontramos defectos de software (bugs) en nuestro zabbix.

Cuando pasa esto podemos optar por esperar a que salga una nueva versión con el problema arreglado o instalar los parches que nos facilitan los desarrolladores de zabbix (.patch)

Yo voy a explicar los pasos a seguir para implementar los parches (.patch) en debian/ubuntu

- Lo primero de todo es tener instalada la aplicación patch.

apt-get install patch

- Ubicarnos donde tenemos el código fuente del zabbix:

cd /home/zabbix/zabbix-1.6.2/

- Comprobar que el patch sea para nuestra versión de zabbix

patch -p0 --dry-run < path_1.patch

- Ejecutar el patch en el directorio donde tenemos el codigo fuente del zabbix:

patch -p0 < path_1.patch

- Posteriormente tenemos que volver a compilar los binarios de zabbix:

sudo /etc/init.d/zabbix-server stop
sudo /etc/init.d/zabbix-agent stop

./configure --prefix=/usr --with-mysql --with-net-snmp \--with-libcurl --enable-server --enable-agent && make
sudo make install

- Copiamos los nuevos binarios:

sudo cp misc/init.d/debian/zabbix-server /etc/init.d
sudo cp misc/init.d/debian/zabbix-agent /etc/init.d

- Y los reconfiguramos:

sudo nano /etc/init.d/zabbix-server

Buscamos la cadena:
DAEMON=/home/zabbix/bin/${NAME}
y la remplazamos por:
DAEMON=/usr/sbin/${NAME}

sudo nano /etc/init.d/zabbix-agent

Buscamos la cadena:
DAEMON=/home/zabbix/bin/${NAME}
y la remplazamos por:
DAEMON=/usr/sbin/${NAME}

- Y finalmente iniciaremos de nuevo nuestr0 zabbix:

sudo /etc/init.d/zabbix-server start
sudo /etc/init.d/zabbix-agent start

Zabbix 1.6.2 SO: Ubuntu 8.10

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