====== Architecture ======
{{indexmenu_n>2}}
===== L’architecture de Pandora FMS =====
Le composant vital et où presque toutes les informations sont stockées est la **base de données MySQL**. Tous les composants Pandora FMS peuvent être répliqués et fonctionner dans un environnement purement [[:fr:documentation:pandorafms:complex_environments_and_optimization:06_ha|HA]] (Actif/Passif) ou dans un environnement en cluster (Actif/Actif avec [[:fr:documentation:pandorafms:monitoring:02_operations#distribuer_la_charge_de_supervision_avec_des_brokers|load balancing]]).
Les **serveurs PFMS** sont responsables de la collecte et du traitement des données. Les serveurs, avec les informations générées par eux ou par les agents, introduisent les données dans la base de données. La Console est la partie chargée d'afficher les données présentes dans la base de données et d'interagir avec l'utilisateur final. Les [[:fr:documentation:pandorafms:monitoring:02_operations#supervision_aved_des_agents_logiciels1|agents logiciels]] sont des applications qui s'exécutent dans les systèmes surveillés et collectent les informations pour les envoyer aux serveurs Pandora FMS.
==== Serveurs de Pandora FMS ====
Les serveurs sont intégrés dans une seule application, génériquement appelée **Pandora Server**, qui est une application multithread qui exécute simultanément différentes instances ou serveurs spécialisés de Pandora FMS. Ensuite, chacun des serveurs spécialisés de Pandora FMS est décrit. Ceux sont les éléments chargés d'effectuer les contrôles existants. Ils les vérifient et modifient leur statut en fonction des résultats obtenus. Ils sont également chargés de déclencher les alertes qui sont établies pour contrôler l'état des données.
Il peut y avoir des serveurs simultanés ; l'un d'eux est le serveur principal et le reste des serveurs sont des serveurs esclaves. **Bien qu'il y ait un serveur esclave et un serveur maître, ils fonctionnent tous simultanément**. La différence entre les deux est que lorsqu'un serveur du même type tombe en panne (par exemple, un serveur réseau), le serveur maître est chargé de traiter toutes les données associées au serveur qui est tombé en panne.
Pandora FMS gère automatiquement l'état de chaque serveur, son niveau de charge et d'autres paramètres. L'utilisateur peut surveiller l'état de chaque serveur via la [[:fr:documentation:pandorafms:installation:03_interface#gestion_des_serveurs|section état du serveur]] de la console Web.
Quelques serveurs sont seulement disponibles dans la version Enterprise de Pandora FMS{{:wiki:icono-modulo-enterprise.png?nolink& |Versión Enterprise.}}.
=== Serveur de données ===
Il traite les informations envoyées par les agents logiciels. Les agents logiciels collectent les informations localement à partir des systèmes dans lesquels ils sont installés et construisent un paquet d'informations au [[https://fr.wikipedia.org/wiki/Extensible_Markup_Language|format XML]]. Ces paquets au format XML sont envoyés au serveur. Dans le serveur, ils sont reçus dans un répertoire spécifique, le serveur traite tous les fichiers qui arrivent dans ce répertoire d'entrée et stocke les informations dans la base de données.
Différents serveurs de données peuvent être installés sur différents systèmes ou sur le même hôte en utilisant des serveurs virtuels ou avec de différents CPU.
Malgré sa simplicité, le serveur de données est l'un des éléments critiques du système, car il traite toutes les informations des agents et génère des alertes et des événements système basés sur ces données.
=== Serveur réseau ===
Il exécute des tâches de supervision à distance via le réseau : contrôles ICMP ([[https://fr.wikipedia.org/wiki/Ping_(logiciel)|ping]], temps de latence), requêtes TCP et requêtes SNMP. Il est très important que les machines exécutant les serveurs réseau aient une « visibilité réseau » aux appareils à superviser à distance.
[[:wiki:pandora_1.3_network_26dataserver_arch.png?id=fr:documentation:pandorafms:introduction:02_architecture&media=wiki:pandora_1.3_network_26dataserver_arch.png|{{ :wiki:pandora_1.3_network_26dataserver_arch.png?nolink&650 }}]]
=== Serveur Trap SNMP ===
Ce serveur utilise le démon standard du système de collecte de trap, **snmptrapd**. Ce démon reçoit les traps SNMP et la console SNMP de Pandora FMS les traite et les stocke dans la base de données. Il se charge également de lancer les alertes associées aux trappes SNMP que vous avez définies.
=== Serveur WMI ===
WMI est une norme Microsoft® permettant d'obtenir des informations et des applications du système d'exploitation à partir d'environnements MS Windows®. Pandora FMS dispose d'un serveur dédié pour surveiller les systèmes MS Windows® **à distance** via le protocole WMI.
=== Serveur Discovery ===
Il s'appelle maintenant Discovery server, et est utilisé pour [[:fr:documentation:pandorafms:monitoring:04_discovery#netscan|analyser régulièrement le réseau]], détecter de nouveaux systèmes en fonctionnement, appliquer un modèle de supervision et commencer immédiatement à superviser le nouveau système. En utilisant les applications GNU système **nmap**, **xprobe** et **traceroute**, il est également capable de détecter les systèmes d'exploitation et d'établir la topologie du réseau.
Le serveur Discovery permet également de lancer des tâches planifiées et de lancer une supervision spécifique contre les environnements virtuels, le Cloud, les bases de données ou toutes les applications ou environnements qui nécessitent d'explorer ce qui existe avant de commencer à le superviser.
=== Serveur de compléments (Plugins) ===
Il exécute des contrôles complexes à distance à l'aide de scripts personnalisés. Ils peuvent être développés dans n'importe quel langage et intégrés dans l'interface Pandora FMS, en étant gérés de manière centralisée. Ceci permet à un utilisateur avancé de définir ses propres tests complexes, développés par lui-même, et de les intégrer dans l'application afin qu'ils puissent être utilisés de manière confortable et centralisée depuis Pandora FMS.
=== Serveur de prédiction ===
{{:wiki:icono-modulo-enterprise.png |Versión Enterprise.}}
Une composante d'Intelligence Artificielle qui implémente statistiquement une prévision de données basée sur des données passées avec une profondeur allant jusqu'à 30 jours en quatre références temporelles, permettant de prédire les valeurs d'une donnée avec un intervalle de 10-15 minutes, et de savoir si une donnée à l'heure actuelle est anormale par rapport à son historique. Fondamentalement, nous devrons construire une ligne de base dynamique avec un profil hebdomadaire.
=== Serveur WEB ===
Il effectue des contrôles Web complets, tels que le processus d'identification d'un utilisateur, l'envoi de paramètres dans un formulaire, le contrôle du contenu, la navigation dans les menus, etc. Il est utilisé pour les contrôles de disponibilité vrai/faux et pour obtenir des temps de latence (en secondes) d'expérience de navigation complète.
=== Serveur d’exportation ===
{{:wiki:icono-modulo-enterprise.png |Versión Enterprise.}}
Il permet d'exporter les données d'un appareil supervisé d'une installation Pandora FMS à une autre, et donc de répliquer les données. Ceci est particulièrement utile lorsque vous avez un déploiement important, avec plusieurs installations Pandora FMS, et que vous souhaitez centraliser.
=== Serveur d’inventaire ===
{{:wiki:icono-modulo-enterprise.png |Versión Enterprise.}}
Le serveur d'inventaire obtient et affiche les informations d'inventaire des systèmes : logiciel installé, modèle des éléments matériels, disques durs, services fonctionnant dans le système, etc. Vous pouvez obtenir ces informations à distance et [[http://:fr:documentation:pandorafms:introduction:03_glossary#agent_logiciel|localement]].
=== Event server ===
{{:wiki:icono-modulo-enterprise.png |Versión Enterprise.}}
Ce serveur spécial sert à corréler les événements et générer des alertes mais il n'exécute pas des tâches de supervision. Ce serveur, contrariement au reste ne dispose pas de threads ni d'haute disponibilité.
=== Enterprise ICMP server ===
{{:wiki:icono-modulo-enterprise.png?nolink& |Versión Enterprise.}}Ils utilisent des stratégies avancées à exécuter des vérifitactions ICMP (ping) et produit une performance très supérieure à celle de la version Open.
=== Enterprise ICMP server ===
{{:wiki:icono-modulo-enterprise.png?nolink& |Versión Enterprise.}}Il travaille avec les OID (//**O**bject **ID**entifier//) précédement validés par le serveur Open, donc sa performance est élevée.
=== Serveur Satellite ===
{{:wiki:icono-modulo-enterprise.png |Versión Enterprise.}}
Ce composant est installé séparément sur le serveur principal de Pandora FMS. Il permet le transfert des fichiers de données des [[http://:fr:documentation:pandorafms:introduction:03_glossary#agent_logiciel|agents logiciels]] au serveur principal, agissant comme proxy des agents dans des [[http://:fr:documentation:pandorafms:complex_environments_and_optimization:05_satellite|topologies distribuées]]. Il envoie les données de supervision sous forme de fichiers XML via une connexion Tentacle, de sorte qu'il n'a pas besoin d'une connexion à la base de données.
=== Serveur WUX ===
{{:wiki:icono-modulo-enterprise.png |Versión Enterprise.}}
Combiné à la [[:es:documentation:pandorafms:monitoring:13_user_monitorization|grille de Selenium]], il permet d'effectuer des transactions WEB complexes de manière distribuée. Ces transactions sont exécutées dans un navigateur réel, et que leur sortie est capturée et traitée pour être affichée étape par étape, y compris la capture des erreurs, ainsi que les statistiques détaillées.
=== Serveur Syslog ===
{{:wiki:icono-modulo-enterprise.png |Version Enterprise.}}
Il permet Pandora FMS d'analyser le **syslog** de la machine où il se trouve, en analysant son contenu et en stockant les références dans le [[:fr:documentation:pandorafms:monitoring:09_log_monitoring|OpenSearch serveur]] correspondant.
=== Serveur Log ===
{{:wiki:icono-modulo-enterprise.png |Enterprise version.}}Il vous permet de corréler [[:fr:documentation:pandorafms:management_and_operation:01_alerts#correlation_des_alertesalertes_dans_les_evenements_et_les_journaux|log et d'exécuter vos alertes]].
=== Serveur d'alertes ===
S'il est actif il sera chargé de l'exécution de toutes les alertes de supervision, puisque par défaut chaque serveur sera chargée de ses propres alertes et dans quelques situations ils peuvent se produire des délais de supervision si une alerte doit s'exécuter et prend plus de temps de se faire.
==== Console web de Pandora FMS ====
C'est l'interface utilisateur de Pandora FMS. Cette console d'administration et d'exploitation permet à différents utilisateurs, avec différents privilèges, de contrôler l'état des agents, de voir les informations statistiques, de générer des graphiques et des tableaux de données, ainsi que de gérer les incidents avec son système intégré. Il est également capable de générer des rapports et de définir de manière centralisée de nouveaux modules, agents, alertes et de créer d'autres utilisateurs et profils.
La console web peut fonctionner sur plusieurs serveurs pour répartir la charge et pour faciliter l'accès par des problèmes logistiques (grands réseaux, nombreux groupes d'utilisateurs différents, différences géographiques, différences administratives, etc.).
==== Base de données de Pandora FMS ====
Pandora FMS utilise une base de données MySQL dans laquelle il stocke toutes les informations reçues en temps réel, en normalisant toutes les données provenant des différentes sources. Actuellement, Pandora FMS ne supporte que MySQL/MariaDB/Percona.
{{ :wiki:arch-schema.png?nolink& }}
==== Agents Software de Pandora FMS ====
Il est important de distinguer deux concepts : **Agent**, ou agent en console, comme conteneur, **Agent Softare**, en tant que logiciel qui s'exécute sur un ordinateur.
=== Agent (Conteneur) ===
L'agent Pandora FMS est simplement un élément d'organisation créé dans la console web de Pandora FMS et qui est associé à un groupe de modules (ou éléments de surveillance individuels). De plus, cet agent peut avoir (en option) une ou plusieurs adresses IP associées.
Un **Agent** peut contenir des modules de type distant ou local. Les modules de type distant sont exécutés par les serveurs qui obtiennent les informations [[:fr:documentation:pandorafms:monitoring:03_remote_monitoring|à distance]] (serveur réseau, serveur de reconnaissance…), et les modules de type local sont exécutés par les agents logiciels et collectés et traités par le serveur de données ([[:fr:documentation:pandorafms:introduction:02_architecture#serveur_de_donnees|Data Server]]).
=== Agent logiciel ===
Les agents logiciels sont installés sur les ordinateurs qui veulent être surveillés localement, en extrayant l'information de l'ordinateur lui-même. Ils sont principalement utilisés dans les serveurs pour surveiller les ressources machines (CPU, RAM, disques…) et les applications installées (MySQL, Apache, JBoss…). Généralement, la surveillance des serveurs et de l'équipement sera effectuée à l'aide d'agents logiciels, tandis que la surveillance de l'équipement réseau sera effectuée à distance sans l'installation d'aucun logiciel.
Toutes les informations des contrôles effectués sont saisies dans un seul fichier de données au format XML, qui est envoyé au serveur Pandora FMS dans une **intervalle** predéfini de 300 secondes. Il est également possible de transférer les packets en utilisant SSH ou FTP.
{{ :wiki:esquema-3.png }}
=== Fichier de données XML ===
Ce fichier de données contient une structure XML et son nom est formé par la combinaison du nom d'hôte où se trouve l'agent, d'un numéro de série différent pour chaque paquet de données et de l'extension ".data", qui indique que c'est un paquet de données.
..data
{{ :wiki:sw-agent.png }}
Le fichier de données est le fichier portant l'extension ".data ". Le fichier de vérification, avec l'extension ".checksum ", contient un hachage MD5 du fichier de données. Ceci permet une dernière vérification pour s'assurer que les données n'ont pas été modifiées d'aucune façon avant d'être traitées.
..checksum
Le fichier de données XML contient toutes les informations collectées par l'Agent lors de son exécution. Ce paquet de données a une conception compacte, flexible et légère qui permet à tout utilisateur d'utiliser les agents Pandora FMS ou leurs propres développements pour générer des informations et que celles-ci soient traitées dans Pandora FMS. Le fichier de données est un fichier XML similaire au suivant :
FTP Daemon
generic_proc
0
DiskFree
generic_data
5200000
UsersConnected
generic_data_inc
119
LastLogin
generic_data_string
slerena
==== Topologies, schémas et modèles de surveillance ====
=== Réseaux accessibles ===
* Réseau accessible pour **supervision à distance centralisée**. Où, à partir du serveur Pandora FMS, nous pouvons accéder à toutes les machines à sonder à distance.
* Réseau accessible pour la **surveillance basée sur les agents**. D'où, à partir des agents logiciels installés dans les machines surveillées, ils peuvent accéder sans problème au serveur Pandora FMS.
=== Réseau difficile d’accès ===
* **Le réseau distant n'est pas accessible par les contrôles à distance Pandora FMS :** Il utislise le mode //broker agent//.
{{ :wiki:modo-broker.png?790 }}
* **Agents logiciels qui n'ont pas accès au serveur Pandora FMS :** Dans ce cas il utilise la fonction //proxy// des agents logiciels, qui permet, à un agent qui n'a pas d'accès, d'utiliser un agent qui a accès au serveur, pour se connecter via celui-ci, en transférant les fichiers XML de tous les agents en plus du sien. Le //Serveur Satellite// peut aussi agir comme un agent proxy.
{{ :wiki:proxy-mode.png?790 }}
* Besoin de superviser des **différents réseaux pour la surveillance à distance avec le serveur :** Dans ce cas, nous pouvons aussi utiliser le " Serveur Satellite ", ou monter plusieurs serveurs Pandora FMS différents, connectés à la même base de données.
=== Caractéristiques organisationnelles spéciales ===
* **Double reporting : **De plus, vous pouvez configurer les agents pour qu'ils rapportent à deux serveurs Pandora FMS différents, bien qu'ils ne puissent être gérés que par l'un d'eux.
* **Gestion fragmentée :** Il est nécessaire de **déléguer la gestion d'une partie des équipes** à différents personnels, avec différents accès. Ceci, plus qu'un problème d'architecture, c'est un problème de gestion. Il est résolu avec les [[:fr:documentation:pandorafms:management_and_operation:11_managing_and_administration#systeme_acl_enterprise|permissions assignées sur les politiques]].
=== Grands environnements ===
{{:wiki:icono-modulo-enterprise.png?23x23 |Version Enterprise}}
* **Nombreux réseaux :** Lorsque elles ne peuvent pas être centralisées dans un seul serveur des serveurs en mode broker qui distribuent la charge de vérifications à distance.
* **Serveurs redondants** : En raisons de sécurité, si le matériel principale tombe en panne, [[http://:fr:documentation:pandorafms:complex_environments_and_optimization:06_ha|un serveur en HA]] peut automatiquement réinstaller et déleguer la charge de travail de supervision.
[[:fr:documentation:start|Revenir à l’Index de Documentation Pandora FMS]]