Documentos de Académico
Documentos de Profesional
Documentos de Cultura
carlos.ortega@imagunet.com
www.linkedin.com/in/carlos-ortega-guerrero
Agenda
¿Quiénes SOMOS?
Recta final
referencias
Iniciando de 0 a 500 host
PREPARACIÓN DE
INFRAESTRUCTURA Y
PARÁMETROS DE
ZABBIX
• Iniciamos con un monitoreo de 0 a 500 host en una
infraestructura monolítica. Se monitorean equipos,
servidores, servicios entre otros.
• Las configuraciones de Zabbix se encuentran por
defecto
Alternativas de
agente Zabbix
• HTTP
• SNMP
• ODBC
• SSH
Escalando de 501 a 1.000 host
AJUSTAR LA
INFRAESTRUCTURA Y
OPTIMIZACIÓN DE
ZABBIX
Configuraciones de chequeos
pasivos
OK:
/usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000020 sec, idle 1 sec]
/usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000021 sec, idle 1 sec]
Tipo Configuración
/usr/sbin/zabbix_server: poller #3 [got 6 values in 0.008376 sec, getting values]
/usr/sbin/zabbix_server: poller #4 [got 2 values in 0.050582 sec, idle 1 sec]
/usr/sbin/zabbix_server: poller #5 [got 3 values in 0.000688 sec, idle 1 sec] SNMP/Agente pasivo StartPollers = 25
NOT OK:
ICMP Ping StartPingers = 15
/usr/sbin/zabbix_server: poller #1 [got 20 values in 3.040020 sec, getting values]
/usr/sbin/zabbix_server: poller #2 [got 45 values in 2.013021 sec, getting values]
HTTP Checks StartHTTPPollers = 10
/usr/sbin/zabbix_server: poller #3 [got 63 values in 1.008376 sec, getting values]
/usr/sbin/zabbix_server: poller #4 [got 21 values in 7.050582 sec, getting values]
/usr/sbin/zabbix_server: poller #5 [got 43 values in 4.130688 sec, getting values]
Configuraciones de chequeos
activos
OK:
/usr/sbin/zabbix_server: trapper #1 [got 0 values in 0.000020 sec, idle 1 sec]
/usr/sbin/zabbix_server: trapper #2 [got 0 values in 0.000021 sec, idle 1 sec]
/usr/sbin/zabbix_server: trapper #3 [got 6 values in 0.008376 sec, getting values]
/usr/sbin/zabbix_server: trapper #4 [got 2 values in 0.050582 sec, idle 1 sec] Tipo Configuración
/usr/sbin/zabbix_server: trapper #5 [got 3 values in 0.000688 sec, idle 1 sec]
Agente activo StartTrappers = 25
NOT OK:
/usr/sbin/zabbix_server: trapper #1 [got 20 values in 3.040020 sec, getting values]
SNMP Trap StartSNMPTrapper = 15
/usr/sbin/zabbix_server: trapper #2 [got 45 values in 2.013021 sec, getting values]
/usr/sbin/zabbix_server: trapper #3 [got 63 values in 1.008376 sec, getting values]
/usr/sbin/zabbix_server: trapper #4 [got 21 values in 7.050582 sec, getting values]
/usr/sbin/zabbix_server: trapper #5 [got 43 values in 4.130688 sec, getting values]
Front-end
No olvides
realizar un
tuning del
servicio
NGINX VS Apache2
¡Usa el que mejor conozcas!
Base de datos
No olvides
realizar un
tuning del
PostgreSQL VS MySQL
servicio
¡Usa el que mejor conozcas!
innodb_file_per_table = 1
innodb_buffer_pool_size=3GB (~75% del total de la RAM)
innodb_buffer_pool_instances = 4 (1 p/GB)
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_log_file_size= 512MB (1/8 de innodb_buffer_pool_size)
Configuraciones de Postgre
vacuum_cost_page_miss= 10
vacuum_cost_page_dirty= 20
autovacuum_vacuum_threshold= 50
autovacuum_vacuum_scale_factor= 0.01
autovacuum_vacuum_cost_delay= 20ms
autovacuum_vacuum_cost_limit= 3000
autovacuum_max_workers= 6
Más Host… Más registros
• Crecimiento de tablas
• Mayores consultas para gráficas
• Mayor uso de procesos de Housekeeping
Monitoreo de
housekeeper
Zabbix proxy
• Infraestructura sin distribución de carga
• Toda la información llega al Zabbix Server
• Aumento de 17 VPS
• 61.000 nuevos registros por hora en la base de datos
• Infraestructura con distribución de carga
• Un grupo de servidores y equipos de red reportan a un
proxy respectivo
¡Divide y vencerás!
Al utilizar la opción de Zabbix proxy, transformamos las N
conexiones que realizaba el Zabbix server y los objetos
de monitoreo en solo 1 canal de comunicación y permite
optimizar los recursos de infraestructura.
¿Por qué usar zabbix
proxy?
Optimizaciones a gran
escala
Más Host… Más registros
• Crecimiento de tablas
• Mayores consultas para gráficas
• Mayor uso de procesos de Housekeeping
• Base de datos sin
History particionamiento
• Dificultad para eliminar data
histórica
• En grandes tamaños, afecta
Trends el performance del servicio
• Base de datos con
History 2021-01-01
particionamiento
History 2021-01-02 • Facilidad para eliminar data
History 2021-01-03 histórica
• Mejora el performance del
Trends 2021 01 servicio
Trends 2021 02 • Recomendable solo para
Trends 2021 03 tablas históricas: history_* y
trends*
• Configuración en el Zabbix
frontend
• Hasta 90% en ahorro de
disco
• Postgre 12 o mayor
• Compresion de data (inserts,
deletes, updates) no son
permitidos
Recursos dedicados
Ventajas de arquitectura
distribuida
• Separación de recursos
• Optimización de infraestructura (Los recursos de la
base de datos no son los mismos que el FrontEnd
• Mejor manejo de Backup y Restore
• En caso de falla de algún servidor, esto no afectará
la totalidad del servicio
Ventajas de arquitectura
distribuida
• Separación de recursos
• Optimización de infraestructura (Los recursos de la
base de datos no son los mismos que el FrontEnd
• Mejor manejo de Backup y Restore
• En caso de falla de algún servidor, esto no afectará
la totalidad del servicio
Recomendaciones
https://www.linkedin.com/company/imagunet/