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.

Recuerdo que siempre es recomendable hacer una copia de seguridad de las base de datos y del directorio zabbix antes de actualizar a las nuevas versiones.

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 la BBDD de Zabbix.

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