Zabbix es un programa para la monitorización de redes
Autor: Javier Arencibia Díaz
Correo: arencibia88@hotmail.com
# yum install zlib-devel mysql-devel glibc-devel curl-devel gcc automake mysql libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel
# wget http://dag.wieers.com/rpm/packages/iksemel/iksemel-1.3-1.el5.rf.i386.rpm # wget http://dag.wieers.com/rpm/packages/iksemel/iksemel-devel-1.3-1.el5.rf.i386.rpm
# rpm -ivh iksemel-1.3-1.el5.rf.i386.rpm # rpm -ivh iksemel-devel-1.3-1.el5.rf.i386.rpm
# wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.1/zabbix-1.8.1.tar.gz?use_mirror=freefr
# gunzip zabbix-1.8.1.tar.gz && tar -xvf zabbix-1.8.1.tar
# cd zabbix-1.8.1
# ./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl --with-openipmi --enable-agent
Enable server: yes With database: MySQL WEB Monitoring via: cURL Native Jabber: yes SNMP: net-snmp IPMI: openipmi Enable agent: yes
# make
No usaremos el comando “make install”, utilizaremos el comando checkinstall que nos da la opción de hacer primero un RPM y luego instalarlo.
# rpm -ivh checkinstall-1.6.0-3.el5.rf.i386.rpm # yum install rpm-build
# cd zabbix-1.8.1 # checkinstall --nodoc --install=yes -y
Ya que estamos en Centos elegiremos la opción [R]:
**********************************************************************
Done. The new package has been installed and saved to
/usr/src/redhat/RPMS/i386/zabbix-1.8.1-1.i386.rpm
You can remove it from your system anytime using:
rpm -e zabbix-1.8.1-1
**********************************************************************
Ya esta instalado Zabbix en el PC.
# service mysqld status
# service mysqld start
Cambiamos la contraseña para root:
# mysqladmin –u root password ‘nueva_contraseña_aquí’
# mysql_secure_installation
1º Nos pide la contraseña de root.
2º Nos pide que si queremos cambiar la contraseña de root.
3º Nos pide que si queremos quitar el usuario anónimo.
4º Nos dice que si queremos prohibir el logueo de root remotamente.
5º Nos dice que si queremos quitar la base de datos “test” que viene por defecto.
6º Nos pide que si queremos actualizar los privilegios ahora.
# mysql -u root -p
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to ‘zabbix‘@‘localhost‘ identified by ‘establecer_contraseña_aqui‘;
mysql> quit;
Nota: Recordar siempre la contraseña para la configuración de los ficheros del Zabbix mas adelante.
# cd create/schema # cat mysql.sql | mysql -u zabbix -p zabbix # cd ../data # cat data.sql | mysql -u zabbix -p zabbix # cat images_mysql.sql | mysql -u zabbix -p zabbix
mysql> use zabbix; mysql> show tables; mysql> quit;
en caso de ejecutarlo habría que empezar de nuevo este apartado:
mysql> drop database zabbix;
# mkdir /etc/zabbix
# cd ../..
# cp misc/conf/{zabbix_server.conf,zabbix_agentd.conf} /etc/zabbix/
# vim /etc/zabbix/zabbix_server.conf
DBName=zabbix DBUser=zabbix DBPassword=tu_zabbix_mysql_contraseña
# chmod 400 /etc/zabbix/zabbix_server.conf # chown zabbix /etc/zabbix/zabbix_server.conf
#useradd -m -s /bin/bash zabbix
#su - zabbix
$ /usr/local/sbin/zabbix_agentd $ /usr/local/sbin/zabbix_server
Nota importante: En un principio para hacer un “service zabbix_server restart” me daba error porque no encontraba el script de arriba en la dirección que se pedía. Lo solucioné copiándolo en el lugar que te dice cuando te pone error la primera vez. Si no se hace eso se tiene que volver a ejecutar los comandos de arriba para poder iniciar luego el servidor y agente.
$ ps -e | grep zabbix
$ su -
# cd zabbix-1.8.1 # cp misc/init.d/redhat/8.0/zabbix_* /etc/init.d/
# vim /etc/init.d/zabbix_agentd
# chkconfig --add zabbix_server # chkconfig --add zabbix_agentdNota: El zabbix_server puede que haya que arrancarlo SIEMPRE con el comando “service zabbix_server start”.
# chkconfig --list # chkconfig --list | grep zabbix
# chmod 755 /etc/init.d/zabbix_server # chmod 755 /etc/init.d/zabbix_agentd
# service zabbix_server {start|stop|restart|condrestart}
Tenemos Zabbix Server y el Agente instalado y funcionando en nuestro servidor, podemos controlar los servicios a éstos y el inicio cada vez que la máquina arranca en el nivel 3 o 5, pero todavía no tenemos nuestra interfaz web.
Aquí es donde Apache y PHP entran en juego. Tendremos que instalar algunos paquetes adicionales php para funcionalidad completa:
# yum install php-mysql php-gd php-bcmath php-mbstring
# mkdir /var/www/html/zabbix # cp -r frontends/php/ /var/www/html/Decir que “frontends” es una carpeta que se localiza en el lugar donde descomprimimos las carpetas del zabbix.
# mv /var/www/html/php/ /var/www/html/zabbixNota: Para entrar yo en enlace web tuve que poner la siguiente dirección: http://localhost/html/zabbix/. También modifique el fichero “httpd.conf” para poder acceder (Igual no hace falta pero así me funcionó):
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html" a DocumentRoot "/var/www/"
# First, we configure the "default" to be a very restrictive set of # features. # ########Comente########<Directory /> ########Comente######## Options FollowSymLinks ########Comente######## AllowOverride None ########Comente########</Directory> ... # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # ########Comente######## Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # #########Comente####### AllowOverride None # # Controls who can get stuff from this server. # ########Comente######## Order allow,deny ########Comente######## Allow from all ########Comente########</Directory>
# vim /etc/php.ini
max_execution_time = 600 memory_limit = 256M post_max_size = 32M date.timezone = Atlantic/Canary mbstring.func_overload = 2
# service httpd restart
pasamos a la siguiente pantalla de “Detalles de Zabbiz Server”:
que genera lo guardamos en “/var/www/html/zabbix/conf/zabbix.conf.php” y finalmente damos a “Retry” para que nos salga un “Ok” y se quite el “Fail”.
# useradd -s /sbin/nologin zabbix
# wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/1.8.1/zabbix-1.8.1.tar.gz?use_mirror=freefr
# gunzip zabbix-1.8.1.tar.gz && tar -xvf zabbix-1.8.1.tar
# cd zabbix-1.8.1 # ./configure --enable-agent --prefix=/usr/local/zabbix --enable-static
# make install
# echo 'zabbix_agent 10050/tcp' >> /etc/services &&
echo 'zabbix_trap 10051/tcp' >> /etc/services
# mkdir /etc/zabbix # cp misc/conf/zabbix_agentd.conf /etc/zabbix/
Server= "Ip del servidor instalado anteriormente"
# chmod 777 zabbix_agentd.conf
# cp misc/init.d/redhat/zabbix_agentd_ctl /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
# chkconfig: 345 95 95 # description: Zabbix Agentd
# chkconfig --level 345 zabbix_agentd on
# /etc/init.d/zabbix_agentd start
/etc/init.d/zabbix_agentd: line 84: /usr/local/zabbix/bin/zabbix_agentd: No such file or directory /etc/init.d/zabbix_agentd start: zabbix_agentd could not be started-Si tenemos algún tipo de error así:
# ln -s /usr/local/zabbix/sbin /usr/local/zabbix/binNota: Aun con el comando anterior puede seguir dando fallo, lo arregle de la siguiente manera:
# cd /usr/local/zabbix/bin/
# cp sbin/* .
# service zabbix_agentd start
/etc/init.d/zabbix_agentd start: zabbix_agentd started
Si algún servicio de un PC cae, este puede ser iniciado nuevamente sin necesidad de ir al PC correcto para ejecutar el comando ya que zabbix puede hacerlo, para ello necesitamos que en cada PC que vayamos a ejecutar comandos remotos tenga la siguiente configuración:
# vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1
# /etc/init.d/zabbix_agentd restart
# visudo
# Defaults requiretty
# allows ‘zabbix’ user to run all commands without password. zabbix ALL=NOPASSWD: ALL
Nota: Para poder ejecutar comandos en equipos Windows tenemos que habilitar la casilla de “Enable remote commands” cuando estamos instalando el agente, tal y como hicimos en el apartado 8.
Ahora podemos crear una acción que cuando un iniciador cambie de estado se ejecute un comando concreto por ejemplo.
Antes que nada decir que el usuario ADMINISTRADOR de zabbix viene con una contraseña ya establecida es:
Usuario: admin
Contraseña: zabbix
Esta contraseña se puede cambiar en la pestaña de “Administración” del zabbix y señalando luego “usuarios”. Destacar que dentro de los usuarios podremos poner el lenguaje en español.
La aplicación Zabbix está compuesta por 5 menús que dependiendo del usuario que creamos podremos verlos todos o no. Estos 5 menús poseen a su vez una serie de submenús.
Ahora nombraremos cada uno de ellos:
** 1º Monitorización**: En esta pestaña podremos ver todo lo que estamos monitorizando, en esta parte no se configura nada ya que para la configuración de todo lo que monitorizaremos esta la pestaña de “Configuración”.
-Dashboard : Es la pantalla principal del programa (si no la cambiamos), en ella vemos un resumen del estado de lo que estamos monitorizando como: El estado de zabbix, estado del sistema, estado de los equipos, los últimos 20 temas, estado de las páginas web que estamos monitorizando y el descubrimiento de la red según la regla que configuramos en la pestaña de configuración. En la parte izquierda de esta pantalla podemos agregar nuestros gráficos, pantallas y mapas favoritos.
Estado de zabbix:
Estado del sistema y estado de los equipos:
Últimos 20 temas:
Estado de las páginas web monitorizadas y descubrimiento de la red:
-Vistazo general: Aquí vemos detalles mas ampliados de los equipos que tenemos monitorizando.
-Web: Este submenú es para ver el estado de las web que estamos monitorizando, si entramos en ellas podremos ver unas graficas que nos muestra la velocidad y el tiempo de respuesta con la página web configurada.
-Última fecha: Vemos últimos datos de los PCs monitorizados con sus respectivas gráficas.
-Iniciadores: Los iniciadores son alertas que se ejecutan cuando cumplen una condición especifica como por ejemplo avisan de si un servicio esta apagado. En esta pantalla podremos ver las alertas que han surgido en cada ordenador dependiendo del PCs que seleccionemos. Podremos crear iniciadores para un grupo especifico o un PC en concreto en el apartado de “Configuración → Equipos” entrando en iniciadores.
-Eventos: Vemos el estado de los eventos configurados.
-Gráficos, pantallas y mapas: Podremos ver en cada uno de estos submenús las imágenes especificas de cada una de ellas que hayamos creado en los submenús de la pestaña de configuración. Ver las imágenes en este apartado tiene la ventaja de que se actualizan solas según el tiempo que hayamos puesto en el apartado de nuestro usuario. En la parte inferior tenemos una barra con el cual podemos movernos por el historial de las graficas tiempo atras.
Ejemplo de una gráfica:
Ejemplo de un mapa:
-Descubrimiento: Podemos ver los equipos que se han descubierta según la regla que hayamos puesto en la pestaña de configuración. Podremos ver cuanto tiempo hace que un equipo esta activo o cuanto tiempo hace que no lo esta.
-Servicios TI: En este submenú podemos ver el estado de los servicios que hemos creado y tambíen ver una gráfica del estado de cada servicio.
2º Inventario: En este apartado podemos ver el nombre del equipo, el grupo, nombre, sistema operativo, nº de serie, etiqueta y dirección MAC de los PC creados, para poder ver estos datos en este apartado hace falta que ingresemos estos datos en el apartado de “perfiles” a la hora de crear un nuevo equipo:
Lugar donde se ingresan estos datos (En la configuración de los equipos o cuando ser agrega un equipo nuevo):
3º Informes: Este menú posee 4 submenús en los que se puede ojear mas detenidamente lo que esta ocurriendo en los agentes, teniendo la posibilidad de filtrar informes para encontrar uno deseado.
4º Configuración: Este menú es prácticamente el más importante de la aplicación. Se divide en varios submenús:
-Grupos de equipos: En el se podrá crear grupos para luego ingresar PCs y monitores en ellos.
-Equipos: En este submenú es donde se crea los equipos, plantillas, monitores, iniciadores (alertas), gráficos y aplicaciones.
Cuando creas un equipo podrás ver si este esta disponible o no, debería estar disponible si tiene el agente instalado en el y además lo tiene iniciado.
Ejemplo de equipo disponible:
Ejemplo de equipo no disponible:
Como vemos si esta disponible para su monitorización veremos que la “Z” de la derecha esta en verde y si no lo esta estará en rojo.
Podemos crear también aplicaciones, monitores, iniciadores y gráficos para un equipo especifico entrando en los enlaces que tienen en la misma fila dicho equipo.
-Maintenance: Para crear mantenimientos.
-Web: Creando un escenario podemos monitorizar también páginas web.
-Acciones: Con las acciones podremos hacer que zabbix realice una serie de cosas cuando ocurra algún acontecimiento en cualquier PC. Por ejemplo: si se apaga un servicio podemos volver a activarlo indicándole a zabbix que ejecute un comando cuando este se apague. Para este caso anterior crearíamos una acción con un tipo de origen del evento llamada “Iniciadores”, elegimos esta opción porque la acción se ejecutará cuando la alarma o iniciador del servicio este apagado. Para crear la acción tenemos 3 cuadros: “Accion” (donde están los datos principales), “Action conditions” (donde pondremos los requisitos que se tienen que cumplir para que luego se ejecute la acción, y “Action operations” (donde elegiremos que acciones se ejecutara cuando salte la alarma en este caso).
En la imagen siguiente vemos que cuando el equipo sea igual a “Zabbix Server” y el Iniciador sea igual a “SSH server esta apagado en Zabbix Server” ejecutaremos un comando sudo /etc/init.d/sshd start para iniciar el servicio SSH. Pondremos delante del comando {HOSTNAME} o nombre del equipo seguido de dos puntos y luego el comando. En el siguiente enlace podremos ver las macros que podemos usar para las acciones o las alertas:
http://www.zabbix.com/wiki/howto/config/alerts/customizing_your_alerts
Imagen de como crear una acción para que cada vez que se apague el servicio SSH en “Zabbix Server” este se inicie automaticamente:
Destacar que hay 3 tipos de “Origen del evento”: Iniciadores, Descubrimiento y Auto registration. Para los “iniciadores” hace falta que salte una alarma para que se ejecute una acción. En “descubrimiento” se ejecutará una acción cuando se cumpla algún requisito del apartado de descubrimiento. Por último, para “auto registration” se ejecutará una acción cuando este cumpla una condición de las que posee esta opción.
-Pantallas: Aquí podemos crear un panel en el que puede contener todos los gráficos que queramos y así tener una agrupación de gráficos sin tener que movernos mucho por la aplicación para cambiar entre ellos.
-Mapas: Para crear un mapa de nuestra distribución de la red.
-Servicios TI: Aquí se crea servicios para calculen el estado de por ejemplo, si falla algún iniciador.
-Descubrimiento: Creando una regla podemos localizar los equipos que se encuentra en la red. Luego en la pestaña de “Monitorización” podemos ver si están activos o no.
-Exportar/Importar: Podremos guardar una copia de seguridad de los diferentes objetos de zabbix como son los PCs y tambíen importarlas.
5º Administración: En este apartado se centra mayormente en el control de zabbix, la creación de usuario, tipos de medios para enviar correos o sms, las auditorias para ver los sucesos, scripts para ejecutar en el apartado de “Monitorización –> mapas” sobre los objetos, “Authentication” para asegurarse una conexión segura, Colas de mensajes, Notificaciones e Instalation, para instalar de nuevo el zabbix.
http://www.zabbix.com/wiki/howto/install/centos/centosinstall
http://www.zabbix.com/documentation/1.8/complete
http://www.zabbix.com/documentation/1.8/manual/about/what_s_new
http://redes-privadas-virtuales.blogspot.com/2009/06/monitorizacion-de-servicios-con-zabbix_14.html
Instalar agente zabbix en Centos
Instalar agente zabbix en Windows
Ejecutar comandos remotos
http://zabbix-es.blogspot.com/
http://www.zabbix.com/
http://redes-privadas-virtuales.blogspot.com/2010/02/instalacion-del-servidor-zabbix-partir.html
http://redes-privadas-virtuales.blogspot.com/2009/06/monitorizacion-de-servicios-con-zabbix_09.html
http://blog.e2h.net/2010/05/07/instalando-zabbix-la-ultima-solucion-de-monitorizacion-de-codigo-abierto/#more-673