Architecture des serveurs (version 784)
Introduction
Lors du dernier changement d'architecture, qui a vu le passage des threads aux processus, la consommation excessive et la complexité de l'optimisation de l'environnement sont apparues clairement, en raison du nombre trop important de sous-types de serveurs disponibles.
Ce sujet présente un changement de modèle qui utilise la même base, en unifiant sur moins de serveurs, de sorte qu'en disposant de plus de threads pour des tâches multiples, les ressources matérielles et le temps seront mieux utilisés.
Nouvelle architecture et équivalences
Serveurs Pandora FMS (version 783)
Les serveurs sont intégrés dans une application unique, appelée génériquement Pandora Server, qui est une application multithread exécutant simultanément différentes instances ou serveurs spécialisés de Pandora FMS. Pour la version 783 et les versions antérieures, les serveurs suivants étaient disponibles:
- Data Server.
- SNMP Console.
- Syslog Server.
- Export Server (rarement utilisé).
- Sync Server (peu utilisé).
- Discovery Server.
- WEB Server.
- Network Server.
- WMI Server.
- Plugins Server.
- Inventory Server.
- ICMP Server.
- SNMP Server (différent des traps SNMP).
- Event Server.
- Log Server.
- SIEM Server.
- NetFlow Server (inclut sFlow).
- NCM Server.
- Policy Manager Server.
- WUX Server.
- MADE Server.
Compte tenu de cette situation, et dans un environnement où la moitié des serveurs étaient démarrés, une utilisation élevée de la mémoire a été détectée sans que le travail ait réellement commencé.
Groupe de serveurs
Dans la version 784, les différents serveurs ont été regroupés dans un groupe plus restreint, ce qui signifie qu'un producteur peut générer différents types de tâches, par exemple un ping et un WMI check, qui sont désormais traités par un même utilisateur. Cet utilisateur exécutera une tâche pour WMI et une autre pour le PING, faisant essentiellement la même chose que d'habitude.
Les délais d'attente (timeouts) restent individuels pour chaque type d'exécution.
Network Server
Il assume les tâches des serveurs suivants:
- Network Server.
- Prediction Server.
- WMI Server.
- MADE Server.
- WEB Server.
Heavy Server
Il se charge des tâches des serveurs suivants:
- Plugin Server.
- NCM Server
- Export Server (désactivé par défaut).
- Inventory Server.
Network High Performance Server
Gère les charges de travail du ICMP Server et du SNMP Server.
Serveurs dépendants d'un serveur principal
- Policy Manager (dépend du Master Server d'un nœud).
- Migration Server (dépend du Master Server d'un Command Center ).
- Autoprovision Server (dépend du Master Server d'un Command Center).
- Sync Server (désactivé par défaut).
Configuration par défaut
Serveurs activés par défaut :
- Data Server.
- Heavy Server.
- Network Server.
- Discovery Server.
- Network High Performance Server.
Serveurs désactivés par défaut :
- MADE Server.
- SNMP Console.
- Mainframe Server.
- NetFlow Server.
- Syslog Server.
- WUX Server.
- SIEM Server.
- SIEM Event Server.
- Event Server.
- Log Server.
- Alert Server.
Fichier de configuration pandora_server.conf
La configuration principale du serveur Pandora FMS se trouve dans le fichier pandora_server.conf, dans le chemin d'accès par défaut /etc/pandora.
À partir de la version 784, deux nouveaux tokens principaux (et leurs configurations de threads) ont été ajoutés:
Les tokens suivants ont été retirés:
| Token | Remplacé par |
|---|---|
exportserver | heavyserver |
export_threads | heavyserver_threads |
icmpserver | networkhpserver |
icmp_threads | networkhpserver_threads |
inventoryserver | heavyserver |
inventory_threads | heavyserver_threads |
ncmserver | heavyserver |
ncmserver_threads | heavyserver_threads |
pluginserver | heavyserver |
plugin_threads | heavyserver_threads |
predictionserver | networkserver |
prediction_threads | network_threads |
snmpserver | networkhpserver |
snmp_threads | networkhpserver_threads |
webserver | networkserver |
web_threads | network_threads |
wmiserver | networkserver |
wmi_threads | network_threads |
Modifications mineures
Exécution de contrôles à intervalles rapprochés
La valeur par défaut pour l'intervalle de vérification est de 300 secondes (5 minutes). Cependant, depuis longtemps, une solution définitive était nécessaire pour pouvoir exécuter des temps d'échantillonnage dans les tests réseau inférieurs à ce chiffre, plus précisément proches de 30 secondes, voire moins.
C'est pourquoi, à partir de la version 784, il est possible d'activer, uniquement dans certains modules, l'exécution de modules avec un intervalle pouvant aller jusqu'à 15 secondes:
- ICMP Latency.
- ICMP Boolean (ping).
- SNMP numérique et numérique incrémental.
Dans les modules asynchrones, il n'est en aucun cas possible de choisir un intervalle inférieur à 5 minutes. L'interface visuelle de PFMS affichera un message indiquant si le module édité ne prend pas en charge un intervalle inférieur à cette valeur.
Lorsque les vérifications sont effectuées à des intervalles égaux ou inférieurs à 5 minutes, la précision des données passe à une décimale (par exemple : 2.22 → 2.2) afin d'éviter que la base de données ne soit chargée avec de petites fluctuations de valeurs.
La génération d'un état inconnu est ignorée pour les modules (de tout type) dont l'intervalle est inférieur à 300 secondes. À partir de 300 secondes, les états de type inconnu continueront d'être générés.
Compactage des données
Effacement indépendant des données pour les intervalles courts
Dans la version 784, il existe une nouvelle catégorie dans les paramètres de suppression qui affecte particulièrement les données dont l'intervalle est inférieur à 300 secondes. Par défaut, ce type de données ne peut être conservé plus d'une semaine et est ensuite transféré vers l'historique.
Nouveau compactage des données
Cette nouvelle compression des données est utilisée au moment du transfert des données vers la base de données historique, de sorte que, quelles que soient les données, pas plus de X échantillons par heure ne soient enregistrés dans la base de données historique (par exemple, de 12, ce qui est normal, on peut passer à 5 par défaut).
Configuration par défaut: ce type de compression n'est pas utilisé.
Si vous l'utilisez, la valeur par défaut sera de 5 échantillons par heure. Le contrôle de la configuration générale ne permet pas de laisser une valeur inférieure à 1 ou supérieure à 12. La compression n'est pas effectuée lorsque le nombre d'échantillons est inférieur à la valeur définie.