La charge maximale qu’un environnement Pandora FMS peut supporter dépend des caractéristiques suivantes qui sont présentées dans l’environnement :
- Capacité du matériel et des logiciels installés. Lorsque le serveur aura une plus grande capacité de CPU, de RAM et de vitesse de lecture et d’écriture sur le disque, un plus grand nombre de modules/seconde sera en mesure de le traiter. En partant d’un environnement de 2 CPU / 2 GB RAM et 7200 RPM disque qui peut supporter sans problème environ 100 Agents et 1000 modules, jusqu’à des serveurs de capacité beaucoup plus élevée qui peuvent arriver à traiter sans problème plus de 10 000 Agents.
- Intervalle de surveillance. Le paramètre qui mesurera la performance qui peut soutenir l’environnement, est le nombre de modules / seconde que vous devez soutenir. Ce n’est pas la même chose d’avoir 1000 modules avec un intervalle de mise à jour de 1 minute, que 1000 modules avec un intervalle de 10 minutes. Le premier devra traiter 16 modules par seconde et le second 1,6 modules par seconde.
- Latence du réseau. Dans les environnements à forte latence réseau, le nombre d’agents et de modules pouvant être surveillés est inférieur au nombre d’éléments qui seraient surveillés dans un environnement à faible latence. En partant du principe du nombre de modules/seconde, si pour chaque contrôle nous devons passer 2-3 secondes au lieu de 0,1 seconde, le nombre maximum de contrôles du réseau qui seront effectués sera inférieur et cela en limitera la capacité. Ce problème peut être résolu en installant plus de serveurs.
- Architecture multi-serveurs. La répartition de la charge des processus Apache, MySQL et Pandora FMS sur plusieurs serveurs nous aidera à atteindre un taux plus élevé de modules par seconde et notre environnement pourra supporter une charge plus élevée.
- Optimisation du serveur. Un des points les plus importants est d’avoir une optimisation correcte du serveur FMS PHP, MySQL et Pandora en fonction de l’environnement qui va être surveillé et des ressources disponibles du serveur. Il ne vaut pas la peine d’avoir un serveur très puissant si nous utilisons la configuration de base de MySQL, PHP ou le serveur lui-même et que nous ne profitons pas des ressources disponibles.
- Historique des données. Plus la base de données principale est agile et moins elle contient de données, plus le traitement de la surveillance sera rapide. C’est pourquoi nous recommandons l’utilisation de bases de données historiques pour les environnements ayant de grands besoins de stockage de données.
- En tenant compte de tous ces paramètres, il est essentiel que la charge totale du serveur calculée avec le taux de traitement maximal du module par seconde ne dépasse pas 60-75% de la charge maximale supportée. Si ce principe n’est pas respecté, nous pouvons nous retrouver dans des moments où l’environnement est surchargé lors du traitement d’un rapport important et où le suivi prend du retard.
Par exemple, si un environnement a un taux de 20 modules/seconde de traitement et que nous avons un intervalle de 5 minutes configuré dans tous les modules, le nombre maximum de modules qui seront traités est de 20*300=6000
modules. Ainsi, il est recommandé que si l’on met un seuil de 60%, le nombre maximum de modules configurés dans cet environnement sera de 6000*0,6=3600
modules.
Pour calculer le taux de module qui supporte un environnement, nous avons le script:
/usr/share/pandora_server/util/pandora_dbstress.pl /etc/pandora/pandora_server.conf
Est installé avec le serveur Pandora FMS lui-même qui nous donne le taux de traitement maximum (en anglais) :
-> Current rate : 1989.03 modules/sec.