Resultados 1 al 7 de 7

Tema: [HOWTO] Instalación, configuración y administración de Zabbix

  1. #1
    El señor de los forillos
    Ubicación
    A Coruña
    Edad
    34
    Mensajes
    2,861

    Predeterminado [HOWTO] Instalación, configuración y administración de Zabbix

    1. Instalación y configuración del servidor

    1.1. Instalación de dependencias

    Antes de proceder a compilar necesitamos instalar las dependencias:
    # yum install gcc httpd make php php-bcmath php-gd php-mbstring php-pgsql php-xml net-snmp-devel postgresql postgresql-devel postgresql-server
    El SGBD empleado es PostgreSQL, pero se pueden usar IBM DB2, MySQL, Oracle o SQLite también.

    1.2. Creación de usuario Zabbix y activación de servicios

    Creamos una cuenta de usuario para utilizar con Zabbix:
    # useradd -s /sbin/nologin zabbix
    Activamos los servicios de HTTP y de BD:
    # chkconfig httpd on
    # chkconfig postgresql on
    Además, inicializamos la base de datos del PostgreSQL y lo arrancamos:
    # service postgresql initdb
    # service postgresql start
    1.3. Configuración de la base de datos

    Primero creamos la base de datos y configuramos las credenciales:
    # su postgres
    postgres$ createdb zabbix
    postgres$ psql
    SQL> CREATE ROLE zabbix WITH LOGIN ENCRYPTED PASSWORD 'contraseña_chachi_piruli';
    SQL> GRANT CREATE,CONNECT ON DATABASE zabbix TO zabbix;
    SQL> \q
    postgres$ exit
    Tenemos además hay que configurar el método de autenticación para la base de datos. Como hemos elegido usar contraseñas encriptadas el método será MD5, por lo que habrá que modificar en el fichero /var/lib/pgsql/data/pg_hba.conf las siguientes líneas:
    local all all ident
    host all all 127.0.0.1/32 ident
    host all all ::1/128 ident
    reemplazando ident por md5. Para que los cambios surjan efecto reiniciamos el servicio:
    # service postgresql restart
    Acto seguido procedemos a cargar los datos:
    # tar zxvf zabbix-VERSION.tar.gz
    # cd zabbix-VERSION/database/postgresql
    # psql -U zabbix zabbix < schema.sql
    # psql -U zabbix zabbix < images.sql
    # psql -U zabbix zabbix < data.sql
    # cd ../..
    Si todo ha ido bien ya estará creada la base de datos y los datos cargados.

    1.4. Compilando

    Llegados a este punto ya estamos listos para compilar:
    # ./configure --enable-server --prefix=/opt/zabbix --with-postgresql --with-net-snmp --with-libcurl
    # make install
    Si no necesitamos soporte para SNMP podemos ovbiar el parámetro --with-net-snmp.

    Es recomendable también instalar el script para controlar el servicio. En nuestro caso:
    # cp misc/init.d/redhat/zabbix_server_ctl /etc/init.d
    1.5. Configuración

    Editamos el fichero /opt/zabbix/etc/zabbix_server.conf y configuramos los parámetros DBName, DBUser y DBPassword.

    Por último copiamos los ficheros de la interfaz web de configuración al directorio donde sirve apache:
    # cp -R frontends/php/* /var/www/html
    1.6. Securización

    En sistemas que implementen SELinux es necesario configurar el parámetro httpd_can_network_connect para permitir que el servidor web pueda establecer conexiones de red para conectarse a la base de datos:
    # setsebool -P httpd_can_network_connect 1
    Además, si pretendemos acceder a la interfaz web desde otra máquina será necesario crear una regla para iptables que permita establecer dicha conexión a través del puerto 80:
    # iptables -t filter -D INPUT -j REJECT --reject-with icmp-host-prohibited
    # iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    # iptables -t filter -A INPUT -j REJECT --reject-with icmp-host-prohibited
    # iptables-save > /etc/sysconfig/iptables
    1.7. Finalizando la instalación

    Para finalizar debemos seguir el asistente web de instalación. Para ello, antes de nada, arrancamos el apache:
    # service httpd start
    Abrimos un navegador y accedemos vía HTTP al servidor:


    Avanzamos a la siguiente pantalla:


    Avanzamos de nuevo:


    Aquí es necesario editar el fichero /etc/php.ini e ir configurando los diferentes parámetros para satisfacer los requisitos del Zabbix. Llegados a este punto podremos avanzar a la siguiente pantalla:


    Aquí configuramos los parámetros referentes a la base de datos. Para comprobar que no hay problemas de conexión podemos clicar en el botón Test connection.

    Avanzamos y en la siguiente pantalla configuramos los parámetros para el servidor, que en nuestro caso dejaremos por defecto:


    Avanzamos y el asistente nos mostrará un sumario con los datos de la instalación:


    Los revisamos y continuamos:


    Llegados a este punto se escribirá el fichero de configuración. Es muy posible que esta operación no se pueda completar debido a la falta de permisos. Si esto ocurre, descargamos el fichero de configuración y lo copiamos a su ubicación haciendo uso de la cuenta de superusuario. Una vez completado este paso clicamos en Retry y el asistente ya debería dejarnos continuar.

    Llegados a este punto ya habremos completado la instalación y configuración del servidor. Procederemos entonces a arrancarlo:
    # service zabbix_server_ctl start
    2. Instalación y configuración del agente

    Para llevar a cabo la monitorización de una máquina es necesario instalar el agente en la misma. Es por ello que tendremos que aplicar este proceso en todas las máquinas que deseemos monitorizar.

    2.1. Preliminares

    Igual que para el caso del servidor, es recomendable crear una cuenta de usuario para ejecutar el agente:
    # useradd -s /sbin/nologin zabbix
    Además, es recomendable añadir, con propósitos informacionales, estas dos líneas al fichero /etc/services:
    zabbix_agent 10050/tcp
    zabbix_trap 10051/tcp
    2.2. Compilando

    $ tar zxvf zabbix-VERSION.tar.gz
    $ cd zabbix-VERSION
    $ ./configure --enable-agent
    $ make
    Si todo ha ido bien se debería haber generado el binario zabbix_agentd en el directorio src/zabbix_agent. Procedemos a copiarlo al directorio /usr/local/bin:
    # cp src/zabbix_agent/zabbix_agentd /usr/local/bin
    2.3. Configuración

    Ahora vamos con la configuración del agente:
    # mkdir /etc/zabbix
    # cp misc/conf/zabbix_agentd.conf /etc/zabbix
    tras lo que procedemos a editar el fichero de configuración, para por ahora sólo editar el parámetro Server, cuyo valor debe ser la dirección IP del servidor.

    Por último, debemos asegurarnos, si utilizamos un cortafuegos, de abrir el puerto 10050 TCP para que el servidor pueda establecer la conexión con el agente.

    3. Tutorial

    3.1. Nociones básicas

    3.1.1. Hosts

    Los hosts representan las máquinas a monitorizar:

    • Configuration -> Hosts

    • Botón Create Host




    • Name: nombre de la máquina.

    • Groups: añadimos los grupos a los que pertenecerá la máquina.

    • Identificación de la máquina: a través de su DNS (DNS name) o de su dirección IP (IP address).

    • Botón Save

    Estos son los pasos para crear un host, pero aún no estamos monitorizando nada. Para ello, antes de nada, vamos a ver los distintos elementos de los hosts, y cuales son sus utilidades:

    • Applications: agrupan items para un mismo dominio de aplicación.

    • Ítems: parámetros de la máquina a monitorizar.

    • Triggers: expresiones lógicas que representan estados del sistema. Son los elementos básicos para detectar problemas en el sistema.

    • Graphs: gráficas.

    Las cosas se ven mas claras con un ejemplo, así que vamos a ello. Vamos a monitorizar 3 parámetros para el host de ejemplo: carga de CPU, memoria libre y estado del servicio SSH. Para ello, vamos a hacer uso de los siguientes elementos:

    • Aplicaciones: Carga del sistema, Servicios.

    • Ítems: 3, uno por cada parámetro a monitorizar.

    • Triggers: 1, para informar si el servicio SSH está caído. Podríamos crear otro para, por ejemplo, informar si menos de una cierta cantidad de memoria está libre.

    • Gráficas: 2, una para la carga de CPU y otra para la memoria.

    Para crear las aplicaciones:

    • En Configuration -> Hosts pinchamos en Applications para el host de ejemplo.

    • Botón Save.


    Con respecto a los ítems vamos a aclarar algunos conceptos:

    • Ítem: representa una métrica de rendimiento o de disponibilidad para algún parámetro del sistema.

    • Varios tipos: del agente, simple checks, SNMP...

    • Formato: clave[parámetro_0, parámetro_1, ..., parámetro_n].

    Y para crearlos:

    • En Configuration -> Hosts pinchamos en Items para el host de ejemplo.

    • Botón Create Item.


    • Description: descripción para el ítem.

    • Type: tipo del ítem.

    • Key: clave del ítem, que está compuesta del nombre del ítem (podeis consultar una lista exhaustiva aquí) y de sus parámetros.

    • Type of information: tipo de métrica del ítem. Por ejemplo, si estamos midiendo memoria libre, podría ser MB.

    • Parámetros referentes a los históricos: update interval, flexible intervals, keep history y keep trends para definir los intervalos de actualización y los tiempos durante los que se guardan datos y tendencias.

    En nuestro ejemplo, usaremos las siguientes claves:

    • Para carga de CPU: system.cpu.load[,avg1]

    • Para memoria libre: vm.memory.size[free]

    • Para el estado de SSH: net.tcp.service[ssh]

    También existe la posibilidad de crear ítems personalizados. Para ello fijamos la opción EnableRemoteCommands=1 en el fichero /etc/zabbix/zabbix_agentd.conf para cada máquina en la que se vayan a crear este tipo de ítems. En el mismo fichero definimos dichos ítems:
    UserParameter=<key>,<shell command>
    Vamos ahora con los triggers:

    • En Configuration -> Hosts pinchamos en Triggers para el host de ejemplo.

    • Botón Create Trigger.




    • Name: nombre del trigger.

    • Expression: expresión lógica que activa el trigger. Pinchamos en el botón Add para configurarla.

    • Severity: nivel de severidad del trigger, subjetivo, dependiendo del impacto del evento sobre el sistema.

    Y por último veamos cómo crear gráficas:

    • En Configuration -> Hosts pinchamos en Graphs para el host de ejemplo.

    • Botón Create Graph.




    • Botón Add para incluír ítems en la gráfica.

    • Posibilidad de incluír varios ítems en una misma gráfica.

    Ya está! Para acceder a la información hay varios métodos, algunos más sofisticados que veremos mas adelante, pero los básicos son los siguientes:

    • A través del Dashboard en Monitoring -> Dashboard.

    • A través de Monitoring -> Overview: ítems y estado de triggers.

    • A través de Monitoring -> Graphs: gráficas.

    3.1.2. Plantillas

    Podemos crear plantillas personalizadas, con su propia configuración de ítems, triggers y/o gráficas.

    • Cada plantilla puede enlazarse a tantos hosts como se desee.

    • Útil para monitorizar los mismos parámetros en varios hosts.

    • Configuration -> Templates -> Create Template


    • En Configuration -> Templates podemos añadir aplicaciones, ítems, trigguers y/o gráficas a la plantilla.

    • Misma forma de proceder que para los hosts.


    Pero... ¿cómo enlazar dichas plantillas a los hosts?

    • Al crear el host.

    • En hosts ya creados: Configuration -> Hosts y pinchamos en el host a enlazar.

    • Sección Linked templates.

    Podemos proceder de 3 formas con las plantillas:

    • Add: enlaza el host a una plantilla. Posibilidad de enlazar a varias.

    • Unlink: desenlaza el host de la plantilla seleccionada. No se borran los elementos importados de ésta.

    • Unlink and clear: desenlaza el host de la plantilla seleccionada. Se borran los elementos importados de ésta.

    3.2. Monitorización personalizada

    Hay varias formas de monitorizar los hosts:

    • Dashboard: Monitoring -> Dashboard.

    • Ítems y estado de trigguers: Monitoring -> Overview.

    • Gráficas: Monitoring -> Graphs.

    • Monitorización personalizada a través de Screens y Slides shows.

    Los Screens:

    • Permiten agrupar información personalizada y mostrarla por pantalla.

    • Son tablas en las que cada celda puede contener uno de los siguientes elementos:

    • Gráficas

    • Mapas

    • Información en texto plano

    • Otros screens

    • ...

    Los Slide shows:

    • Agrupan un conjunto de screens que son rotados de acuerdo a unos intervalos de actualización.

    • Útil para monitorizar varios parámetros de varias máquinas: un screen por máquina y un slide show que irá mostrando el estado de todas las máquinas.

    Veamos entonces cómo crear un Screen:

    • Configuration -> Screens -> Create Screen.




    Para añadir un elemento a una celda pinchamos en Change:


    Como ejemplo, y para ver como luce:


    Versión 2012.05.31 - En proceso de actualización a la versión 2.0 de Zabbix
    Última edición por Mircho; 31/05/2012 a las 10:59
    PC1: Intel Pentium 4 2,4GHz HT | 1GB DDR | Intel 865G | Powered by Debian GNU/Linux 7
    PC2: AMD Sempron 3100+ | 2GB DDR | XFX 8600GT | Powered by Windows 7
    Portátil: Intel Core i3-2310M | 8GB DDR3 | Intel HD3000 | Powered by Fedora GNU/Linux 20 x86_64

    Si eres usuario de GNU/Linux no olvides visitar este hilo

  2. #2
    El señor de los forillos
    Ubicación
    A Coruña
    Edad
    34
    Mensajes
    2,861

    Predeterminado Re: [HOWTO] Instalación, configuración y administración de Zabbix

    reservado
    Última edición por Mircho; 15/05/2012 a las 10:35
    PC1: Intel Pentium 4 2,4GHz HT | 1GB DDR | Intel 865G | Powered by Debian GNU/Linux 7
    PC2: AMD Sempron 3100+ | 2GB DDR | XFX 8600GT | Powered by Windows 7
    Portátil: Intel Core i3-2310M | 8GB DDR3 | Intel HD3000 | Powered by Fedora GNU/Linux 20 x86_64

    Si eres usuario de GNU/Linux no olvides visitar este hilo

  3. #3
    El señor de los forillos
    Ubicación
    A Coruña
    Edad
    34
    Mensajes
    2,861

    Predeterminado Re: [HOWTO] Instalación, configuración y administración de Zabbix

    reservado2
    PC1: Intel Pentium 4 2,4GHz HT | 1GB DDR | Intel 865G | Powered by Debian GNU/Linux 7
    PC2: AMD Sempron 3100+ | 2GB DDR | XFX 8600GT | Powered by Windows 7
    Portátil: Intel Core i3-2310M | 8GB DDR3 | Intel HD3000 | Powered by Fedora GNU/Linux 20 x86_64

    Si eres usuario de GNU/Linux no olvides visitar este hilo

  4. #4

    Predeterminado Re: [HOWTO] Instalación, configuración y administración de Zabbix

    No había oído hablar de Zabbix. Le echaré un vistazo y leeré todo con calma cuando esos Continuará se transformen en instrucciones. Como siempre, gracias por compartir cosillas.
    Para resolver dudas de Linux que no aclares aquí de forma más fluída puedes ingresar en irc a la sala n3d-linux. Más información en este hilo:
    http://foro.noticias3d.com/vbulletin...d.php?t=367711

    La máquina: Athlon II X4 620 + Gigabyte 785GMT-UD2H + 4GB DDR3 + SSD OCZ Vertex 2 60GB
    Lo mueve: ArchLinux x86_64 + Openbox

  5. #5
    Sin vida social
    Ubicación
    Galiza
    Edad
    32
    Mensajes
    344

    Predeterminado Re: [HOWTO] Instalación, configuración y administración de Zabbix

    Es la primera vez que oigo hablar de Zabbix.

    Los que conozco son Ntop, cacti y mrtg (solo gráficas)

    Alguna diferencia o mejora con respecto a los que he citado?
    PC - Caja: Nox Coolbay Window Fuente: OCZ ModZStream PRO 500W Modular Placa: Asus M4A785 TD-V EVO Procesador: AMD Phenom II x4 955 BE 3,2Ghz Memoria: Mushkin Blackline 10666 DDR3 1333 4GB 2x2GB CL7 DD 1: Western Digital caviar Black 500GB DD 2: Samsung Spinpoint F4EG 2TB Monitor: BenQ G920Wl LED 19"

    S.O:
    Archlinux x86_64 KDE 4.7.4

    [Review] Caja mini-ITX Lc-power LC-1340mi




  6. #6
    El señor de los forillos
    Ubicación
    A Coruña
    Edad
    34
    Mensajes
    2,861

    Predeterminado Re: [HOWTO] Instalación, configuración y administración de Zabbix

    Cita Iniciado por viejozorro Ver mensaje
    Es la primera vez que oigo hablar de Zabbix.

    Los que conozco son Ntop, cacti y mrtg (solo gráficas)

    Alguna diferencia o mejora con respecto a los que he citado?
    Pues yo sólo he usado Zabbix, así que poco te puedo decir a este respecto.

    Salu2
    PC1: Intel Pentium 4 2,4GHz HT | 1GB DDR | Intel 865G | Powered by Debian GNU/Linux 7
    PC2: AMD Sempron 3100+ | 2GB DDR | XFX 8600GT | Powered by Windows 7
    Portátil: Intel Core i3-2310M | 8GB DDR3 | Intel HD3000 | Powered by Fedora GNU/Linux 20 x86_64

    Si eres usuario de GNU/Linux no olvides visitar este hilo

  7. #7
    El señor de los forillos
    Ubicación
    A Coruña
    Edad
    34
    Mensajes
    2,861

    Predeterminado Re: [HOWTO] Instalación, configuración y administración de Zabbix

    Hola a tod@s, ya está la primera versión del tutorial, con esta información al menos ya se pueden hacer monitorizaciones básicas, aunque lo iré extendiendo poco a poco con el tiempo.

    Salu2
    PC1: Intel Pentium 4 2,4GHz HT | 1GB DDR | Intel 865G | Powered by Debian GNU/Linux 7
    PC2: AMD Sempron 3100+ | 2GB DDR | XFX 8600GT | Powered by Windows 7
    Portátil: Intel Core i3-2310M | 8GB DDR3 | Intel HD3000 | Powered by Fedora GNU/Linux 20 x86_64

    Si eres usuario de GNU/Linux no olvides visitar este hilo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •