sábado, 22 de julio de 2017

Zabbix

Instalación de Zabbix 3.2

Instalación de los repositorios de zabbix 3.2

1º Descargamos los repositorios con el comando wget
# wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb


2º Lo desempaquetamos en instalamos en nuestro repositorio con el comando dpkg -i
# dpkg -i zabbix-release_3.2-1+xenial_all.deb


3º Actualizamos los repositorios con el siguiente comando
# apt-get update


Instalación de paquetes

1º con el comando apt-get install instalamos los siguientes paquetes
# apt-get install zabbix-server-mysql zabbix-frontend-php php-bcmath php-mbstring php-xmlwriter php-xmlreader
 
 

Creación de la base de datos

Introducimos el siguiente comando con la contraseña de mysql, por defecto esta vacía así que con pulsar la barra espaciadora cuando te pida password entra directamente.
# mysql -uroot -p 
 
 
2º Creamos la base de datos zabixx con codificación utf8
mysql> create database zabbix character set utf8 collate utf8_bin;
 
 
3º creamos el usuario zabbix en la base de datos zabbix con todos los privilegios y le añadimos un password
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
 
4º Cerramos la sesión de mysql.
mysql> quit;
 
 
5º con el comando zcat podemos abrir archivos comprimidos con la tubería “|” concatenamos comandos en este caso con mysql ejecutamos la consola SQL y con –u<nombreusuario> -p<contraseña>

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql 
-uzabbix -pzabbix

 

 

Configuración de la base de datos para el servidor Zabbix

1º Abrimos el fichero zabbix_server.conf
# nano /etc/zabbix/zabbix_server.conf
 
 
2º Editamos las siguientes líneas con el nombre y usario creado anteriormente en la consola de mysql:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
 
 

Configurar el proceso zabbix de inicio

1º Con este comando iniciamos el servicio
# service zabbix-server start
 
2º Con este siguiente lo habilitamos para que inicie siempre que iniciemos el S.O.
# update-rc.d zabbix-server enable
 

 

Configuración del fichero PHP

1º Abrimos el fichero apache.conf
# nano /etc/zabbix/apache.conf
 
2º Y revisamos los siguientes valores:
 
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
# php_value date.timezone Europe/Riga
 
3º Por último reiniciamos el servicio de apache para que se apliquen los cambios
# service apache2 restart





 

Instalación de la interfaz web de zabbix

Introducimos en el navegador la url localhost/zabbix
Si entras desde otro pc tienes que poner la ip del servidor seguido de /zabbix para entrar
El comando para saber la ip es:
# ifconfig

 
 
  
  
  
  
  
  
  
  
  
  
  
  
 
 
 

 
 
 
El mismo usuario y contraseña que configuramos en el fichero zabbix_server.conf
 

 




Le añadimos un nombre



Revisamos la configuración y si esta correcta pasamos a la siguiente pantalla

Con esta pantalla ya tenemos listo la instalación de zabbix

Para terminar entramos en la plataforma usando el usuario por defecto Admin y password zabbix


 

Agregar un “Host” equipo a zabbix


En zabbix tenemos varias maneras de monitorizar un equipo mediante la instalación de un agente o usando los protocolos SNMP,  JMX y  IPMI.
Nosotros nos centraremos en el Agente y el protocolo SNMP.

Protocolo Simple de Administración de Red (SNMP).


Es un protocolo que facilita el intercambio de información entre dispositivos de red. Esta información se refiere a la administración de los dispositivos, estos pueden ser switchs, routers, servidores, equipos… entre otros muchos.

Permite la supervisión de la red, detectando problemas, resolverlos y planificar su crecimiento.

Este protocolo de la capa de aplicación, cuya última versión es la SNMP v3, se  compone de un conjunto de normas para la gestión de redes, incluye una capa de aplicación del protocolo, una base de datos de esquema y conjunto de objetos de datos.


Componentes básicos
·    Sistemas administradores de red (Network Managament Systems)
            Ejecutan aplicaciones que supervisan y controlan los dispositivos administrados, proporcionan el volumen requerido de procesamiento y memoria para la administración de la red.

·    Dispositivos administrados
            Contienen un agente SNMP, pueden ser routers, switchs, servidores, etc.

·    Agente
            Es un módulo de software de administración de red que se encuentra en un       dispositivo administrado. Posee un conocimiento local de la información de red.

Comandos básicos
Son cuatro los comandos SMNP básicos, lectura, escritura, notificación y operaciones transversales.
·    El de lectura sirve para supervisar los elementos de red. Examina diferentes variables que se mantienen por los dispositivos.
·    El de escritura controla los elementos de red. El NMS cambia los valores de las variables almacenadas por los dispositivos.
·    El de notificación es usado  por los dispositivos administrados para reportar eventos en forma asíncrona a un NMS.
·    Las operaciones transversales son usados por el NMS para determinar qué variables soporta un dispositivo administrado y para recoger secuencialmente información en tablas de variables.


Desde aquí podemos hacer un seguimiento de los equipos que hayamos agregado con una breve descripción de las plantillas utilizadas, el estado y el estado del protocolo instalado en el cliente.

Monitorizacion mediante Agente

Instalación Agente en cliente


Lo primero que debemos hacer es irnos  a la maquina a monitorizar e instalarle el cliente, para ello iremos a la web de zabbix y descargaremos de los agentes el que viene para Windows ya que en nuestro caso la máquina que queremos monitorizar tiene el S.O. Windows


Lo siguiente seria configurar el fichero zabbix_agentd.win con la dirección del servidor zabbix y una pequeña descripción del equipo monitorizado para ello abrimos el fichero y editamos las siguientes líneas:
Server = Ip del servidor
Hostname = nombre del equipo

Por último, mediante consola de comandos instalamos el agente y y lo iniciamos con los siguientes comandos:
C:\zabbix/zabbix_agentd.exe -c c:/zabbix/zabbix_agentd.win.conf -i
C:\zabbix/zabbix_agentd.exe -c c:/zabbix/zabbix_agentd.win.conf –s


Configuración Agente en Zabbix


Para añadir un Host a zabbix vamos a Configuration> Host > Create Host
Una vez aquí debemos añadir la ip del equipo a monitorizar con el agente previamente instalado y asignar a un grupo, esto es simplemente para tener los equipos organizados por grupos.

Por último nos vamos al apartado de los “templates” que no son más que plantillas con unas configuraciones estándar de la monitorización de ciertos aspectos de un pc ya previamente configuradas como por ejemplo, el uso de la interfaz de red, la capacidad del disco duro, la memoria RAM, etc..


Monitorización mediante protocolo SNMP


Configuración protocolo SNMP en cliente Windows


Para poder monitorizar mediante este protocolo el pc en cuestión debe tener instalado el servicio SNMP, si no es asi debemos proceder a instalarlo desde “Activar o desactivar características de Windows”.

Una vez instalado procedemos a configurar el cliente SNMP desde “servicios” de Windows.
Lo primero a configurar en la pestaña “Capturas” seria el nombre de la comunidad y el destino de las capturas, en nuestro caso el servidor Zabbix.

Nos situamos en la pestaña “Seguridad”, añadimos la comunidad con sus derechos de lectura y escritura y marcamos la opción de aceptar los paquetes de cualquier host.

Configuracion del protocolo SNMP en Zabbix


Para poder monitorizar mediante el protocolo snmp primero hay que instalar esta característica en nuestro S.O. mediante el comando:
# apt-get install snmp snmp-mibs-downloader

Agregar un host mediante SNMP


El proceso es muy similar al del agente solo hay que añadir la dirección IP del cliente en el apartado “SNMP Interfaces”.


Añadir la plantilla correspondiente en Templates y en el apartado macros crear la macro {$SNMP_COMMUNITY} e introducirle como valor el nombre de la comunidad creada.

 

Creación de aplicaciones específicas para zabbix

Desde zabbix podemos crear aplicaciones específicas y añadirlas a nuestra plantilla para añadirle más funciones.
Para ello entramos en nuestro host y creamos una aplicación nueva a la que vamos a asociar un “Item” que es el elemento que se encarga de mostrarnos como resultado, la información en solicitada en unos valores previamente configurados.
En nuestro caso vamos a crear un ítem que nos devuelva el estado de un servicio de Windows.
Para esta función debemos configurar el ítem una “Key” asociada a esa función, las key se comunican directamente con el equipo y son parámetros que extraen cierta información concreta del sistema.
Para nuestro caso debemos seleccionar la key “service.info[nombre_del_servicio]” y configurar los demás parámetros como el tipo del dato y la información.


Por último lo asociamos a la aplicación previamente creada y lista.

 

Creación de Triggers


Los triggers son los avisos que tiene el sistema para informarte de lo que está sucediendo en el equipo monitorizado y se clasifican en 5 grupos Not Classified, Information Warning Average High y Disaster.
Normalmente lo triggers no hay que crearlos ya que en las plantillas por defecto te vienen montones de triggers ya previamente configurados.
En el caso que hiciera falta crearlos nos dirigimos a Configuration > Hosts > Triggers.
Una vez aquí escribimos la expresión que nos creara el aviso en el caso de que el servicio indicado se pare, para ello escribimos la expresión con el siguiente variante al final prev()}=6 que nos indica que cuando nos de un valor de estado igual a 6 (este es el valor numérico que representa el estado de “parado”) nos de un aviso de Warning.

 

Crear Pantallas “Screens”

Las pantallas que se pueden diseñar son muy útiles a la hora de monitorizar, pues puedes elegir aquellas gráficas, o datos que quieres que se expliciten, lo que permite una mejor organización de la información a controlar de los dispositivos administrados.
Para ello usamos el comando Screen, en la que se pueden crear las pantallas, a continuación un procedimiento básico.
En Monitoring, en Screens, le damos a Create screen.







Aparece  Screens
En Owner, seleccionamos el propietario, luego el nombre, después las dimensiones de la pantalla.


Ahora procedemos a diseñar la pantalla propiamente dicha.
Hemos elegido una configuración básica que es para un solo gráfico












Aquí se puede elegir el tipo de gráfico que queremos nos aparezca o cualquier otro tipo de información que nos interese. Además de las dimensiones del gráfico, su disposición, tamaño.














Se puede elegir entre un numeroso conjunto de gráficos predefinidos.

Pantallas Complejas.

Se pueden diseñar pantallas más complejas:
Permiten de un vistazo saber la información del dispositivo que nos interesa monitorizar