Download - zabbix
Zabbix en Linux
Zabbix es un programa para monitorear los recursos de un equipo en forma remota que consume pocos recursos, permite centralizar la información en un servidor que permite visualizar el monitoreo de multiples hosts, cuenta con una interfaz de administración vía web y para acabarla nos avisa por correo electrónico cuando hay algún problema con alguno de los host's.
Requisitos
Los requisitos de software para utilizar zabbix son:
● apache 1.3.12 o superior (trabaja con 2.x)● mysql 3.22 en adelante o PostgreSQL 7 o mayor● PHP4 o superior (necesita modulo GD para generar las gráficas)
las librerías NETSNMP son necesarias para el serverpara instalarlo a partir del código fuente es necesario GCC
Referencias
La versión estable de zabbix es la 1.1
Zabbix puede ser descargado de:
http://www.zabbix.com
o directamente:
http://superbeast.dl.sourceforge.net/sourceforge/zabbix/zabbix1.1.4.tar.gz
La documentación esta en:
http://www.zabbix.com/manual/v1.1/
¿Como trabaja zabbix?
Zabbix consta de 2 partes, el agente y el server.
El server recopila la información que generan los agentes, la muestra y almacena en la base de datos seleccionada durante su instalación y configuración. Este trabaja en el puerto 10051 pero se puede cambiar.
Los agentes se encargan de enviar al servidor zabbix toda la información que se esta monitoreando.
Instalación
Sera necesario cubrir todos los requisitos de software primero.
Ya que descargamos el código fuente de zabbix vamos a compilarlo, el tarball nos ofrece varias opciones, lo mas importante es que podemos elegir entre si creamos el server, el agente o los dos. Esta capacidad nos permite compilar el server en la maquina principal y luego en cada host que sera monitoreado ir compilando agentes nada mas, o compilar un agente único e ir instalándolo en cada equipo.
Descomprimimos el codigo fuente
$ sudo s# tar xvzf zabbix1.1.4.tar.gz# cd zabbix1.1.4/
Configurando el hambiente para el servidor zabbix
El servidor de bases de datos (MySql, PostgreSQL u Oracle) debe estarse ejecutando y debemos tener acceso root o a una cuenta validad con permisos para crear bases de datos en nuestro servidor:
MySQL:
# mysql u usuario p# create database zabbix; # quit; # cd create/mysql # cat schema.sql |mysql u usuario p zabbix# cd ../data # cat data.sql |mysql u usuario p zabbix# cat images.sql |mysql u usuario p zabbix
PostgreSQL:
# psql U usuario# create database zabbix; # \q # cd create/postgresql # cat schema.sql|psql U usuario zabbix # cd ../data # cat data.sql|psql U usuario zabbix# cat images_pgsql.sql |psql U usuario zabbix
Ya estamos listos :D vamos a compilar ...
Parámetros de compilación
enablestatic enlaza las librerías para dar portabilidad a la aplicación, de esta manera podremos moverla.
enableserver con este parámetro compilaremos el serverenableagent nos da el binario del agente que podremos ir instalando en los hosts
withucdsnmp=DIR es necesario para construir el server, DIR es la ruta de acceso a las librerías SNMP, se puede omitir en caso de que las librerías se encuentren en el PATH del sistema.
Nota: En debian podemos instalar el soporte SNMP de la siguiente forma:# aptget install libsnmp9 libsnmp9dev
withoracle=DIR Si utilizaremos Oracle como servidor de bases de datos para zabbixwithmysql=DIR Si vamos a utilizar MySqlwithpgsql=DIR Soporte para PostgreSQL
Nota: De nuevo DIR solo es necesario si el servidor gráfico lo tenemos instalado en una ruta diferente a la estandard en la distribución o si no esta en los PATH's.
Para ver los parámetros completos tecleamos:
#./configure help
Compilando el server y el agente
# ./configure enableserver enableagent withmysql withnetsnmp# make# make install
Después de un cafecito ... esta listo, ya podemos continuar configurando zabbix.
Creamos el directorio de configuración:
# mkdir /etc/zabbix
Creamos el usuario y el grupo para zabbix:
groupadd zabbixadduser zabbix:zabbix
Copiamos los archivos preconfigurados:
# cp misc/conf/* /etc/zabbix/
Configurando el server
Editamos en el archivo zabbix_server.conf la información de la base de datos y si lo deseamos el puerto de escucha.
Copiamos la interfaz gráfica a apache para poder administrar zabbix desde ahi:
# cp rf frontends/php /usr/local/apache2/htdocs/zabbix
Configurando el agente
editamos /etc/services y agregamos las siguientes 2 lineas para registrar el tipo de servicio que se usara en esos puertos:
zabbix_agent 10050/tcpzabbix_trap 10051/tcp
El agente se encuentran en 2 formas, el demonio y el binario para inetd, debemos elegir en cual de los modos correremos zabbix, si elegimos el demonio, estara trabajando todo el tiempo y si llega a caerse tendremos que levantarlo a mano, si elegimos inetd se activara cuando inetd detecte una petición en ese puerto a ese servicio, para este caso necesitamos editar el archivo /etc/inetd.conf y agregar la linea siguiente:
zabbix_agent stream tcp nowait.3600 zabbix /opt/zabbix/bin/zabbix_agent
posteriormente reiniciamos inetd:
# /etc/init.d/inetd restart
El equipo de desarrollo de zabbix recomienda utilizar el demonio en lugar de inet.
Para configurar el agente editamos /etc/zabbix/zabbix_agent.conf o /etc/zabbix/zabbix_agentd.conf dependiendo si elegiste demonio o inetd.
En este archivo solo necesitamos configurar la ip de la maquina donde se encuentra el servidor zabbix corriendo:
Server=127.0.0.1
¿Listos para arrancar?
Y bien aqui vamos, ejecutemos todo :D
# zabbix_server# zabbix_agentd
Nota: apache y el servidor de bases de datos deben estar corriendo antes de ejecutar zabbix.
Comprobando que ambos procesos arrancaron:
# ps A |grep zabbix 7775 ? 00:00:00 zabbix_server 7777 ? 00:00:00 zabbix_server 7778 ? 00:00:00 zabbix_server 7779 ? 00:00:00 zabbix_server 7780 ? 00:00:00 zabbix_server 7783 ? 00:00:00 zabbix_server 7784 ? 00:00:00 zabbix_server 7785 ? 00:00:00 zabbix_server 7786 ? 00:00:00 zabbix_server 7790 ? 00:00:00 zabbix_server 7791 ? 00:00:00 zabbix_server 7805 ? 00:00:00 zabbix_agentd 7806 ? 00:00:00 zabbix_agentd 7807 ? 00:00:00 zabbix_agentd 7808 ? 00:00:00 zabbix_agentd 7809 ? 00:00:00 zabbix_agentd 7810 ? 00:00:00 zabbix_agentd
Si tenemos problemas podemos consultar el archivo de log para diagnosticar el problema:
# cat /tmp/zabbix_agentd.log# cat /tmp/zabbix_server.log
IMPORTANTE: NO EJECUTES EL DEMONIO DEL AGENTE SI CONFIGURASTE INETD.
Compilando únicamente el agente
# ./configure enableagent# make# make install
Ahora solo configuramos el agente como se explico arriba.
Usando zabbix
Abrimos nuestro navegador web favorito, en mi caso firefox y entramos a:
http://localhost/zabbix
Tendremos una interfaz como la siguiente:
El usuario por dececto para hacer el login es admin y no tiene ninguna contraseña.
Dando de alta un host
Nos dirigimos a la pestaña de "configuration", aquí se listan los hosts asociados que tienen un agente zabbix corriendo:
Damos click en "Create Host" en la parte superior izquierda:
Los campos importantes son el Template (seleccionaremos Unix_t) y la ip, esta ip es la del host con el agente.
Listo, podemos ir a la pestaña de “Monitoring”:
Si lo deseas puedes consultar en las opciones de “Graph” una gráfica con los resultados de un estado, en este caso voy a checar el uso de /var que es donde se almacenan los enormes logs generados día a día de este servidor de producción.
Finalmente la carga del procesador:
Creado por gaper http://icenetx.net BLOG: http://gaper.icenetx.net Mail: [email protected]
Este documento es de libre distribución siempre y cuando se respete la información del autor.