La carga máxima que puede soportar un entorno de Pandora FMS va a depender de las siguientes características que se presenten en el entorno:
- Capacidad del hardware y software instalado. Cuanta mayor capacidad de CPU, RAM y velocidad de lectura y escritura en disco tenga el servidor alojado mayor número de módulos / segundo podrá procesar el mismo. Partiendo de un entorno de 2 CPU / 2 GB RAM y Disco 7200 RPM que puede soportar unos 100 Agentes y 1000 módulos sin problemas, hasta servidores con mucho mayor capacidad que pueden llegar a procesar sin problemas más de 10 000 Agentes.
- Intervalo de monitorización. El parámetro que nos va a medir el rendimiento que puede soportar el entorno, es el número de módulos / segundo que necesitará soportar. No es lo mismo tener 1000 módulos a un intervalo de actualización de 1 minuto, que 1000 módulos con intervalo de 10 minutos. El primero necesitará procesar 16 módulos por segundo y el segundo 1,6 módulos por segundo.
- Latencia de red. En entornos con latencia de red superior el número de agentes y módulos que se pueden monitorizar es inferior al número de elementos que se monitorizaran en un entorno con latencias bajas. Partiendo de la premisa de número de módulos / segundo, si para cada chequeo tenemos que dedicar 2-3 segundos en vez de 0,1 segundo, el número de chequeos de red máximo que se realizarán será inferior y esto limitará la capacidad del mismo. Se puede solventar este problema con la instalación de más servidores.
- Arquitectura con varios servidores. Repartir la carga de los procesos de Apache, MySQL y el servidor de Pandora FMS en varios servidores nos ayudará a conseguir una mayor tasa de módulos por segundo y nuestro entorno podrá soportar una mayor carga.
- Optimización del servidor. Uno de los puntos más importantes es tener una correcta optimización de PHP, MySQL y el servidor de Pandora FMS conforme al entorno que se vaya a monitorizar y los recursos disponibles del servidor, de nada nos vale tener un servidor muy potente si usamos la configuración básica de MySQL, PHP o el propio servidor y no aprovechamos los recursos disponibles.
- Histórico de datos. Cuanto más ágil sea la base de datos principal y menos datos tenga la misma, más rápido será el procesamiento de la monitorización. Por ello se recomienda el uso de base de datos de histórico para entornos con necesidad de almacenaje grande de datos.
- Teniendo en cuenta todas estas métricas es esencial que la carga total del servidor calculada con la tasa máxima de procesamiento de módulos por segundo no sobrepase el 60-75% de la carga máxima soportada. En el caso de no cumplir con esta premisa nos podemos encontrar en momentos en los que haya sobrecarga en el entorno a la hora de procesar un informe importante y tengamos retrasos en la monitorización.
Por ejemplo, si un entorno tiene una tasa de 20 módulos/segundo de procesado y tenemos un intervalo de 5 minutos configurado en todos los módulos, el número máximo de módulos que va a procesar es de 20*300=6000
módulos. Por lo tanto se recomienda que si ponemos de umbral el 60%, el número de módulos máximo configurado en ese entorno sea de 6000*0,6=3600
módulos.
Para calcular la tasa de módulos que soporta un entorno tenemos el script :
/usr/share/pandora_server/util/pandora_dbstress.pl /etc/pandora/pandora_server.conf
El cual está instalado con el propio servidor de Pandora FMS y que nos da la tasa máxima de procesado, por ejemplo:
-> Current rate: 1989.03 modules/sec.