Zabbix 3.2 8 qué agente instalar. Instalación y configuración de agentes Zabbix en sistemas operativos Windows y Linux (Ubuntu, Debian)

Veamos cómo instalar y configurar. agentes zabbix para monitorear sistemas OS ventanas Y linux. De acuerdo a esto he desplegado Servidor Zabbix 3.2.5, en consecuencia, todos los agentes serán versiones instaladas 3.2 .

Instalación del agente Zabbix en el sistema operativo Windows

Descargar desde de. sitio Agente Zabbix para ventanas sistemas

Desempaquete el archivo descargado y ejecútelo línea de comando de administrador. Vaya al directorio con los archivos de instalación del agente (para que el agente funcione correctamente, tenga en cuenta la profundidad de bits del sistema):

CD C:\zabbix_agents_3.2.0.win\bin\win64

Para instalar una única instancia del agente Zabbix con un archivo de configuración c:\zabbix_agentd.conf Por defecto ejecutamos:

Zabbix_agentd.exe --instalar

También es posible durante la instalación especificar una ruta al archivo de configuración distinta a c:\zabbix_agentd.conf. para hacer esto hacemos:

Zabbix_agentd.exe --config<полный_путь_к_файлу_конфигурации>--instalar

Puede instalar varias instancias del agente Zabbix como servicios, algo como esto:

Zabbix_agentd.exe --config<файл_конфигурации_для_экземпляра_1>--instalar --multiple-agents zabbix_agentd.exe --config<файл_конфигурации_для_экземпляра_2>--instalar --multiple-agents ... zabbix_agentd.exe --config<файл_конфигурации_для_экземпляра_N>--instalar --multiple-agentes

Configurando el agente Zabbix

Ahora necesita configurar el archivo de configuración del agente. La plantilla de configuración se encuentra en el directorio de instalación del agente en la carpeta confinar, archivo zabbix_agentd.win.conf.

Si se realizó una instalación normal, copie la plantilla. zabbix_agentd.win.conf a la raíz del disco DO:\ y cambiar el nombre del archivo a zabbix_agentd.conf.

Si la instalación se realizó especificando la ruta al archivo de configuración, copie la plantilla zabbix_agentd.win.conf a la carpeta que se especificó al instalar el agente Zabbix y cambie el nombre del archivo a zabbix_agentd.conf.

Configuramos el archivo de configuración. Traemos los siguientes parámetros al archivo para formar:

Servidor= ServidorActivo= Nombre de hostItem=sistema.nombre de host

Iniciando el servicio del agente Zabbix

Iniciamos el servicio de agente Zabbix. ComenzarPanel de controlAdministraciónServicios. Encontrar un servicio Agente Zabbix y presione Lanzamiento.

También puede iniciar el servicio desde línea de comando. Para iniciar una única instancia de agente Zabbix con un archivo de configuración predeterminado:

Zabbix_agentd.exe --inicio

Para iniciar una única instancia del agente Zabbix con un archivo de configuración diferente al predeterminado:

Zabbix_agentd.exe --config<ваш_файл_конфигурации>--comenzar

Para lanzar una de varias instancias del agente Zabbix:

Zabbix_agentd.exe --config<файл_конфигурации_этого_экземпляра>--start --multiple-agentes

Detener el servicio del agente Zabbix

Deteniendo el servicio del agente Zabbix. ComenzarPanel de controlAdministraciónServicios. Encontrar un servicio Agente Zabbix y presione Detener

.

Deteniendo el agente Zabbix que se ejecuta con el archivo de configuración predeterminado:

Zabbix_agentd.exe --detener

Detener un agente Zabbix que se ejecuta con un archivo de configuración diferente:

Zabbix_agentd.exe --config<ваш_файл_конфигурации>--detener

Detener una de varias instancias del agente Zabbix:

Zabbix_agentd.exe --config<файл_конфигурации_этого_экземпляра>--stop --multiple-agentes

Eliminando el servicio del agente Zabbix

Desinstalar un agente Zabbix que usa el archivo de configuración predeterminado:

Zabbix_agentd.exe --desinstalar

Desinstalar un agente Zabbix que no utiliza el archivo de configuración predeterminado:

Zabbix_agentd.exe --config<ваш_файл_конфигурации>--desinstalar

Eliminación de múltiples instancias del agente Zabbix de los servicios de Windows:

Zabbix_agentd.exe --config<файл_конфигурации_экземпляра_1>--desinstalar --multiple-agents zabbix_agentd.exe --config<файл_конфигурации_экземпляра_2>--desinstalar --multiple-agents ... zabbix_agentd.exe --config<файл_конфигурации_экземпляра_N>--desinstalar --multiple-agentes

Si no puede eliminar el servicio utilizando los métodos enumerados anteriormente, puede eliminar el servicio utilizando las herramientas de Windows deteniéndolo primero y ejecutándolo en la línea de comando con derechos de administrador:

Sc eliminar [nombre del servicio]

Esto completa la instalación del agente Zabbix en el sistema operativo. ventanas completado, ahora veamos cómo instalar el agente en el sistema operativo linux.

Instalación del agente Zabbix en el sistema operativo Linux (Ubuntu, Debian)

Instalación agente zabbix Lo consideraré en Servidor Ubuntu 14.04.

Descargue el paquete requerido e instálelo:

Wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+trusty_all.deb sudo dpkg -i zabbix-release_3.2-1+ confianza_all.deb

Actualizamos los datos del repositorio e instalamos el propio agente:

Sudo apt-get update sudo apt-get install zabbix-agent

Configuramos el agente Zabbix, el archivo de configuración se encuentra en /etc/zabbix/zabbix_agentd.conf. Editémoslo:

Sudo nano /etc/zabbix/zabbix_agentd.conf

Y hacemos los siguientes cambios:

Servidor= ServerActive= HostnameItem=system.hostname Include=/etc/zabbix/zabbix_agentd.conf.d/

Guarde los cambios en el archivo y reinicie el servicio. agente zabbix:

Reinicio del agente zabbix del servicio Sudo

Eso es todo para la instalación y configuración. agente zabbix terminado. Ahora veamos cómo crear hosts en realidad. servidor Zabbix.

Agregar hosts al servidor Zabbix

vamos a servidor Zabbix, a través de la interfaz web. sigamos adelante Ajustes(Configuración)- Nodos de red(Anfitriones) y haga clic Crear un anfitrión(Crear anfitrión)

Pestaña Nodo de red(Anfitrión). Configure el nombre del host, agregue el host al grupo, si el grupo deseado no está en la lista, entonces en el campo Nuevo grupo(Nuevo Grupo) indicar el nombre del grupo. en el campo Interfaces de agente, puede elegir qué método agregar un nodo de red, mediante dirección IP o según él DNS nombre.

Ir a la pestaña Plantillas(Plantillas). en el punto Conéctate con nuevas plantillas(Enlace nuevas plantillas):

  • Para ventanas elegir Plantilla de sistema operativo Windows
  • Para linux elegir Plantilla SO Linux

Hacer clic Agregar(Agregar) para asignar la plantilla seleccionada a este nodo de red.

Vemos lo que hay en el gráfico. Plantillas adjuntas(Plantillas vinculadas), aparece la plantilla seleccionada. Hacer clic Agregar(Actualizar).

Todos los nodos de red ahora agregados estarán bajo supervisión. servidores Zabbix. Para aclarar el proceso, veamos el monitoreo en acción, sigamos adelante EscuchaGráficos, elija qué gráfico queremos ver, en mi caso elegí mostrar cuánto espacio en disco está ocupado D.

Así es como se agregan los nodos de red al servidor Zabbix. Me gustaría llamar su atención sobre el hecho de que el ejemplo presentado es un método básico para agregar y usar plantillas incluidas en Zabbix. De hecho, Zabbix es un constructor en el que puedes implementar sistemas de monitoreo complejos para nodos de red, luego solo tu fantasía.

Se han escrito muchos artículos sobre cómo configurar el monitoreo de ciertos dispositivos usando el servidor Zabbix y los agentes Zabbix. Pero todos los ejemplos se reducen a instalar un agente en una computadora, por ejemplo con Windows, agregar un nodo de red en el servidor como agente normal (no activo) y todo funciona bien ya que tienen conectividad IP y se ven. Algunos ejemplos muestran cómo reenvían el puerto 10050 al dispositivo que necesita ser monitoreado y luego también lo configuran.

Es interesante, en todos estos ejemplos nadie dice qué hacer cuando hay 100 dispositivos y reenviarles un puerto no parece una buena idea.

Pero todos estos son ejemplos en los que el servidor Zabbix está ubicado detrás de NAT o, en general, en una red enrutada con conectividad IP. Pero ¿qué pasa si realmente necesitas monitorear 100 o más dispositivos? Aquí es donde el agente zabbix en modo activo viene al rescate. ¿Qué significa modo activo? El hecho es que no es el servidor el que sondeará periódicamente al agente, sino que el agente se conectará al servidor para ver qué datos debe recopilar y, después de recopilarlos, los enviará al servidor.

Se ha escrito mucho sobre este tema, pero no hay ejemplos específicos.

Por lo tanto, en este artículo describiré un método paso a paso para configurar enrutadores y el servidor y agente Zabbix, que utilizamos en nuestra práctica de mantenimiento de servidores y equipos de red para suscriptores. De ninguna manera pretendo que mi opción sea la más correcta :). Quiero ayudar más a comprender a aquellos que recién comienzan a comprender qué y cómo.

Entonces tenemos el siguiente diagrama.

Por razones obvias, sobrescribiré los dos últimos octetos de IP blanca.

El servidor SRV03 está ubicado detrás de NAT, en el enrutador MikroTik, srcnat masquerade está configurado para la red 192.168.0.0\24

Instale el agente Zabbix en el servidor SRV03

En la línea Servidor y Servidor Activo escribimos la ip blanca de nuestro enrutador en la que luego reenviaremos el puerto al servidor Zabbix. Las líneas comentadas no se cuentan.

Vamos a MikroTik en LAN 2 y establecemos una regla para reenviar el puerto 10051 a nuestro servidor Zabbix.

Pruebe enviar todas las conexiones que llegan a la interfaz ether1-WAN en el puerto 10051 a la dirección 192.168.45.18 con el puerto 10051.

Ahora iniciemos nuestro agente Zabbix en el servidor. Vemos que el archivo de registro dice que el agente se inició normalmente, pero al conectarse, no encontró comprobaciones activas para el host SRV03, es decir, para sí mismo.

Esto es comprensible ya que aún no se ha creado nada, hagámoslo. Creemos un nodo de red con el nombre SRV03 exactamente igual al nombre del servidor, no funcionará con nada más, ten esto en cuenta;

En el campo de interfaces del agente, escriba la ip blanca del enrutador (no la ip gris del servidor en sí), detrás de la cual se encuentra nuestro puerto SRV03, escriba 10051 (es el valor predeterminado para comprobaciones activas) y guarde.

Después de reiniciar el servicio, vemos en el archivo de registro que no hay ningún mensaje sobre comprobaciones no encontradas para SRV03, lo que significa que se conectó correctamente al servidor Zabbix y se encontró allí.

Según la idea, en la columna de disponibilidad debería encenderse el “ZBX” verde, pero cuando el agente está corriendo en modo activo, esto no sucede en modo normal, sí se enciende;

Para comprobar si todo realmente funciona, puede agregar elementos de datos y ver si los distintos parámetros provienen del SRV03. Tengo una plantilla en la que ya se han creado desencadenantes y elementos de datos.

Tenga en cuenta que al crear un ED, debe seleccionar Tipo: Agente Zabbix (activo).

Ver si van entrando datos y vemos que todo funciona.

resumámoslo

1) En la configuración del agente Zabbix en Server Aktive escribimos la ip blanca del enrutador detrás del cual ZServer

2) En este enrutador reenvía el puerto 10051 a ZServera

3) Cree un nodo de red con el mismo nombre que la PC uno a uno.

4) Agregue elementos de datos seleccionando el tipo “: agente Zabbix (activo)”.

5) Y el camino no te confunde con el icono gris “ZBX”

El 1 de octubre de 2018 se lanzó una nueva versión del sistema de seguimiento gratuito, que uso constantemente. Hablaré en detalle sobre la instalación y configuración inicial de Zabbix 4.0 usando el ejemplo de los sistemas CentOS, Debian, Ubuntu con capturas de pantalla y explicaciones. Esta versión tiene muchas innovaciones interesantes y útiles, por lo que definitivamente vale la pena echarle un vistazo.

Hoy en día, en mi opinión, de los sistemas de monitorización gratuitos, Zabbix es el más popular y funcional. Constantemente veo menciones al respecto en artículos técnicos de especialistas de diversos tamaños y organizaciones. Por ejemplo, SberTech utiliza Zabbix como plataforma de seguimiento unificada. El departamento de TI de la cadena de tiendas Magnit también utiliza zabbix como principal sistema de seguimiento. Hace un par de años vi un discurso de un representante del departamento de TI de Magnit, donde describió en detalle la estructura del sistema. En ese momento, era la instalación de Zabbix más grande con miles de servidores proxy para recopilar datos de tiendas de todo el país. Conocí referencias al monitoreo de Zabbix de especialistas de 1C, Croc, Yandex.Money y otros. Sólo enumeré lo que recuerdo.

Debe comprender que Zabbix es un sistema de monitoreo de propósito general. No tiene especialización en microservicios, redes, hardware, etc. En este sentido, siempre puede haber una herramienta que pueda realizar una tarea concreta de forma más cómoda y eficiente que zabbix. Pero esto no resta valor al resto de ventajas del sistema. Los veo principalmente en el hecho de que puedes configurar el seguimiento de lo que quieras. Lo principal es aprender a introducir valores en el sistema. Y para ello existen muchas herramientas, tanto los propios agentes como los scripts que pueden conectarse a la recopilación de datos.

El sistema de monitoreo Zabbix le permite instalar todos los servicios compatibles de una forma u otra. En algunos lugares esto puede no resultar muy sencillo, pero en cualquier caso una herramienta universal es más cómoda que varias. Siempre he podido configurar el monitoreo deseado usando Zabbix. Si no había plantillas listas para usar o agentes adecuados para la recopilación, escribía scripts y los usaba para transferir datos al agente. Puede encontrar mis (y no solo) soluciones de monitoreo en una sección separada.

Lo que más me cautiva de zabbix es su buena documentación y su gran comunidad. Muchas presentaciones de varios especialistas que describen implementaciones. Todo esto facilita el trabajo con el sistema. Es más fácil decidir qué hacer en una situación determinada. Los propios desarrolladores celebran reuniones constantemente, invitan a ponentes y luego publican vídeos. En general, el sistema deja una impresión favorable por todos lados.

Instalaré y configuraré el servidor zabbix en nginx, que es ligeramente diferente de la instalación predeterminada, que incluye el servidor web apache. En este sentido, tendremos que prepararnos.

Preparando el servidor CentOS para la instalación

En primer lugar, necesita un servidor CentOS 7. Antes de instalar el servidor Zabbix, también necesitamos preparar el servidor web. Tengo un artículo aparte sobre. Allí se describe todo en detalle. Ahora realizaré brevemente y sin comentarios innecesarios las acciones mínimas necesarias para que Zabbix funcione. Además, no me extenderé más. Este es un tema aparte y no quiero tocarlo en este artículo. Configúrelo usted mismo según mis instrucciones o simplemente desactive el firewall:

# systemctl detener firewalld # systemctl desactivar firewalld

Conecte el repositorio nginx e instálelo:

# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # yum instalar nginx

Inicie nginx y agréguelo al inicio.

Comprobemos si funciona. Para hacer esto, abra el enlace http://192.168.13.117/ en el navegador, donde 192.168.13.117 es la dirección IP del servidor que se está configurando.

Si nginx no le funciona, corríjalo antes de continuar. En primer lugar, verifique la configuración de su firewall.

# yum install epel-release # rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Activamos el nabo remi-php71, para ello ejecutamos los comandos:

# yum install yum-utils # yum-config-manager --enable remi-php71

Instale php 7.1 y sus módulos.

# yum install php71 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php- bcmmatemáticas

Inicie php-fpm y agréguelo al inicio.

# systemctl iniciar php-fpm # systemctl habilitar php-fpm

Comprobemos si ha comenzado.

#netstat-tulpn | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* ESCUCHAR 13261/php-fpm: mástil

Todo está bien, comenzó en el puerto 9000. Iniciémoslo a través de un socket Unix. Para hacer esto, abra la configuración. /etc/php-fpm.d/www.conf y comenta la línea:

# medit /etc/php-fpm.d/www.conf; escuchar = 127.0.0.1:9000

En su lugar, agregamos algunos otros:

Escuchar = /var/run/php-fpm/php-fpm.sock escuchar.modo = 0660 escuchar.propietario = nginx escuchar.grupo = nginx

Al mismo tiempo, cambie el usuario bajo el cual se ejecutará php-fpm. En lugar de Apache, especifique nginx editando los parámetros apropiados.

Usuario = nginx grupo = nginx

Reinicie php-fpm.

# systemctl reinicia php-fpm

Comprobamos si se ha iniciado el socket especificado.

# ll /var/run/php-fpm/php-fpm.sock srw-rw----. 1 nginx nginx 0 4 de octubre 15:08 /var/run/php-fpm/php-fpm.sock

Por el momento hemos terminado con la configuración de php-fpm. Seguimos preparando el servidor para instalar zabbix.

Instale la última versión de MariaDB. Conecte el repositorio. Para hacer esto, cree un archivo /etc/yum.repos.d/mariadb.repo el siguiente contenido.

# mcedit /etc/yum.repos.d/mariadb.repo # Lista de repositorios de CentOS de MariaDB 10.3: creada el 4 de octubre de 2018 a las 12:10 UTC # http://downloads.mariadb.org/mariadb/repositories/ name = baseurl de MariaDB = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1

Instalación de la última versión de mariadb en centos.

# yum instala el servidor MariaDB el cliente MariaDB

Inicie mariadb y agréguelo al inicio.

# systemctl iniciar mariadb # systemctl habilitar mariadb

Hagamos algunos cambios en la configuración estándar de mariadb para no tener que lidiar con eso más tarde. Para hacer esto, abra la configuración de mysql. /etc/my.cnf.d/server.cnf y llevarlo al siguiente formulario.

# mcedit /etc/my.cnf.d/server.cnf puerto = 3306 socket = /var/lib/mysql/mysql.sock default-character-set=utf8 Character_set_server=utf8 collation-server=utf8_bin init_connect="ESTABLECER NOMBRES utf8 collate utf8_bin" port = 3306 socket = /var/lib/mysql/mysql.sock innodb_file_per_table=1 innodb_buffer_pool_size = 768M # ¡atención al parámetro! establezca aproximadamente 2 veces menos que la cantidad de RAM del servidor innodb_buffer_pool_instances=1 # aumente en 1 cada GB innodb_buffer_pool_size innodb_flush_log_at_trx_commit = 0 innodb_log_file_size = 512M innodb_log_files_in_group = 3

Agregué un mínimo de configuraciones distintas a las predeterminadas. Hay muchos más en el artículo sobre optimización de MySQL, pero con el tiempo me di cuenta de que lo hice en vano. En realidad, no tengo mucha experiencia en el ajuste de MySQL. No hice ninguna prueba ni control, sino que tomé los datos basándome en otros artículos de Internet. No es un hecho que no hubo errores. Como resultado, ahora solo se configuran algunos parámetros importantes para innodb, en particular la instrucción para almacenar cada tabla en un archivo separado, se configuran el tamaño y la cantidad de registros binarios y un par de configuraciones más que obviamente estarán implementadas (innodb_buffer_pool_size , innodb_buffer_pool_instances e innodb_flush_log_at_trx_commit). Si lo desea, puede realizar el ajuste de MySQL usted mismo. En general, la configuración actual será suficiente.

# systemctl reiniciar mariadb # systemctl estado mariadb.service

El servidor de base de datos mysql para nuestro servidor zabbix está listo. Esto completa la configuración preliminar del servidor. Comencemos la instalación.

Instalación del servidor Zabbix 4.0 en CentOS

Para instalar Zabbix Server 4.0 necesita conectar el repositorio de la versión actual.

# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm Recuperando https://repo.zabbix.com/zabbix/ 4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm advertencia: /var/tmp/rpm-tmp.fCWryx: Encabezado V4 RSA/SHA512 Firma, ID de clave a14fe591: NOKEY Preparando... # Actualizando/instalando... 1:zabbix-release-4.0-1.el7 #

Instalamos el propio servidor Zabbix.

# yum instalar zabbix-server-mysql zabbix-web-mysql

Las dependencias del paquete incluirán httpd, que no necesitamos, ya que tendremos nginx y php7.1, pero no descubrí cómo instalarlo sin él. Después de instalar los paquetes, crearemos una base de datos, un usuario de zabbix y llenaremos la base de datos.

# mysql -uroot -p Ingrese la contraseña: > crear la base de datos juego de caracteres zabbix utf8 intercalar utf8_bin; > otorgar todos los privilegios en zabbix.* a zabbix@localhost identificado por "zabpassword"; salir # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Estas configuraciones mínimas son suficientes para que el servidor funcione. Recomiendo aumentar el parámetro. Se acabó el tiempo, ya que es responsable del tiempo de espera de una respuesta de un agente, dispositivo snmp o verificación externa. A veces el valor estándar de 4 segundos no es suficiente. En particular, cuando se utiliza algún script que tarda mucho en ejecutarse para obtener la métrica. Configúrelo en 10 segundos.

Verifique el archivo de registro para ver si hay errores.

# gato /var/log/zabbix/zabbix_server.log

Configurando SELinux con zabbix

Si tiene SELinux habilitado, recibirá un error.

No se puede iniciar el servicio de preprocesamiento: no se puede vincular el socket a "/var/run/zabbix/zabbix_server_preprocessing.sock": permiso denegado.

Esto es normal, ahora configuraremos SELinux para el funcionamiento normal de Zabbix. Para hacer esto, instale el paquete Policycoreutils-python, descargue el módulo listo para usar para SELinux y utilícelo.

# yum install Policycoreutils-python # cd ~ # curl https://support.zabbix.com/secure/attachment/53320/zabbix_server_add.te > zabbix_server_add.te # checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te # semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp # semodule -i zabbix_server_add.pp

Ahora necesitamos reiniciar el servidor zabbix.

# systemctl reinicia el servidor zabbix

Si no puede hacer esto a través de systemctl, entonces el servicio se congela. Lo terminamos con fuerza y ​​lo lanzamos nuevamente.

# kill -9 `pidof zabbix_server` # systemctl inicia el servidor zabbix

Verifique el archivo de registro nuevamente. Ahora no debería haber errores. Como ya dije, si tiene SELinux deshabilitado, entonces no necesita realizar las manipulaciones con el módulo descrito anteriormente.

Hemos terminado con el lado del servidor. Necesitamos realizar una configuración de nginx para que funcione la interfaz web de zabbix. Si tiene nginx ejecutándose en el mismo servidor donde está zabbix y no hay otros hosts virtuales y no los habrá, edite inmediatamente el predeterminado: /etc/nginx/conf.d/default.conf

# mcedit /etc/nginx/conf.d/default.conf servidor ( escucha 80; nombre_servidor localhost; raíz /usr/share/zabbix; ubicación / ( index index.php index.html index.htm; ) ubicación ~ \.php $ ( fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PHP_VALUE " max_execution_time = 300 Memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europa/Moscú always_populate_raw_post_data = -1"; fastcgi_buffers 8 256k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } } !}

Un pequeño pero importante matiz. Necesitamos cambiar los derechos de acceso a algunas carpetas. Asignar propietario a nginx.

# chown -R nginx:nginx /var/lib/php/session # chown -R nginx:nginx /etc/zabbix/web

Este paso deberá realizarse después de cada actualización de php o zabbix. Esto se debe al hecho de que, de forma predeterminada, zabbix viene incluido con Apache y está diseñado para funcionar con él. Entonces, después de la instalación o actualización, lo convierte en propietario del directorio. /etc/zabbix/web.

Le damos permisos a SELinux para que Zabbix funcione con el servidor web y la base de datos.

#setsebool -P httpd_can_connect_zabbix en #setsebool -P httpd_can_network_connect_db en

No sé qué tan relevante es la última configuración si la conexión a la base de datos es local. Las instrucciones de los desarrolladores dicen que en el caso de postgresql, incluso si se conecta a través de 127.0.0.1, se debe otorgar permiso. No hay comentarios sobre mysql.

Hemos terminado con la parte del servidor. Para continuar instalando el servidor zabbix, vaya a .

Instalación del servidor Zabbix 4.0 en Ubuntu, Debian

Instalar Zabbix en un servidor con Ubuntu o Debian es más fácil, ya que los repositorios estándar tienen versiones más nuevas del software, puedes usarlas. Conectamos repositorios zabbix 4.0.

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb # dpkg -i zabbix-release_4.0-2 +bionic_all.deb

# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb # dpkg -i zabbix-release_4.0-2 +stretch_all.deb

Si tiene otras versiones de sistemas, simplemente busque enlaces a paquetes para su versión en el repositorio oficial: https://repo.zabbix.com/zabbix/4.0/ La instalación adicional no diferirá de la actual.

Actualizamos información sobre los repositorios, y al mismo tiempo instalaremos las últimas actualizaciones:

# actualización apta && actualización apta

Instale el servidor zabbix:

# apto para instalar zabbix-server-mysql zabbix-frontend-php

Se instala por defecto con apache, que se inicia inmediatamente. Detengámoslo y desactívelo:

# systemctl detener apache2 # systemctl desactivar apache2

Instale nginx y php-fpm por separado:

# apto para instalar nginx php-fpm

Ejecutamos el script de configuración inicial de mysql y configuramos la contraseña para root. Todo lo demás se puede dejar por defecto.

# /usr/bin/mysql_secure_installation

Editemos algunos parámetros de Mariadb en la configuración. /etc/mysql/mariadb.conf.d/50-server.cnf. Agregue allí a la sección:

# mcedit /etc/mysql/mariadb.conf.d/50-server.cnf innodb_file_per_table=1 innodb_buffer_pool_size = 768M # ¡presta atención al parámetro! establezca aproximadamente 2 veces menos que la cantidad de RAM del servidor innodb_buffer_pool_instances=1 # aumente en 1 cada GB innodb_buffer_pool_size innodb_flush_log_at_trx_commit = 0 innodb_log_file_size = 512M innodb_log_files_in_group = 3

Reinicie mariadb y asegúrese de que se inicie.

# systemctl reiniciar mariadb # netstat -tulnp | grep mysqld tcp 0 0 127.0.0.1:3306 0.0.0.0:* ESCUCHAR 16753/mysqld

Creemos una base de datos, un usuario zabbix y completemos la base de datos.

# mysql -uroot -p Ingrese la contraseña: > crear la base de datos juego de caracteres zabbix utf8 intercalar utf8_bin; > otorgar todos los privilegios en zabbix.* a zabbix@localhost identificado por "zabpassword"; salir # zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Ahora editamos el archivo de configuración del servidor Zabbix. Registramos los datos para conectarnos a la base de datos, desactivamos ipv6 y aumentamos el tiempo de espera estándar.

#mcedit /etc/zabbix/zabbix_server.conf

Cambiamos las líneas especificadas, no tocamos el resto:

DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabcontraseña ListenIP=0.0.0.0 Tiempo de espera=10

Estas configuraciones mínimas son suficientes para que el servidor funcione. Recomiendo aumentar el parámetro Timeout, ya que es responsable del tiempo de espera de una respuesta de un agente, dispositivo snmp o verificación externa. A veces el valor estándar de 4 segundos no es suficiente. En particular, cuando se utiliza algún script que tarda mucho en ejecutarse para obtener métricas. Configúrelo en 10 segundos.

Inicie zabbix y agréguelo al inicio.

# systemctl inicia el servidor zabbix # systemctl habilita el servidor zabbix

Comprobemos si ha comenzado.

#netstat-tulnp | grep zabbix_server tcp 0 0 0.0.0.0:10051 0.0.0.0:* ESCUCHAR 16847/zabbix_server

Todo está bien. Lanzamos nginx, que actuará como servidor web para nosotros.

# systemctl iniciar nginx # systemctl habilitar nginx

Asegurémonos de que nginx se esté ejecutando como servidor web.

#netstat-tulnp | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* ESCUCHAR 17075/nginx: maestro tcp6 0 0:::80:::* ESCUCHAR 17075/nginx: maestro

Necesitamos realizar una configuración de nginx para que funcione la interfaz web de zabbix. Si tiene nginx ejecutándose en el mismo servidor donde está zabbix y no hay otros hosts virtuales y no los habrá, edite inmediatamente el predeterminado: /etc/nginx/sitios-disponibles/default. Lo llevamos al siguiente formulario:

# mcedit /etc/nginx/sites-available/servidor predeterminado ( escucha 80; nombre_servidor localhost; raíz /usr/share/zabbix; ubicación / ( index index.php index.html index.htm; ) ubicación ~ \.php$ ( fastcgi_passunix: /run/php/php7.2-fpm.sock; # verifique esta ruta, será diferente para diferentes versiones de php fastcgi_index index.php;"; fastcgi_buffers 8 256k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } } !}

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

incluir fastcgi_params;

fastcgi_param PHP_VALUE " max_execution_time = 300 Memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europa/Moscú always_populate_raw_post_data = -1

Revisemos la configuración en busca de errores y, si todo está bien, reiniciemos nginx.

# nginx -t nginx: la sintaxis del archivo de configuración /etc/nginx/nginx.conf es correcta nginx: la prueba del archivo de configuración /etc/nginx/nginx.conf fue exitosa # nginx -s reload

Hemos terminado con la parte del servidor. Para continuar instalando el servidor zabbix, proceda a configurar Zabbix Frontend.

Configurando la interfaz de Zabbix Vaya al navegador y abra la dirección http://192.168.13.117. Deberías ver el instalador de Zabbix 4.0.

Después de hacer clic en Finalizar, verá la ventana de autorización del servidor Zabbix.

La cuenta estándar para iniciar sesión en la interfaz web de zabbix es la siguiente:

  • Usuario administrador
  • Contraseña de Zabbix

Después de iniciar sesión, verá un panel estándar.

Esto completa la instalación del servidor de monitoreo zabbix gratuito. Puedes empezar a configurar.

Configurando el servidor Zabbix

Crea una cuenta y cambia tu contraseña

Lo primero que debe hacer es cambiar sus credenciales de inicio de sesión predeterminadas. Simplemente puede cambiar la contraseña del usuario administrador, pero es mejor crear una nueva cuenta con derechos de superusuario y eliminar el administrador. Para ello dirígete a la sección Administración -> Usuarios y haga clic en Crear usuario.

Complete todos los campos obligatorios. Puedes elegir el idioma ruso. Normalmente intento trabajar en inglés, pero en el caso de Zabbix se puede hacer una excepción. Está muy bien localizado y no hay problemas. No olvide ir a la pestaña Permisos y seleccionar Tipo de usuario: Zabbix Super Admin.

Ahora puede iniciar sesión como nuevo usuario y eliminar Administrador. Pero el sistema no permitirá que lo eliminen, ya que es propietario de algunos objetos:

  • mapas de red - Red Local
  • Pantalla del servidor Zabbix
  • Vista global y paneles de estado del servidor Zabbix

Se crean automáticamente cuando se instala Zabbix. Debe cambiar su propietario a un nuevo usuario. Después de esto, se puede eliminar el administrador estándar.

Configurar alertas por correo electrónico

A continuación, debe configurar una parte muy importante del sistema de seguimiento: las notificaciones por correo electrónico. Sin él, el sistema de seguimiento no parece holístico y completo. El servidor Zabbix admite el envío de correo a través de servidores SMTP de terceros. Configuremos uno de ellos. Para ello dirígete a la sección Administración -> Métodos de notificación y haga clic en Correo electrónico.

Te mostraré el ejemplo de la configuración del buzón en Yandex.

Configuramos la dirección de envío. Ahora el usuario necesita agregar una dirección para recibir alertas. Para ello vamos a Administración -> Usuarios, selecciona tu usuario. Vaya a la pestaña Alertas y haga clic en Agregar. Agregue su buzón y haga clic en Actualizar.

Inicie sesión en su cuenta nuevamente y asegúrese de que se haya agregado el buzón.

Eso es todo, hemos configurado el envío de notificaciones, todo lo que tenemos que hacer es esperar a que se active el disparador para comprobarlo. Haremos esto más tarde, cuando conectemos el host al monitoreo.

Estoy haciendo los siguientes cambios. Cambio la plantilla de asunto de la carta cuando hay un problema y recuperación. En la línea de asunto del correo electrónico estándar, no hay información del nombre de host. Algunas plantillas de activación incluyen el nombre de host, pero otras no. Como resultado, la notificación no muestra inmediatamente de qué host se está hablando. En mi plantilla, el nombre del host se indicará inmediatamente en el asunto, seguido del estado y luego todo lo demás. A continuación se muestra un ejemplo de la alerta antigua y la nueva:

Mi visión me parece más clara. La plantilla cambia a lo siguiente:

(NOMBRE.HOST) - (ESTADO.DISPARADOR): (NOMBRE.DISPARADOR)

Es lo mismo tanto para el problema como para la recuperación.

Cambiar plantillas de monitoreo predeterminadas

En mis servidores de monitorización cambio algunos parámetros de las plantillas estándar para que haya menos alarmas inútiles y poco informativas. Aquí hay una lista de lo que hago.

  1. en la plantilla Aplicación de plantilla Agente Zabbix apago el gatillo La versión de zabbix_agent(d) se cambió en (HOST.NAME). Si lo deja, después de cada actualización del agente zabbix recibirá una notificación. Personalmente, no necesito esta información.
  2. en la plantilla Plantilla SO Linux lo cambio en el gatillo La E/S de disco está sobrecargada en (HOST.NAME) valor del estándar 20% a 50%. Creo que deberías empezar a preocuparte y mirar el coche a este valor. Pero puedes elegir según tus necesidades.
  3. En la misma plantilla en la regla de detección. Descubrimiento de sistema de archivos montado Agrego otro prototipo de disparador copiando El espacio libre en disco es inferior al 20% del volumen (#FSNAME). La nueva plantilla es completamente idéntica a la copiada, solo que en lugar de 20% indico 5% y configuro la importancia de "Advertencia" a "Alta". Agrego otra alerta si queda menos del 5% de espacio libre en el disco. El 20% estándar es un umbral muy alto, especialmente si el disco es grande. No se requiere una solución inmediata al problema. Debido a esto, a menudo pospones la limpieza del disco para más tarde y te olvidas de ella. Ahora habrá otro disparador de seguridad, después del cual definitivamente tendrás que ir y ocuparte del lugar ahora mismo. En el disparador, al 20% del espacio libre, configuré el permiso para cerrar el disparador manualmente.
  4. En la misma plantilla en el disparador. Falta de espacio de intercambio gratuito en (HOST.NAME) Cambio el umbral de respuesta del 50% al 20%, o lo desactivo por completo. Hoy en día muchos servidores funcionan sin intercambio. Aunque personalmente siempre lo creo y lo conecto.
  5. en la plantilla Plantilla de sistema operativo Windows desactivar la regla de detección descubrimiento de servicios de Windows. En la versión predeterminada, genera muchos elementos y alertas innecesarios. Si necesita monitorear algún tipo de servicio de Windows, hago una plantilla separada para esto.

Configuraciones generales

En la configuración general del servidor zabbix, que se encuentra en la sección Administración -> Generales Cambio los siguientes parámetros:

  1. en la sección Horas de trabajo Publico las horas de trabajo actuales.
  2. en la sección Opciones de visualización del activador cambio los valores Mostrar disparadores en estado OK para Y Los disparadores parpadean cuando cambia el estado durante 1 minuto. Es sólo mi preferencia. No me gusta que los gatillos parpadeen durante mucho tiempo o que ya estén cerrados.
  3. en la sección Otro estoy cambiando Actualización de elementos de datos no admitidos durante 1 minuto. Esto es relevante al depurar nuevas plantillas.

Instalación del agente Zabbix en Linux

Si desea instalar zabbix-agent en el servidor de monitoreo, no necesita hacer nada más que la instalación en sí. Para otros sistemas, es necesario conectar los repositorios de Zabbix que utilizamos durante la instalación del servidor. Puede consultarlos en las secciones apropiadas para su sistema.

Instalación del agente zabbix en Centos:

# yum instala el agente zabbix

Lo mismo en Ubuntu/Debian:

# apto para instalar el agente zabbix

Para trabajar con un servidor instalado localmente en la misma máquina, no es necesario realizar más configuraciones. Si instala el agente zabbix en otra máquina, entonces en el archivo de configuración del agente /etc/zabbix/zabbix_agentd.conf deberá configurar los siguientes parámetros:

# mcedit /etc/zabbix/zabbix_agentd.conf Server=192.168.13.117 ServerActive=192.168.13.117 Hostname=srv10 # el nombre de su nodo de monitoreo, que se indicará en el servidor zabbix, servidor Zabbix si es el propio servidor Zabbix

Inicie el agente y agréguelo al inicio:

# systemctl iniciar agente-zabbix # systemctl habilitar agente-zabbix

Comprobando el archivo de registro.

# cat /var/log/zabbix/zabbix_agentd.log 14154:20181004:201307.800 Iniciando el agente Zabbix. Zabbix 4.0.0 (revisión 85308).

14154:20181004:201307.800 **** Funciones habilitadas **** 14154:20181004:201307.800 Compatibilidad con IPv6: SÍ 14154:20181004:201307.800 Compatibilidad con TLS: SÍ 14154:20181004:201307.8 0 *********** * ************** 14154:20181004:201307.800 usando el archivo de configuración: /etc/zabbix/zabbix_agentd.conf 14154:20181004:201307.800 agente #0 iniciado 14157:20181004:201307.801 agente #3 iniciado 14159 :20181004:201307.802 se inició el agente n.º 5 14155:20181004:201307.804 se inició el agente n.º 1 14158:20181004:201307.806 se inició el agente n.º 4 14156:20181004:201307.810 se inició el agente n.º 2 Todo está bien. Nos dirigimos a la interfaz web y comprobamos la recepción de datos. Para ello dirígete a la sección Monitoreo -> Últimos datos Nodos de red . Te indicamos en el apartado Servidor Zabbix

Ahora intentemos detener al agente y comprobar si la notificación llegará por correo electrónico. Vaya a la consola y apague el agente:

# systemctl detener agente-zabbix

Esperamos al menos 5 minutos. Este es el intervalo predeterminado para activar la indisponibilidad de un agente. Después de eso, verifique el panel principal, widget Problemas.

Una de las capacidades de seguimiento distintivas de Zabbix es el uso de agentes. Agente Zabbix es un programa especial que se instala en el sistema sobre qué información se necesita y se comunica con el servidor. El servidor, a su vez, dibuja los gráficos necesarios. La facilidad de uso acelera enormemente la configuración de hosts y horarios, ya que en el host que estamos viendo solo necesitamos un agente y no serán necesarias más configuraciones. Agente Zabbix suministrado para Windows y Linux\Unix como sistemas En este artículo veremos la instalación y configuración de ambos. ventanas, y en linux(distribución ubuntu) anfitrión.

Instalación en un host de Windows

El primer paso será, por supuesto, descargar e instalar el agente. Para comenzar a descargar, siga el enlace. Descargamos el archivo, lo descomprimimos y vemos 2 carpetas, una con instaladores para diferentes sistemas y la segunda con un archivo de configuración de ejemplo. Descomprimamoslo en el disco. CON:\ archivo de configuración e instalador para su sistema ( 32/64 bits).

Antes de la instalación, debe realizar cambios en el archivo de configuración. Abramos el archivo, busquemos las líneas y sustituyamos nuestros valores.

LogFile=(ruta al archivo de registro) Servidor=(dirección IP del servidor zabbix) Nombre de host=(nombre de host)

Nombre de host debe coincidir con el nombre de host en el panel de control de Zabbix; de lo contrario, no funcionará. Estas configuraciones son absolutamente necesarias para que el sistema funcione, aunque no es necesario escribir un registro, pero no será superfluo.

Abra una línea de comando y vaya a la raíz del disco. DO:\, esto se hace con el comando cd C:\ . Si descomprimiste el instalador no en la raíz, sino en una carpeta diferente, ve a este directorio. Ejecute el comando zabbix_agentd.exe --install.
Si el archivo de configuración no está en la raíz o tiene un nombre distinto al estándar, ejecute zabbix_agentd.exe --config (config_file) --install .
Si la instalación fue exitosa, ejecute zabbix_agentd.exe --start. Ahora el agente zabbix se ejecuta como un servicio en nuestro sistema. Para saber qué parámetros enviará el agente al servidor, puede ejecutar el comando zabbix_agentd.exe --print.

Instalación en un host que ejecuta el sistema operativo Ubuntu

Para descargar el agente para su sistema, siga el enlace. Buscamos el archivo que necesitamos, usamos los comandos para descargar e instalar, para mí se ven así:

Cd /tmp wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix/zabbix-agent_3.0.0-1+trusty_amd64.deb dpkg -i zabbix-agent_3.0.0-1+ confiable_amd64.deb

Si durante el proceso de instalación surgen problemas con las dependencias y aparece un error de que falta algo, ejecuta el comando apt-get -f install.

El archivo ejecutable del agente se encuentra en /usr/sbin/zabbix_agentd, archivo de configuración /etc/zabbix/zabbix_agentd.conf. El archivo de configuración es el mismo que para ventanas SO. Por tanto, la configuración es idéntica. La única advertencia es que el agente debe ejecutarse como un usuario independiente; si no utiliza el agente en la máquina junto con el servidor, puede abandonar el usuario; zabbix, sin embargo, si se usa en una máquina junto con el servidor, es recomendable cambiar el usuario a otro, esto se hace en el archivo de configuración editando el parámetro; Usuario.

Lanzamos el agente con el comando /usr/sbin/zabbix_agentd y procedemos al paso de agregar el host al panel de control zabbix.

Configurar hosts

Hemos terminado con la instalación del agente, ahora necesitamos crear y configurar el host en el panel de control de zabbix. vamos a Configuración->Hosts->Crear host.

Nombre de host: el nombre de host que especificamos en la configuración del agente Zabbix; Grupos: el grupo al que pertenece el anfitrión; Interfaces de agente: complete la dirección IP del host y haga clic en "agregar";

Ahora ve a la pestaña "Plantillas", prensa "Seleccionar" seleccionar de la lista "Plantilla del sistema operativo Windows", luego haga clic en el enlace (no en el botón) "Agregar". Eso es todo, la plantilla ha sido agregada, presione el botón "Agregar" y se agrega nuestro anfitrión.

Ahora solo queda esperar un poco mientras los gráficos se llenan de datos y se pueden ver en el apartado "Panel->Gráficos".


Como puede ver, no hay dificultades especiales al agregar hosts con sistema operativo Windows/Linux a bordo. En el próximo artículo describiré el proceso de creación de una plantilla para equipos de red D-link.

Si tiene alguna dificultad o problema con la instalación y configuración, escriba sus comentarios, definitivamente lo solucionaremos.




Arriba