Hola a todos. Esta vez les traigo está herramienta muy útil y desconocida por muchos, para poder monitorizar y vigilar la actividad de nuestros servidores todo desde un mismo lugar.
Muchas son las herramientas que hacen esto por completo o una parte, en otros casos debemos instalar varias para obtener el beneficio que buscamos.
Lo cierto es que zabbix trabaja bajo el modelo de 1 sola versión por la que no pagas ni un centavo y tiene una buena comunidad. Pero como siempre si prefieres o tienes los recursos para un contrato de servicio y/o soporte además de una muy buena capacitación para usar la herramienta, te diría que no es una mala inversión.
Bueno particularmente está herramienta está solo para distribuciones basadas en debian, ubuntu, redhat. Así que tal vez sea una limitante para algunos, pues probablemente tendrán que remitirse a los fuentes para compilar.
Ok, ahora vamos con el tutorial de lleno. Yo realice está instalación en debian 8 jessie. Un servidor en limpio y con la base de datos en otro servidor, pero eso ya es decisión de cada quien.
Paso 1
Descarguen zabbix server y frontend de aqui
Otra alternativa es directamente desde su servidor.
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix/zabbix-server-pgsql_3.0.2-1+jessie_amd64.deb .
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix/zabbix-frontend-php_3.0.2-1+jessie_all.deb .
Instalamos estos paquetes y resolvemos las dependencias.
dpkg -i *.deb
apt-get install -f
Paso 2
Agregamos como se llamara nuestro servidor ejemplo zabbix.midominio.com
vi /etc/hosts
Agregamos por ejemplo:
192.168.1.100 zabbix zabbix.midominio.com
Por defecto zabbix instala en nuestro apache una configuracion tipo alias en /etc/apache2/conf-enabled/zabbix.conf, para acceder de la siguiente forma http://<server_ip_or_name>/zabbix, a mi no me gusta por tanto podríamos desactivar
a2disconf zabbix.conf
Paso 2.1 (opcional- si dejaste la configuración anterior tal cual, salta al paso 3)
Adicionalmente u opcionalmente tendrías que crear un virtualhost o modificar el 000-default.conf como tu prefieras y agregas lo siguiente
vi /etc/apache2/sites-available/zabbix.midominio.com.conf
<VirtualHost *:80>
ServerName zabbix.midominio.com
DocumentRoot /usr/share/zabbix
<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
</IfModule>
</Directory>
<Directory "/usr/share/zabbix/conf">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/zabbix/app">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/zabbix/include">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
<Directory "/usr/share/zabbix/local">
Order deny,allow
Deny from all
<files *.php>
Order deny,allow
Deny from all
</files>
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Guardamos, salimos y ejecutamos
a2ensite zabbix.midominio.com.conf
service apache2 restart
Paso 3
Configurando la base de datos
aptitude install php5-pgsql
aptitude install libapache2-mod-auth-pgsql
service apache2 reload
El .sql se encuentra en
cd /usr/share/doc/zabbix-server-pgsql/create.sql.gz
Pueden cargarlo por pgadmin3 o por pgsql
por psql
su - postgres
psql
CREATE USER zabbix WITH PASSWORD 'myPassword';
CREATE DATABASE zabixdb;
GRANT ALL PRIVILEGES ON DATABASE zabbixdb to zabbix;
\q
psql -U zabbix -d zabbixdb -f create.sql
Por PgAdmin3 es mucho mas sencillo
1 presiona sql, y revisa que estes en la base de datos correcta
2 presiona abrir y carga el .sql que esta dentro del .gz
3 run, y listo
Paso 4
vi /etc/zabbix/zabbix_server.conf
DBHost=192.168.x.x
DBName=zabbixdb
DBSchema=public
DBUser=zabbix
DBPassword=password
Paso 5
http://<server_ip_or_name>/zabbix
o
http://<server_ip_or_name>
bueno en este punto si nos fuimos por mysql o postgres debemos chequear que todo este en verde y se muestre nuestra opción a base de datos. Algo importate lo de php time zone lo pueden editar en /etc/php5/apache2/php.ini en la etiqueta date.timezone = America/Curacao por ejemplo, todas las zonas permitidas están aqui
Luego debemos configurar la base de datos, recuerden cambiar el host si esta en otro servidor, así como user, password y database name
Ahora los detalles del servidor
En host, si tienes un dominio en tu servidor colócalo, y en name el diminutivo, ejemplo, host: zabbix.midominio.com, y en name: zabbix
y si estas de acuerdo, next y debería decirnos…
ahora solo accedemos zabbix.midominio.com
por defecto es Admin – zabbix
Paso 6
Instalamos el cliente en nuestro servidor
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix/zabbix-agent_3.0.2-1+jessie_amd64.deb .
dpkg -i zabbix-agent_3.0.2-1+jessie_amd64.deb
/etc/init.d/zabbix-agent start
Paso 7
Te voy a explicar en este tutorial lo mas básico para agregar un cliente, porque por defecto zabbix server trae configurado varias templates, trigers, action etc… en un segundo post te mostrare mas profundamente este tema
Configuration > Hosts > Create host
hostname es el nombre exacto que debes colocar en zabbix_agentd.conf, este nombre suele ser mas tecnico… ejemplo srv-01, eso no me dice nada, ni siquiera una descripción del servidor
Visible name ya es un nombre mas amigable que te permita a ti como administrador saber cual servidor es… ejemplo Correo
Groups es a que grupo pertenese este hos, o puedes crear uno nuevo en New group
Agent interfaces, puedes monitorear desde mas de 1 interfaz, pero al menos una debe estar declarada por ip address y/o DNS name
Luego le damos a Template y como te comente, ya trae por defecto muchos ya declarados, como http/https, ssh, icmp e incluso algunos que incluyen varios template en uno, como OS Linux.
Primero presionas Select, luego chequea todos los template que necesites y presionas select de esa nueva ventana, por ultimo add
Como ultimo paso te recomiendo activar Host inventory Automatic
Ya para finalizar en el servidor que queremos monitorizar y ya declaramos en el servidor, editamos el archivo agentd
vi /etc/zabbix/zabbix_agentd.conf
Server= ip del servidor
ServerActive=ip del servidor
Hostname=el nombre hostname que colocamos en la configuracion host del server, tiene que ser exactamente igual, mayusculas, espacios, simbolos, sino te dará un error
/etc/init.d/zabbix-agent start
Esto es todo por esta oportunidad en una segunda versión de este tutorial, planeo ir a fondo con todos los trigers, acciones y funciones que puedes explotar de esta aplicación. Gracias y sigan sintonizados
Suena excelente ésta herramienta, espero con ansias el segundo post.
A primera vista pareciera ser una completa y poderosa herramienta. Intentaré configurarla en breve.
Gracias por la información!
Estoy muy interesado en probar herramientas de monitoreo y me gustaría saber cuales creen que son las mejores.
Ya sabia de Zabbix, pero me parece un poco compleja por mis conocimientos, aunque le daré otra oportunidad siguiendo (hasta donde pueda) los pasos de este y los demás artículos que lleguen (Mil Gracias !!). Hazlo lo mas asequible posible por favor :))
Otra herramienta que me parece muy interesante es: GRAFANA que tb tengo que probar. Otra buena creo que es: NAGIOS
Conocéis otras que sean referencia en monitoreo y visualización de datos relativamente sencillas de implementar?
Yo utilizo CACTI y he realizado pruebas con Pandora FMS y ntop
Gran tuturial! esperando con ansias la segunda parte. Buen trabajo