lunes, 27 de abril de 2015

Instalación y Configuración de Zabbix en Debian Wheezy


******* Instalación de Zabbix *******

Instalar debian por defecto. Y actualizarlo. La ip de nuestro equipo, debe ser fija.
#aptitude update
#aptitude upgrade

Vamos a necesitar ssh nmap mc
#aptitude install nmap ssh mc

Instalamos el paquete que contiene la información del repositorio.
# wget http://repo.zabbix.com/zabbix/2.4/debian/pool/main/z/zabbix-release/zabbix-release_2.4-1+wheezy_all.deb
# dpkg -i zabbix-release_2.4-1+wheezy_all.deb
# apt-get update

Instalar mysql
#aptitude install mysql-server

Ingresamos la contraseña deseada para MySQL. Luego nos volverá a pedir para confirmar.
**clave: ZABBIX**

Seteamos en /etc/mysql/my.conf, el encode por defecto para mysql.

/etc/mysql/my.conf

...
...
[mysqld]
...
...
character-set-server=utf8
...
...

Instalamos phpMyAdmin y apache2
aptitude install phpmyadmin apache2

Nos preguntará si queremos configurar nuestra base de datos usando dbconfig-common ... elegimos NO.

Y sobre que tipo de webserver vamos a usar, apache2.

Instalar zabbix.
aptitude install zabbix-server-mysql zabbix-frontend-php

De nuevo preguntará si queremos configurar nuestra base de datos usando dbconfig-common ... elegimos NO.

Instalamos el agente de zabbix
aptitude install zabbix-agent

Instalar la base de datos para zabbix.
En /usr/share/zabbix-server-mysql tenemos los scripts para generar la base de datos para zabbix. Es necesario ejecutar los scripts en el mismo orden que aquí describimos.

Primero, creamos la base de datos.
# mysql -u root -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> quit;

Ahora, procedemos a instalar la base en sí desde los scripts.
# mysql -uroot -p zabbix < ./schema.sql
# mysql -uroot -p zabbix < ./images.sql
# mysql -uroot -p zabbix < ./data.sql

Instalación y Configuración Web

Configurar el frontend de zabbix.

Debemos editar /etc/apache2/conf.d/zabbix
...
...
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 date.timezone America/Caracas
...
...


A continuación, es necesario sintonizar PHP intérprete y ajustar algunos valores con el fin de ejecutar Zabbix Server. Así, Apache abierto php.ini archivo de configuración para la edición emitiendo el siguiente comando:

#nano /etc/php5/apache2/php.ini

Ahora, se debe buscar los siguientes parametros y colocar los siguientes valores de PHP como sigue:

 post_max_size = 16M
 max_execution_time = 300
 max_input_time = 300
 date.timezone = America/Caracas  
 always_populate_raw_post_data = -1

Luego editamos el fichero de configuración del servidor Zabbix para declarar los parámetros de conexión a la base de datos MySQL. Para ello como root ejecutamos los siguientes comandos:

/etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix
DBUser=root
DBPassword=nuestro-pass-para-mysql

Reiniciamos apache
# service apache2 restart


Navega con tu navegador si la instalación es local asi: http: // localhost / zabbix o http: // Dirección IP / zabbix o http: // Nombres de Dominio / zabbix y volverá a dirigir a http: //localhost/zabbix/setup.php 


Nota: Si no se muestra nada en el navegador debe realizar los siguientes pasos:
El directorio se debe copiar a:
mkdir /var/www/zabbix
cd /tmp/zabbix-2.0.6/frontends/php/

cp -a . /var/www/zabbix/

Nota: En caso de no tener la carpeta en /tmp puede descargarla en colocando el siguiente comando en el terminal 
wget http://repo.zabbix.com/zabbix/2.4/debian/pool/main/z/zabbix/zabbix_2.4.0.orig.tar.gz

Una vez que se descargue se debe descomprimir y copiar a /var/www/zabbix
tar xfz zabbix_2.4.0.orig.tar.gz
cd zabbix-2.4.0
cp -R frontends/php/* /var/www/zabbix

Reiniciamos apache
# service apache2 restart

y se vuelve a realizar la busqueda en el navegador.

Pantalla 1: Pantalla de Bienvenida , damos click en aceptar.



Pantalla 2: Pantalla para chequeo de requisitos, damos click en Next.



Pantalla 3: Pantalla de la configuración de la Base de Datos , se debe colocar la clave de root que se coloco
al instalar mysql, damos click en siguiente.



Pantalla 4: Pantalla de los detalles del servidor , opcional: colocar el nombre del servidor, damos click en siguiente.



Pantalla 5: Pantalla del resumen de la instalación, damos click en siguiente.



Pantalla 6: Pantalla de fin de la instalación satisfactoriamente. 



Luego editamos el siguiente archivo /etc/zabbix/zabbix_server.conf y colocamos lo siguiente en cada linea
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=nuestro-pass-para-mysql

Reiniciamos el server zabbix y recargamos el frontend
#/etc/init.d/zabbix-server restart
[ ok ] Stopping Zabbix server: zabbix_server.
[ ok ] Starting Zabbix server: zabbix_server.



Como instalamos Zabbix si tenemos el proyecto en una maquina virtual de un contenedor


Una vez que terminamos la instalación en una maquina virtual debemos configurar en la maquina virtual y en el 
contenedor el servicio Web para eso debemos seguir los siguientes pasos...


Paquetes que se necesitan en la maquina virtual
***Estos paquetes ya fueron instalados***
apache2

Instalación de apache en la maquina virtual
aptitude install apache2

Configuración de los sites-available
nano /etc/apache2/sites-available/monitoreo.canaima.net.conf

y colocamos el siguiente codigo y guardamos la configuración
<VirtualHost *:80>
    ServerAdmin plataforma@gmail.com
    DocumentRoot "/usr/share/zabbix"
    ServerName monitoreo.canaima.net
    ErrorLog "${APACHE_LOG_DIR}/localhost_sitio1-error_log"
    CustomLog "${APACHE_LOG_DIR}/localhost_sitio1-access_log" common
    <Directory "/usr/share/zabbix>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
 Leyenda: 
DocumentRoot "/usr/share/zabbix" --->> Ruta donde por defecto se instala zabbix
ServerName monitoreo.canaima.net --->> Nombre del Servidor
<Directory "/usr/share/zabbix>        --->> Ruta donde por defecto se instala zabbix

Activamos el sitio
a2ensite monitoreo.canaima.net.conf

Una vez se han guardado esos cambios, habrá que ejecutar un comando que es el enlace simbólico de la siguiente manera:
#ln -s /etc/apache2/sites-available/monitoreo.canaima.net.conf /etc/apache2/sites-enabled/monitoreo.canaima.net.conf

Por ultimo hay que reiniciar el servidor Apache para que tome las nuevas configuraciones:
#/etc/init.d/apache2 restart


Paquetes que se necesitan en el contenedor 
nginx

Instalación de nginx
aptitude install nginx

Configuración de los sites-available
nano /etc/nginx/sites-available/zabbix

y colocamos el siguiente codigo y guardamos la configuración
server {
  listen  80;
  server_name monitoreo.canaima.net;

   access_log  /var/log/nginx/zabbix-net.access.log; 
  error_log   /var/log/nginx/zabbix-net.error.log;  

   location / {
      proxy_pass       http://192.168.1.101;        
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }


   error_page   500 502 503 504  /50x.html;
  location = /50x.html {
          root   /var/www/nginx-default;
  }
 }
Leyenda:
server_name monitoreo.canaima.net; --->> Nombre del Servidor
access_log  /var/log/nginx/zabbix-net.access.log; -->> Nombre y ruta de log de acceso
error_log   /var/log/nginx/zabbix-net.error.log;        -->> Nombre y ruta de log de errores
proxy_pass       http://192.168.1.101;                         -->> Ip de la MV del proyecto zabbix

Una vez se han guardado esos cambios, habrá que ejecutar un comando que es el enlace simbólico de la siguiente manera:
#ln -s /etc/nginx/sites-available/zabbix /etc/nginx/sites-enabled/zabbix

Por ultimo hay que reiniciar el servidor nginx para que tome las nuevas configuraciones:
#etc/init.d/nginx restart


Como acceder desde una red externa (CLIENTE) a ese proyecto.

Entras en /etc/hosts de tu equipo (CLIENTE) y colocas la ip publica del servidor o contenedor donde se encuentra la maquina virtual el proyecto y el dominio 

10.16.106.122   monitoreo.canaima.net



y listo ya desde un equipo externo podras entrar colocando http://monitoreo.canaima.net/

4 comentarios:

  1. Excelente documento. Me ha sido de gran ayuda pero tengo una duda: A la hora de acceder via web, cual es el usuario y la contraseña??? He probado con admin - zabbix y nada.

    ResponderEliminar
  2. Nunca di con la clave de Admin, ni en blanco y admin, Admin, etc.

    Solo me quedó hacer desde mysql
    UPDATE users SET passwd=md5('nuevaclave') WHERE alias='Admin';

    Otra cosa es corregir entre otros, el error:
    "PHP databases support off Fail"

    en Debian Jessie se debe editar:

    /etc/php5/apache2/conf.d/05-opcache.ini

    Y agregar:

    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    date.timezone = America/Caracas
    always_populate_raw_post_data = -1
    extension=mysqli.so

    Haciéndo incapié en "extension=mysqli.so"

    Saludos

    ResponderEliminar