Advertising:

Configuracion minima y tunning de Zabbix Server 7.X

From Zabbix-ES
Jump to navigation Jump to search

EN PROCESO DE ELABORACION

Tipos de procesos e hilos del servidor

FUENTE: https://www.zabbix.com/documentation/current/en/manual/concepts/server#server-process-types-and-threads

- agent poller                # proceso de sondeo asíncrono para comprobaciones pasivas con un subproceso de trabajo
- alert manager               # gestor de colas de alertas
- alert syncer                # escritor de la base de datos de alertas
- alerter                     # proceso para enviar notificaciones
- availability manager        # proceso para actualizar la disponibilidad del host
- configuration syncer        # proceso para gestionar la caché en memoria de los datos de configuración
- configuration syncer worker # proceso para resolver y sincronizar valores de macros de usuario en nombres de elementos
- connector manager           # proceso de gestión de conectores
- connector worker            # proceso para gestionar las solicitudes del gestor de conectores
- discovery manager           # proceso de gestión para el descubrimiento de dispositivos
- discovery worker            # proceso para gestionar las tareas de descubrimiento del gestor de descubrimiento
- escalator                   # proceso para escalar acciones
- ha manager                  # proceso para gestionar la alta disponibilidad
- history poller              # proceso para gestionar comprobaciones calculadas que requieren una conexión a una base de datos
- history syncer              # escritor de la base de datos del historial
- housekeeper                 # proceso de eliminación de datos históricos antiguos
- http agent poller           # proceso de poller asíncrono para comprobaciones HTTP con un hilo de trabajo
- http poller                 # poller de monitorización web
- icmp pinger                 # poller para comprobaciones icmpping
- ipmi manager                # gestor de sondeo IPMI
- ipmi poller                 # poller para comprobaciones IPMI
- java poller                 # poller para comprobaciones Java
- lld manager                 # proceso gestor de tareas de descubrimiento de bajo nivel
- lld worker                  # proceso worker de tareas de descubrimiento de bajo nivel
- odbc poller                 # poller para comprobaciones ODBC
- poller                      # poller normal para comprobaciones pasivas
- preprocessing manager       # gestor de tareas de preprocesamiento con subprocesos de trabajador de preprocesamiento
- preprocessing worker        # subproceso para el preprocesamiento de datos
- proxy poller                # poller para proxies pasivos
- proxy group manager         # gestor de balanceo de carga de proxy y alta disponibilidad
- report manager              # gestor de tareas programadas de generación de informes
- report writer               # proceso de generación de informes programados
- self-monitoring             # proceso para recopilar estadísticas internas del servidor
- service manager             # proceso para gestionar servicios recibiendo información sobre problemas, etiquetas de problemas y recuperación de 
                              # problemas del sincronizador de historial, gestor de tareas y gestor de alertas
- snmp poller                 # proceso de poller asíncrono para comprobaciones SNMP con un hilo de trabajo (sólo elementos walk[OID] y get[OID])
- snmp trapper                # trapper para traps SNMP
- task manager                # proceso para la ejecución remota de tareas solicitadas por otros componentes (por ejemplo, cerrar problema, 
                              # reconocer problema, comprobar valor de elemento ahora, funcionalidad de comando remoto)
- timer                       # temporizador para procesar mantenimientos
- trapper                     # atrapador para comprobaciones activas, trampas, comunicación proxy
- trigger housekeeper         # proceso para eliminar problemas generados por disparadores que han sido eliminados
- unreachable poller          # poller para dispositivos inalcanzables
- vmware collector            # recolector de datos VMware responsable de la recolección de datos de los servicios VMware
Nota: Se pueden monitorizar varios tipos de procesos del servidor Zabbix utilizando el elemento interno zabbix[process,<type>,<mode>,<state>]. [Internal checks]

Tunning de Zabbix Server Conf

FUENTES: https://www.zabbix.com/documentation/current/es/manual/appendix/config/zabbix_server
         https://www.initmax.cz/wp-content/uploads/2022/06/zabbix_performance_tuning_6.0.pdf

Configuracion parametros GENERALES

# ListenPort=10051                            # El puerto de escucha para el trapper (10051).
# SourceIP=                                   # Dirección IP de origen para salida
                                              # Conexiones salientes al proxy Zabbix y al agente Zabbix;
                                              # Conexiones sin agente (VMware, SSH, JMX, SNMP, Telnet y comprobaciones simples);
                                              # Conexiones de agente HTTP;
                                              # Solicitudes HTTP de JavaScript de elementos de secuencia de comandos;
                                              # Preprocesamiento de solicitudes HTTP de JavaScript;
                                              # Envío de correos electrónicos de notificación (conexiones al servidor SMTP);
                                              # Notificaciones de webhook (conexiones HTTP de JavaScript);
                                              # Conexiones a Vault
LogFile=/var/log/zabbix/zabbix_server.log     # El nombre del archivo de registro.
# LogType=file                                # Tipo de salida del registro
                                              # file - escribe el registro en el archivo especificado por el parámetro LogFile;
                                              # system - escribe el registro en syslog;
                                              # console - escribe el registro en la salida estándar.
LogFileSize=0                                 # El tamaño máximo del archivo de registro en MB. 0 - desactivar la rotación automática del registro.
                                              # Si se alcanza el límite de tamaño del archivo de registro y falla la rotación de archivos, 
                                              # por la razón que sea, el archivo de registro existente se trunca y se inicia de nuevo.
PidFile=/run/zabbix/zabbix_server.pid         # Nombre del archivo PID.
SocketDir=/run/zabbix                         # Directorio para almacenar sockets IPC utilizados por los servicios internos de Zabbix.
# DebugLevel=3                                # Especifica el nivel de depuración:
                                              # 0 - información básica sobre el arranque y parada de los procesos de Zabbix.
                                              # 1 - información crítica
                                              # 2 - información de error
                                              # 3 - advertencias
                                              # 4 - para depuración (produce mucha información)
                                              # 5 - depuración extendida (produce aún más información)

Parametros para configurar la conexion con la base de datos

# DBHost=localhost                            # El nombre del host de la base de datos.
                                              # Con MySQL localhost o cadena vacía resulta en el uso de un socket. 
                                              # Con PostgreSQL sólo la cadena vacía da como resultado el intento de utilizar un socket. 
                                              # Con Oracle la cadena vacía resulta en el uso del método de conexión Net Service Name; 
                                              # en este caso considere el uso de la variable de entorno TNS_ADMIN para especificar el directorio del archivo tnsnames.ora.
DBName=zabbix                                 # El nombre de la base de datos.
DBUser=zabbix                                 # El usuario de la base de datos.
DBPassword=Z4bb1x                             # La contraseña de la base de datos.
# DBSchema=                                   # Schema name. Used for PostgreSQL.
# DBSocket=                                   # La ruta al archivo de socket MySQL.
# DBPort=                                     # El puerto de la base de datos cuando no se utiliza el socket local.
# AllowUnsupportedDBVersions=0                # Permitir que el servidor trabaje con versiones de bases de datos no compatibles. 0 No permitido - 1 Permitido

Estos parámetros se utilizan para la configuración de Elasticsearch

# HistoryStorageURL=                          # La URL HTTP[S] de almacenamiento histórico
# HistoryStorageTypes=uint,dbl,str,log,text   # Una lista separada por comas de los tipos de valores que se enviarán al almacenamiento del historial.
# HistoryStorageDateIndex=0                   # Permite el preprocesamiento de los valores históricos en el almacenamiento histórico para almacenar valores en diferentes índices basados en la fecha.

Estos parámetros se utilizan para la exportacion de valores en tiempo real

# ExportDir=                                  # El directorio para la exportación en tiempo real de eventos, historial y tendencias en formato JSON delimitado por nuevas líneas. 
                                              # Si se establece, habilita la exportación en tiempo real.
# ExportFileSize=1G                           # El tamaño máximo por archivo de exportación en bytes. Se utiliza para la rotación si ExportDir está configurado.
# ExportType=events,history,trends            # La lista de tipos de entidad delimitados por comas (eventos, historial, tendencias) para la exportación en tiempo real (todos los tipos por defecto). 
                                              # Válido sólo si ExportDir está configurado.
                                              # Tenga en cuenta que si se especifica ExportType, pero no ExportDir, se trata de un error de configuración y el servidor no se iniciará.

Configuracion de pollers precargados al iniciar zabbix

# StartPollers=5                              # Número de instancias precargadas de pollers.
# StartAgentPollers=1                         # Número de instancias precargadas de agentes pollers asíncronos de Zabbix.
# StartHTTPAgentPollers=1                     # Número de instancias precargadas de pollers de agentes HTTP asíncronos.
# StartSNMPPollers=1                          # Número de instancias precargadas de pollers SNMP asíncronos.
# MaxConcurrentChecksPerPoller=1000           # Número máximo de comprobaciones asíncronas que pueden ser ejecutadas a la vez por cada HTTP agent poller, agent poller o SNMP poller. 
                                              # Ver StartHTTPAgentPollers, StartAgentPollers y StartSNMPPollers.
# StartIPMIPollers=0                          # Número de instancias precargadas de pollers IPMI.
# StartPreprocessors=3                        # Número de instancias precargadas de preprocessing workers.
# StartConnectors=0                           # Número de instancias preforked de trabajadores conectores.
                                              # El proceso del gestor de conectores se inicia automáticamente cuando se inicia un worker de conectores.
# StartPollersUnreachable=1                   # Número de instancias preforked de pollers para hosts inalcanzables (incluyendo IPMI y Java).
                                              # Al menos un poller para hosts inalcanzables (Unreachable) debe estar en ejecución si se inician pollers normales, IPMI o Java.
# StartHistoryPollers=5                       # Número de instancias preforked de history pollers. Solo se requiere para comprobaciones calculadas (calculated checks).
# StartTrappers=5                             # Número de instancias preforked de trappers. Los trappers aceptan conexiones entrantes de Zabbix sender, agentes activos y proxies activos.
# StartPingers=1                              # Número de instancias preforked de pingers ICMP
# StartDiscoverers=5                          # Número de instancias preforked de discovery workers.
# StartHTTPPollers=1                          # Número de instancias preforked de pollers HTTP
# StartTimers=1                               # Número de instancias preforked de temporizadores. Los temporizadores procesan periodos de mantenimiento.
# StartEscalators=1                           # Número de instancias preforzadas de escaleras mecánicas.
# StartAlerters=3                             # Número de instancias preforked de alertas

Configuracion de JavaGateway

# JavaGateway=                                # Dirección IP (o nombre de host) de la pasarela Java de Zabbix. Sólo se requiere si se inician los pollers de Java.
# JavaGatewayPort=10052                       # El puerto en el que escucha la pasarela Java de Zabbix.
# StartJavaPollers=0                          # Número de instancias preforked de los pollers Java

Parametros para recolectar metricas del VMWare

# StartVMwareCollectors=0
# VMwareFrequency=60
# VMwarePerfFrequency=60
# VMwareCacheSize=8M
# VMwareTimeout=10

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
# StartSNMPTrapper=0                # Si se establece en 1, se iniciará un proceso SNMP trapper.

# HousekeepingFrequency=1           # Este parámetro determina la frecuencia con la que Zabbix realizará el procedimiento de limpieza en horas.
# MaxHousekeeperDelete=5000         # No se eliminarán más de las filas indicadas por 'MaxHousekeeperDelete' (correspondientes a [nombre de tabla], [campo], [valor]) por tarea en un ciclo de limpieza.
                                    # Si se establece en 0, no hay límite usado en absoluto. En este caso debes saber lo que estás haciendo, para no ¡sobrecargar la base de datos!
                                    # Este parámetro se aplica solo para eliminar el historial. y tendencias de métricas ya eliminadas.

# CacheSize=32M                     # El tamaño de la caché de tendencias, en bytes. El tamaño de la memoria compartida para almacenar datos de tendencias.
# CacheUpdateFrequency=10           # Frecuencia con la que Zabbix actualizará la caché de configuración, en segundos.

# StartDBSyncers=4                  # Número de instancias preforked de DB Syncers. 
                                    # Tenga cuidado al cambiar este valor, aumentarlo puede hacer más daño que bien. 
                                    # Aproximadamente, el valor predeterminado debería ser suficiente para manejar hasta 4000 NVPS.
                                    # Como regla general, un DBSyncer puede manejar 1.000 Nuevos Valores por Segundo (NVPS), 
                                    # siempre y cuando su base de datos pueda mantener el ritmo de escritura I/O. 
                                    # Puedes comprobar el estado de tus DBSyncers usando los tipos internos de Zabbix para comprobar 
                                    # el estado de cada proceso, y sus tiempos de ocupación.
# HistoryCacheSize=16M              # Tamaño de la caché del historial, en bytes.   Tamaño de la memoria compartida para almacenar datos históricos.
# HistoryIndexCacheSize=4M          # Tamaño de caché índice de historia, en bytes. Tamaño de memoria compartida para caché de historial de indexación.
# TrendCacheSize=4M
# TrendFunctionCacheSize=4M
# ValueCacheSize=8M

Timeout=4

# TrapperTimeout=300

# UnreachablePeriod=45
# UnavailableDelay=60
# UnreachableDelay=15

# AlertScriptsPath=/usr/lib/zabbix/alertscripts
# ExternalScripts=/usr/lib/zabbix/externalscripts
# FpingLocation=/usr/sbin/fping
# Fping6Location=/usr/sbin/fping6

LogSlowQueries=3000
# TmpDir=/tmp

# StartProxyPollers=1
# ProxyConfigFrequency=10
# ProxyDataFrequency=1
# StartLLDProcessors=2
# AllowRoot=0

# SSLCertLocation=${datadir}/zabbix/ssl/certs
# SSLKeyLocation=${datadir}/zabbix/ssl/keys
# SSLCALocation=
StatsAllowedIP=127.0.0.1

####### LOADABLE MODULES #######

# LoadModulePath=${libdir}/modules
# LoadModule=

####### TLS-RELATED PARAMETERS #######
# TLSCAFile=
# TLSCRLFile=
# TLSCertFile=
# TLSKeyFile=
# TLSCipherCert13=
# TLSCipherCert=
# TLSCipherPSK13=
# TLSCipherPSK=
# TLSCipherAll13=
# TLSCipherAll=
# DBTLSConnect=
# DBTLSCAFile=
# DBTLSCertFile=
# DBTLSKeyFile=
# DBTLSCipher=

# Vault=HashiCorp
# VaultToken=
# VaultURL=https://127.0.0.1:8200
# VaultPrefix=
# VaultDBPath=
# VaultTLSCertFile=
# VaultTLSKeyFile=

# StartReportWriters=0
# WebServiceURL=
# ServiceManagerSyncFrequency=60
# ProblemHousekeepingFrequency=60
# StartODBCPollers=1
EnableGlobalScripts=0
# AllowSoftwareUpdateCheck=1
# SMSDevices=
# ListenBacklog=
# HANodeName=
# NodeAddress=localhost:10051
# WebDriverURL=
# StartBrowserPollers=1