Este blog tiene como finalidad compartir las experiencias de esta gran herramienta de monitorización.
martes, 22 de mayo de 2012
Lanzamiento Zabbix 2.0
Y como una imagen vale más que mil palabras aquí tenéis dos vídeos donde nos explican todas las nuevas funcionalidades así como el nuevo y mejorado look de Zabbix 2.0
domingo, 5 de febrero de 2012
Alertas Zabbix a Twitter
domingo, 29 de enero de 2012
ABC Zabbix performance tuning
miércoles, 26 de octubre de 2011
Localiza especialistas en ZABBIX
Ver Especialistas en Zabbix en un mapa más grande
miércoles, 29 de junio de 2011
Monitorizar Windows Server 2008 Backup con Zabbix
- Crear un backup con Windows Server Backup.
- Crear una tarea de Windows que se active cuando falle un backup y modifique un fichero de logs.
- Crear un ítem en Zabbix analizando el fichero de logs.
- Crear un trigger en Zabbix.

{BIMIND_Template_Backup_Windows:vfs.file.cksum[C:\backup\backup.txt].diff(0)}>0

Monitorizar RAID de Windows con Zabbix
Es muy sencillo pero debemos saber cómo hacerlo.
Lo primero que vamos hacer es crear un ítem con la siguiente configuración:
Key: system.run[echo list volume | diskpart | find "Error" /c]

Lo segundo es hacer el trigger.
Expression: {BIMIND_Template_RaidCheck:system.run[echo list volume | diskpart | find "Error" /c].last(0)}>0

Yo lo he hecho mediante una template para luego poderlo vincular a los host que necesite. En el caso de hacerlo directamente en un host deberéis cambiar “BIMIND_Template_RaidCheck” por el nombre del HOST.
Y con esto ya tenemos controlado si nos falla el RAID.
miércoles, 27 de abril de 2011
Appliance de Zabbix con SUSE Studio
Este appliance esta configurado mediante la herramienta SUSE Studio que nos permite crear distribuciones SUSE a media.
Desde la siguiente página web http://susegallery.com/a/MdKfmk/zabbix-x86 podemos descargarnos la última versión del appliance en varios formatos distintos que seguro que se adaptan a cada una de nuestras necesidades:
- USB & flash image
- ISO image
- Complete disk image
- Preload ISO
- Open Virtualitzation Format (OVF)
- VMWare / VirtualBox / KVM image
- Xen guest image.
miércoles, 20 de abril de 2011
Monitorizar Hardware de VMWare ESXi con Zabbix
Para que nuestro Zabbix se hable con ESXi tendremos que instalar pywbem y openssl.
yast2 --install python-pywbem
yast2 --install python-openssl
Una vez instalado los requisitos en nuestro servidor de Zabbix descargaremos el siguiente script check_esx_wbem.py
Una vez descargado el script lo copiaremos en la siguiente ruta del Servidor Zabbix
/etc/zabbix/externalscripts/
Ahora vamos a crear un script en esta misma ruta para pasarle el usuario y la contraseña de nuestros ESXi
nano /etc/zabbix/externalscripts/check_esx_wbem.sh
Y escribiremos la siguiente instrucciones, donde cambiaremos el usuario y la contraseña por la de nuestros ESXi
/etc/zabbix/externalscripts/check_esx_wbem.py https://$1:5989 usuario contraseña $2
Guardaremos y cerraremos el archivos con los cambios efectuados
Ahora otorgaremos permisos al usuario zabbix para que pueda ejecutar el script
chmod 0777 /etc/zabbix/externalscripts/check_esx_wbem.py
chmod 0777 /etc/zabbix/externalscripts/check_esx_wbem.sh
Una vez aplicado los permisos vamos a probar que funcione ejecutando la siguiente instrucción desde la consola zabbix cambiando ipadress por la IP de nuestro servidor ESXi
/etc/zabbix/externalscripts/check_esx_wbem.sh ipadress
En el caso de que no diera algún error podemos usar la variable verbose para ejecutar el script en modo detalle
/etc/zabbix/externalscripts/check_esx_wbem.sh ipadress verbose
Ahora es el momento de crear configurar el Host ESXi en nuestro servidor Zabbix desde el Frontend Web.
Crearemos un host indicándole la IP de nuestro servidor ESXi y seguidamente le crearemos nuestro item para chequear el hardware.

Ahora solo faltará crear un trigger que nos avise si cambia de estado.
jueves, 3 de junio de 2010
Zabbix en Android
jueves, 13 de mayo de 2010
Monitorizando el Frontend Web de Zabbix
Como ejemplo voy a monitorizar el frontend web del propio Zabbix.
Lo primero que vamos a crear es una aplicación llamada “Zabbix frontend”.
“Configuration->Hosts->Applications->Create application”.

Seguidamente configuraremos el escenario web que vamos a monitorizar.
“Configuration->Web->Create scenario”.
Application: Selecionamos la aplicación previamente creada “Zabbix frontend”.
Name: Zabbix frontend
Basic authentication: none
Update Interval (in sec): 60
Agent: Lynx 2.8.4rel.1 on Linux
Satus: Active
Variables:
{username}=admin
{password}=zabbix

Ahora vamos a crear tres pasos a monitorizar: “Steps Add”
El primer paso verificará que llegamos a la pantalla de login de Zabbix.
Name: First page
URL: http://localhost/zabbix
Timeout: 10
Required: SIA Zabbix

El segundo paso servirá para hacer el login.
Name: Log in
URL: http://localhost/zabbix/index.php
Post: name={username}&password={password}&enter=Enter
Timeout: 10

El tercer paso verificará que el login haya tenigo éxito.
Name: Check login
URL: http://localhost/zabbix/index.php
Timeout: 10
Required: Profile

Ya tenemos el escenario creado. Ahora solo falta esperar unos minutos para ver el resultado.
“Monitoring->Web->Zabbix frontend”

lunes, 10 de mayo de 2010
Monitorizar Logs con Zabbix
Recuerdo que para monitorizar ítems activos es necesario que el nombre del host que publiquéis en zabbix "Configuration-Hosts-Name" y el hostname que escribáis en el archivo de configuración del cliente "zabbix_agentd.conf" tienen que coincidir para que Zabbix sepa de qué host proviene la información.
Tener en cuenta que el hostname tiene que ser único y distingue mayúsculas de minúsculas.
Key= log[“ruta ficher logs”,”cadena a buscar”]
Type of information= Log

También podemos monitorizar ficheros de logs que cambien de nombre con la expresión: logrt, la cual acepta expresiones regulares.
lunes, 1 de febrero de 2010
Actualizar los agentes de Zabbix mediante Web
Lo primero que tendremos que hacer es subir el agente de zabbix a un servidor ftp.
Usaremos el instalador para Windows http://www.suiviperf.com/zabbix/
Descargaremos la última versión del agente. La descomprimimos y posteriormente renombramos el ejecutable a zabbix_agent.exe
Subimos el ejecutable a nuestro ftp. Ejemplo: ftp:\\nuestrodominio.es\zabbix\zabbix_agent.exe
Creamos el siguiente fichero en el la raíz del c:\update_zabbix.ftp de cada uno de nuestros servidores de Windows. Esto solo se tiene que hacer la primera vez. Y lo rellenamos con las siguientes líneas. Donde pone usuario escribiremos el usuario para acceder a nuestro ftp y donde pone contraseña la contraseña del usuario ftp.
open nuestrodominio.es
usuario
contraseña
binary
cd zabbix
get zabbix_agent.exe
quit
Ahora iremos a nuestro servidor de zabbix. Administration->Scripts.
Y crearemos el siguiente script (servidor.zabbix=nuestro servidor zabbix):
Name: Update Zabbix Agent
Command: zabbix_get -s {HOST.CONN} -k system.run['ftp -s:c:\update_zabbix.ftp & copy zabbix_agent.exe c:\ & c:\zabbix_agent.exe /server=servidor.zabbix /rmtcmd=1 /hostname={HOSTNAME} /S']
Guardamos y ya tenemos nuestro script para actualizar nuestros servidores.
Ahora solo faltaría lanzarlo seleccionando algún servidor desde un mapa donde tengamos nuestros servidores.
martes, 12 de enero de 2010
Screens con gráficos dinámicos en Zabbix
martes, 1 de diciembre de 2009
Crear Iconos Mapas Zabbix
Para crear vuestros iconos tenéis que instalaros la aplicación GIMP y usar esta plantilla que os pongo a continuación:
http://www.bimind.es/files/zabbix/icons.psd
En ella encontraréis unos cuantos iconos separados por capas.
Simplemente tenéis que guardar las imágenes en png y el resultado de los iconos tendría que ser algo parecido a esto.
martes, 14 de julio de 2009
Problemas de memoria con Windows 2008 y agente Zabbix
Windows 2008 cuando se monitoriza mediante Zabbix y se usan los contadores de rendimiento (perf_counter) el agente de Zabbix empieza a comerse todo la memoria del servidor.
Esto es un problema del API de Windows 2008 y no tiene nada que ver con el agente de Zabbix.
Aquí os dejo el link del support de Microsoft donde os podéis descargar el parche para corregir este problema.
http://support.microsoft.com/kb/970838
sábado, 11 de julio de 2009
Cambiar el idioma de los contadores de rendimiento de Windows
Por eso os dejo un pequeño truco para cambiar todos los contadores de rendimiento de Windows al inglés. También os podrá servir para no tener que traducir las plantillas que incorpora zabbix en lo que al idioma de los contadores de rendimiento se refiere.
Tenemos que entrar en el registro de Windows.
Inicio -> Ejecutar -> regedit.exe
Localizamos la siguiente clave:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib"
Aquí nos encontraremos dos subclaves:
009 (contadores en ingles)
00A (contadores en español)
Hacemos una copia de la clave 00A por si en un futuro queremos volver al español.
Copiamos los valores de:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009\Counter"
Y remplazamos los valores:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\00A\Counter"
Reiniciamos el agente de zabbix y ya tenemos nuestros contadores en inglés.
sábado, 4 de julio de 2009
Monitorizando dispositivos de red con ZABBIX
Adjunto el link donde se describe el protocolo SNMP. http://es.wikipedia.org/wiki/Simple_Network_Management_Protocol
Las MIB’s (Base de Información de Administración) es una colección de información que está organizada jerárquicamente y son accedidas usando el protocolo de administración de red SNMP.
Las MIB’s más importantes para monitorizar los dispositivos de red son:
RFC1213
.1.3.6.1.2.1.1.1.0 sysDescr.0 (Descripción completa del sistema, versión, HW, OS)
.1.3.6.1.2.1.1.3.0 sysUpTime.0 (Tiempo desde la última reinicialización)
IF-MIB
.1.3.6.1.2.1.2.1.0 ifNumber.0 (El número de interfaces de red)
.1.3.6.1.2.1.2.2.1.2.1 ifDescr.1 (Descripción del interface de red)
.1.3.6.1.2.1.2.2.1.5.1 ifSpeed.1 (Velocidad del interface en bits/s)
.1.3.6.1.2.1.2.2.1.8.1 ifOperStatus.1 (El estado del interface)
.1.3.6.1.2.1.2.2.1.10.1 ifInOctets.1 (Número de octetos/s entrada del interface)
.1.3.6.1.2.1.2.2.1.16.1 ifOutOctets.1 (Número de octetos/s salida del interface)
Apunte para los de sistemas como yo: un octeto son 8 bits.
Una vez hecho un resumen del protocolo SNMP y las MIB’s que vamos a usar toca ponernos a configurar un dispositivo en ZABBIX.
Para ello os dejo una maravillosa plantilla que os podéis descargar en este link.
http://www.bimind.es/files/zabbix/BIMIND_Template_Network.xml
En ella encontrareis los intems de las MIB’s comentados anteriormente para 6 interfaces, los triggers que os avisarán si hay alguna de las 6 interfaces caídas o si se ha reiniciado el dispositivo y por último los gráficos de subida y bajada de las 6 interfaces.
La plantilla está configurada con la comunidad de lectura SNMP “public”. Acordaros que tiene que coincidir con la comunidad SNMP del dispositivo de red a monitorizar.
miércoles, 17 de junio de 2009
Cómo Actualizar Zabbix (1.6.5)
Ya tenemos aquí la nueva versión de zabbix 1.6.5 y aprovechando esta buena noticia voy a explicar como hacer la actualización.
Paramos los servicios de zabbix
sudo /etc/init.d/zabbix-server stop
sudo /etc/init.d/zabbix-agent stop
Descargamos la última versión 1.6.5
wget http://puzzle.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.6.5.tar.gz
La descomprimimos
tar zxvpf zabbix-1.6.5.tar.gz
Vamos a la carpeta que hemos descomprimido
cd zabbix-1.6.5
./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}
Copiamos los nuevos archivos del frontend web
cp -R frontends/php/* /home/zabbix/public_html/
Creamos los índices recomendados por la actualizacion
sudo mysql -p -D zabbix –e “CREATE UNIQUE INDEX history_log_2 on history_log (itemid,id);”
sudo mysql -p -D zabbix -e “CREATE UNIQUE INDEX history_text_2 on history_text (itemid,id);”
sudo mysql -p -D zabbix -e “CREATE INDEX graphs_items_1 on graphs_items (itemid);”
sudo mysql -p -D zabbix -e “CREATE INDEX graphs_items_2 on graphs_items (graphid);”
sudo mysql -p -D zabbix -e "CREATE INDEX services_1 on services (triggerid);"
Iniciamos los servicios de zabbix
sudo /etc/init.d/zabbix-server start
sudo /etc/init.d/zabbix-agent start
Ya tenemos nuestro zabbix con la última versión
Zabbix 1.6.5 SO: Ubuntu 9.04
martes, 9 de junio de 2009
Explicación Tablas de la BBDD de Zabbix
Gracias a la aportación de OWEN os dejo la explicación de casi todas las tablas que forman parte de
Si alguien tiene más información que deje sus comentarios y lo iré completando.
- acknowledges: donde se alojan los comentarios cuando un problema es conocido/confirmado.
- actions: donde se alojan las acciones con su asunto, texto.
- alerts: el historial de alertas, enviado correo a tal, sms a tal, con el asunto del mensaje
- applications: poco que decir, donde se alojan las aplicaciones (repetidas para cada host)
- auditlog: lo que se muestra en administración -> auditoria -> audit logs
- conditions: relaciona una acción con una condición
- config: solo una fila con distintas configuraciones (tiempo de refresco, periodo de trabajo.. etc, configuraciones de la web)
- dchecks: comprobación de "discovery" (descubrir)
- drules: reglas para "discovery"
- dservices: ? algo de servicios de discovery pero nunca lo he utilizado
- escalations: registra las "escalaciones" a otro usuario cuando no puedes solucionar un problema
- events: donde se guarda el estado de los eventos, su fecha y el valor (on, off, unknown) y si esta ack (confirmado/conocido)
- functions: donde se guarda una relación de host (maquina) / item (elemento) / lanzador (trigger) y funcion (last, nodata, diff..)
- graphs: donde se guardan los datos de la grafica (alto, ancho, nombre.. )
- graphs_items: relación entre grafica y elemento (item) y otros valores de la relación (líneas, color..)
- groups: grupos de usuarios/maquinas
- help_items: la descripción de los items (elementos)
- history y history_*: se guarda la historia de los valores que se reciben de los hosts (maquinas)
- hosts: las maquinas, su nombre, ip y distintos valores
- hosts_groups: relación entre maquinas y grupos
- hosts_profiles: donde se alojan los perfiles de las maquinas
- hosts_profiles_ext: idem que el anterior pero cuando se crea un perfil mas avanzado
- hosts_templates: relación entre maquinas y plantillas
- housekeeper: esta tabla la tengo vacía, pero en teoría debería contener cada cuanto es el máximo de días que se contiene por cada tabla
- httpstep: los pasos que se siguen en configuración->web
- httpstepitem: relaciona la tabla anterior con la tabla de items (elementos)
- httptest: se guardan los test (ultima comprobación, próxima comprobación, periodo entre comprobaciones, aplicación relacionada..)
- httptestitem: relaciona la tabla anterior con la tabla de items (elementos)
- ids: es una tabla para saber el id de cada tabla, me imagino que es por compatibilidad con pgsql (que no tiene auto_increment, sino secuencias)
- images: las imágenes en un campo blob
- items: los elementos (system.uptime, proc.num[], etc) con configuraciones generales (tiempo del historial, tiempo de tendencia, template..)
- items_applications: relación de elementos (items) con las aplicaciones
- mappings: donde se guardan los "mapeos" (0 = off, 1 = on, etc)
- media: relación de usuarios/acciones y severidad (enviar sms a tal usuario cuando el problema es de alerta urgente, por ej.)
- media_type: los medios para enviar alertas (email pues su smtp, dirección de remitente; modem pues su puerto ttyS; script el nombre del script alojado en /etc/zabbix/alert.d/
- node_cksum: ? algo del checksum pero la tengo vacía
- nodes: ? algo de nodos, no lo utilizo
- opconditions: vacía
- operations: esta tengo que investigarla
- profiles: parece una tabla interna para distintas configuraciones (periodos de graficas, graficas favoritas.. )
- proxy_dhistory/proxy_history: historial del proxy (1.6)
- rights: permisos para los grupos
- screens: nombre de la pantalla y su tamaño
- screens_items: los mapas/elementos que se muestra dentro de las pantallas (screens)
- scripts: aplicaciones que se pueden ejecutar en las maquinas
- service_alarms, services, services_links, services_items: ?
- sessions: donse aloja el sessionid (identificador de la sesión) para cada usuario
- slides: donde se guardan configuración -> screens -> slides
- sysmaps: los mapas en si con el tamaño y configuraciones del titulo
- sysmaps_elements: los elementos dentro de cada mapa
- sysmaps_link_triggers, sysmaps_links: ?
- trends, trends_uint: donde se aloja la tendencia de los elementos (items) en los últimos X dias
- trigger_depends: dependencia de los triggers (yo nunca lo he usado)
- triggers: los triggers con la condición para que se lance y la plantilla/host a la que se relaciona
- users: los usuarios
- users_groups: relación usuarios/grupos
- usrgrp: ?
- valuemaps: ? parecen etiquetas para los mapas
martes, 26 de mayo de 2009
Backup BBDD Zabbix sin histórico
El histórico de Zabbix es el que va aumentando durante la vida de nuestro servidor y lo que hace que la copia de la base de datos a veces sea muy lenta.
Nos podemos encontrar con la necesidad de crear un Zabbix de test con la misma configuración que el de producción pero sin datos o simplemente vaciar el histórico para aumentar la velocidad o el espacio de disco.
Lo primero que vamos hacer es extraer el listado de tablas de nuestro zabbix a un archivo:
mysql -p zabbix -e 'show tables' > tables.txt
Ahora exportaremos los datos de la BBDD exceptuando las tablas history:
grep -v Tables ./tables.txt | grep -v history | xargs mysqldump -p zabbix > backup.sql
Y con esto ya tenemos una copia de nuestro Zabbix sin el histórico lista para importar donde queramos.
Zabbix 1.6.5 SO: Ubuntu 9.04




