Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel
titleSommaire

Table of Contents
maxLevel3
stylenone

Présentation

Le module architecture-export effectue deux types d'actions distinctes :

  • Modification de la configuration de NagVis afin de permettre la communication entre NagVis et Shinken
  • Création des cartes d'une architecture Shinken pour NagVis

Chaque action est retranscrite dans les logs de l'arbiter

Panel
titleSommaire

Table of Contents
stylenone

Les logs de modification de la configuration de NagVis

Lecture de la configuration du module

Au démarrage du module, celui-ci va commencer par lire sa propre configuration afin de vérifier que les informations sont bonnes (voir Module architecture-export)

En INFO seront affichés les étapes de lecture de la configuration. En DEBUG seront affichés les détails de lecture de la configuration, tels que les paramètres récupérés.

Exemple


Note

Tous les logs de modification/lecture sont écrits deux fois. Ceci est dû au fait que nous fournissons deux installations NagVis distinctes, chacune d'entre elles est concernée par ces modifications/lectures : 

nagvis-shinken-architecture, qui est celui sur lequel nous mettons à disposition des cartes générées automatiquement

nagvis, qui lui ne contient aucune carte générée par Shinken


Lecture de la configuration du module [ READING CONFIGURATION ]

Au démarrage du module, celui-ci va commencer par lire sa propre configuration afin de vérifier que les informations sont bonnes (voir HIDDEN - 001 - Module architecture-export)

Il est ainsi possible de voir toutes les étapes de la lecture de la configuration.

Exemple

Voici un exemple d'une lecture de configuration du module ayant réussie :

Code Block

Voici un exemple d'une lecture de configuration du module ayant réussie

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] Broker [ broker ] found from parameter [ architecture_export__broker_connection__broker_name ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] WebUI Brokermodule [ brokerWebUI ] found
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] WebUI module found from  from parameter [ architecture_export__broker_connection__broker_webui ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] The WebUI address is [ localhost ], we will use its public address [ http://192.168.1.119:7767 ] for WebUI redirection
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] Livestatus WebUImodule [ WebUILivestatus ] found, itsfrom addressparameter is http://192.168.1.119:7767[ architecture_export__broker_connection__broker_livestatus ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] The Livestatus address is [ localhost ], we will use its public address [ 192.168.1.119 ] for WebUI redirection
:50000 ]


Cas d'erreurs

Si le Broker renseigné dans le paramètre architecture_export__broker_connection__broker_name est introuvable, l'édition du fichier de configuration de NagVis sera annulée et ce message apparaîtra :

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFOERROR   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] Livestatus module found from The Broker [ broker ] set with parameter [ architecture_export__broker_connection__broker_livestatusname ]
[AAAA-MM-DD HH:MM:SS] DEBUG  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] Livestatus [ Livestatus ] found, its address is 192.168.1.119:50000
Cas d'erreurs
 do not exists. Abort edition of the nagvis config file


Si le paramètre architecture_export_broker_connection_broker_webui_communication_type est à "module" et que le module WebUI renseigné dans le paramètre architecture_exportSi le Broker renseigné dans le paramètre architecture_export__broker_connection_broker_brokerwebui_name targetest introuvable, l'édition du fichier de la configuration de la communication entre NagVis et le module WebUI sera annulée et ce message apparaîtra :

Info

Pour plus d'informations sur ces paramètres, voir HIDDEN - 001 - Module architecture-export


Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] The brokerWebUI module [ brokerWebUI ] set with parameter [ architecture_export__broker_connection__broker_webui_nametarget ] do not exists. Aborton editionthe of the nagvis config fileBroker [ broker-master ], we will not change the configuration of the communication between NagVis and the WebUI


Si le module Livestatus renseigné dans le paramètre architecture_export__broker_connection__broker_livestatus Si le paramètre architecture_export_broker_connection_broker_webui_communication_type est à "module" et que le module WebUI renseigné dans le paramètre architecture_export_broker_connection_broker_webui_target est introuvable, l'édition de la configuration de la communication entre NagVis et le module WebUI Livestatus sera annulée et ce message apparaîtra :

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING CONFIGURATION ] The WebUILivestatus module [ WebUILivestatus ] set with parameter [ architecture_export__broker_connection__broker_webui_targetlivestatus ] do not exists on the Broker [ broker-master ], we will not change the configuration of the communication between NagVis and the WebUI
Si le module Livestatus renseigné dans le paramètre architecture_export__broker_connection__broker_livestatus est introuvable, l'édition
Livestatus


Edition/Lecture de la configuration de

la communication entre NagVis et le module Livestatus sera annulée et ce message apparaîtra

NagVis [ CONFIGURATION ]

Après la lecture de la configuration du module, celui-ci va être face à deux options :

  • Si la configuration est bonne, la configuration de NagVis sera systématiquement mise à jour.
  • Sinon, il va simplement lire la configuration de NagVis afin de connaître son état actuel.

Exemples

Voici un exemple d'une modification de la configuration de NagVis ayant réussie :

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO 
Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ READING nagvis-shinken-architecture ] [ CONFIGURATION ] TheUPDATING Livestatusconnection modulebetween [NagVis Livestatusand ] set with parameter [ architecture_export__broker_connection__broker_livestatus ] do not exists on the Broker [ broker-master ], we will not change the configuration of the communication between NagVis and the Livestatus

Edition/Lecture de la configuration de NagVis

Après la lecture de la configuration du module, celui-ci va être face à deux options :

  • Si la configuration est bonne, il va modifier la configuration de NagVis pour être en accord avec la sienne
  • Sinon, il va simplement lire la configuration de NagVis afin de connaître son état actuel

En INFO seront affichés les différentes étapes. En DEBUG seront affichés les détails, tels que les paramètres récupérés.

Exemples

Voici un exemple d'une modification de la configuration de NagVis ayant réussie

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   Shinken modules
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] Editing /etc/shinken/external/nagvis/etc/nagvis.ini.php file
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] UPDATING    - Setting WebUI connection betweento allow NagVisredirection andon ShinkenNagVis modulesmaps
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] Edit /etc/shinken/external/nagvis/etc/nagvis.ini.php file       => "shinken_auth_protocol" parameter set to [ http ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]     -  Setting WebUI connection to allow redirection on NagVis maps=> "shinken_auth_port" parameter set to [ 7767 ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "shinken_auth_protocoladdress" parameter set to [ http192.168.1.119 ]
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "shinken_auth_porthosturl" parameter set to [ 7767http://192.168.1.119:7767/detail-by-name/[host_name] ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "shinken_auth_addressserviceurl" parameter set to [ http://192.168.1.119:7767/detail-by-name/[host_name]/checks/[service_description] ]
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]    - Setting Livestatus connection => "hosturl" parameter set to [ http://192.168.1.119:7767/detail-by-name/[host_name] ]
[AAAA-MM-DD HH:MM:SS] DEBUGto get Shinken objects status
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "serviceurlsocket" parameter set to [ http://socket="tcp:192.168.1.119:7767/detail-by-name/[host_name]/checks/[service_description]50000" ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] File   - Setting Livestatus connection to get Shinken objects status/etc/shinken/external/nagvis/etc/nagvis.ini.php edited
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] UPDATING connection between NagVis and   => "socket" parameter set to [ socket="tcp:192.168.1.119:50000" ]Shinken modules
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] FileEdit /etcopt/shinken/external/nagvis/etc/nagvis.ini.php editedfile
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ] UPDATING connection between NagVis- andSetting Shinken modulesWebUI connection to allow redirection on NagVis maps
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ] Edit /opt/nagvis/etc/nagvis.ini.php file       => "shinken_auth_protocol" parameter set to [ http ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]    -   Setting WebUI connection to allow redirection on NagVis maps=> "shinken_auth_port" parameter set to [ 7767 ]
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "shinken_auth_protocoladdress" parameter set to [ http 192.168.1.119 ]
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "shinken_auth_porthosturl" parameter set to [ http://192.168.1.119:7767/detail-by-name/[host_name] ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "shinken_auth_addressserviceurl" parameter set to [ http://192.168.1.119:7767/detail-by-name/[host_name]/checks/[service_description] ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]    - Setting Livestatus connection => "hosturl" parameter set to [ http://192.168.1.119:7767/detail-by-name/[host_name] ]to get Shinken objects status
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "serviceurlsocket" parameter set to [ http://socket="tcp:192.168.1.119:7767/detail-by-name/[host_name]/checks/[service_description]50000" ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ] File   - Setting Livestatus connection to get Shinken objects status
/opt/nagvis/etc/nagvis.ini.php edited




Si une erreur de configuration est présente, l'architecture-export lira simplement la configuration de NagVis afin d'afficher son état actuel :

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "socket" parameter set to [ socket="tcp:192.168.1.119:50000" ]=================================================================
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] DUE TO File /opt/nagvis/etc/nagvis.ini.php edited

Si aucune modification n'est attendue, dû à une erreur de configuration, l'architecture-export lira simplement la configuration de NagVis afin d'afficher son état actuel

Code Block
languagejs
themeEmacs
CONFIGURATION ERROR, The connection between NagVis and Shinken modules will NOT be updated
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] The connection between NagVis and Shinken modules will not be changed=================================================================
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] ReadReading /etc/shinken/external/nagvis/etc/nagvis.ini.php file
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]    - No WebUI module found, we will keep previous NagVis configuration. Redirection to WebUI on NagVis maps may not work properly
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "shinken_auth_protocol" parameter not changed. It is still [ http ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "shinken_auth_port" parameter not changed. It is still [ 7767 ]
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "shinken_auth_address" parameter not changed. It is still [ 192.168.1.119 ]
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "hosturl" parameter not changed. It is still [ http://192.168.1.119:7767/detail-by-name/[host_name] ]
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "serviceurl" parameter not changed. It is still [ http://192.168.1.119:7767/detail-by-name/[host_name]/checks/[service_description] ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]    - No Livestatus module found, we will keep previous NagVis configuration. Status of Shinken elements on NagVis maps may not work properly
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ]        => "socket" parameter not changed. It is still [ socket="tcp:192.168.1.119:50000" ]
.168.1.119:50000" ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ] The connection between NagVis and Shinken modules will not be changed
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ] Read /opt/nagvis/etc/nagvis.ini.php file
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]    - No WebUI module found, we will keep previous NagVis configuration. Redirection to WebUI on NagVis maps may not work properly
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "shinken_auth_protocol" parameter not changed. It is still [ http ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "shinken_auth_port" parameter not changed. It is still [ 7767 ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "shinken_auth_address" parameter not changed. It is still [ 192.168.1.119 ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "hosturl" parameter not changed. It is still [ http://192.168.1.119:7767/detail-by-name/[host_name] ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "serviceurl" parameter not changed. It is still [ http://192.168.1.119:7767/detail-by-name/[host_name]/checks/[service_description] ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]    - No Livestatus module found, we will keep previous NagVis configuration. Status of Shinken elements on NagVis maps may not work properly
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis ] [ CONFIGURATION ]        => "socket" parameter not changed. It is still [ socket="tcp:192.168.1.119:50000" ]
[AAAA-MM-DD HH:MM:SS] INFO : [ arbiter ] [ ARCHITECTURE-EXPORT ] [ nagvis-shinken-architecture ] [ CONFIGURATION ] =================================================================


Les logs d'envoi/réception d'architecture [ NOM_DE_L'ARCHITECTURE ]

Un module architecture-export peut envoyer et recevoir une architecture.
Chaque architecture reçue sera cartographiée sur le module l'ayant reçu.

Envoi de son architecture

Au démarrage, l'architecture-export va envoyer son architecture à tous les "recipients" configurés dans le module.

Les logs montrent alors tous les envois effectués.

Exemple


Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ NOM_DE_L'ARCHITECTURE ] Sending architecture to 2 recipients
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ NOM_DE_L'ARCHITECTURE ] Sending architecture to [http://127.0.0.1:7780]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ NOM_DE_L'ARCHITECTURE ] Sending architecture to [http://192.168.0.15:7780]


Cas d'erreurs

Si une adresse ne commence pas par 'http' ou 'https' cette erreur apparaîtra :

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] External export module address '127.0.0.1' has an incorrect format (does not start with 'http://' or 'https://'). Skipping sending info to this address.


Si le port d'une adresse n'a pas été spécifié, cette erreur apparaîtra :

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] No port specified in the external export module address '127.0.0.1'. Skipping sending info to this address.


Réception d'une architecture

Lors de la réception d'une architecture, nous la sauvegardons temporairement dans un fichier json afin de préserver son état. Ceci permet au redémarrage de l'Arbiter de connaître les architectures présentes sur son module.

Exemple


Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ NOM_DE_L'ARCHITECTURE ] 127.0.0.1 ask me to map its architecture
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ NOM_DE_L'ARCHITECTURE ] The Architecture have been received, we will make its maps
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ NOM_DE_L'ARCHITECTURE ] Save broks contents /var/lib/shinken/architecture_export_received.json


Les logs de création de carte NagVis [ MAP GENERATOR ]

Récupération des hôtes existants sur le listener-shinken

Avant tout, il nous faut récupérer les hôtes existant sur le listener-shinken étant lié à l'architecture que nous allons cartographier.
Nous affichons alors des logs expliquant ce qui a été trouvé :

Exemple

Voici un exemple de récupération d'hôtes auprès du listener-shinken

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Retrieving hosts corresponding to this architecture from the Synchronizer (listener-shinken)
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Found [ Shinken - ALL - 192.168.1.119 ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Found [ Shinken - BORDEAUX - 192.168.1.119 ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Found [ Shinken - GRENOBLE - 192.168.1.119 ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Found [ Shinken - LYON - 192.168.1.119 ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Found 4 hosts


Cas d'erreurs

Si l'architecture-export essaye de communiquer avec le listener-shinken en HTTPS alors qu'il ne l'est pas, une erreur apparaîtra et la création de la map sera abandonnée. Pour régler ce problème, il faut modifier la configuration du module  (voir HIDDEN - 001 - Module architecture-export).

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Retrieving hosts corresponding to this architecture from the Synchronizer (listener-shinken)
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Try to request the listener with HTTPS, but it failed. Verify if your listener-shinken is on HTTPS


Si les identifiants de connexion au listener-shinken sont incorrects, une erreur apparaîtra et la création de la map sera abandonnée. Pour régler ce problème, il faut modifier la configuration du module  (voir HIDDEN - 001 - Module architecture-export).

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Retrieving hosts corresponding to this architecture from the Synchronizer (listener-shinken)
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Bad login and password for the listener


Création de la liste des hôtes à partir de l'architecture reçue

Une fois les hôtes déjà disponible sur le listener-shinken récupérés, nous devons en modifier/créer pour être en accord avec l'architecture reçue.

Exemple

Voici l'exemple d'une génération d'un hôte de l'architecture reçue :

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Building host list from architecture description received
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Host [ Shinken - ALL - localhost ] modified
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Host [ Shinken - Paris - localhost ] generated
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => 2 hosts generated


Envoi des hôtes au listener-shinken

Lorsque tous les hôtes liés à l'architecture sont générés, nous les envoyons au listener-shinken.

Exemple

Voici un exemple de l'envoi d'un hôte vers le listener-shinken :

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Sending hosts to Synchronizer (via listener-shinken)
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Sending [ Shinken - ALL - localhost ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Sending [ Shinken - Paris - localhost ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => 2 hosts sent


Cas d'erreurs

Si l'architecture-export essaye de communiquer avec le listener-shinken en HTTPS alors qu'il ne l'est pas, une erreur apparaîtra et la création de la map sera abandonnée. Pour régler ce problème, il faut modifier la configuration du module  (voir HIDDEN - 001 - Module architecture-export).

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Sending hosts to Synchronizer (via listener-shinken)
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Try to request the listener with HTTPS, but it failed. Verify if your listener-shinken is on HTTPS


Si les identifiants de connexion au listener-shinken sont incorrect, une erreur apparaîtra et la création de la map sera abandonnée. Pour régler ce problème, il faut modifier la configuration du module  (voir HIDDEN - 001 - Module architecture-export).

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Sending hosts to Synchronizer (via listener-shinken)
[AAAA-MM-DD HH:MM:SS] ERROR  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Bad login and password for the listener


Désactivation des hôtes obsolètes

Des hôtes, trouvés dans le listener-shinken, liés à l'architecture reçue peuvent être obsolètes suite à une modification de l'architecture. Nous les désactivons alors du listener-shinken.

Exemple

Voici un exemple d'une désactivation d'hôtes obsolètes

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Disabling old hosts to Synchronizer (via listener-shinken)
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Old host [ Shinken - BORDEAUX - 192.168.1.119 ] disabled on synchronizer           
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Old host [ Shinken - GRENOBLE - 192.168.1.119 ] disabled on synchronizer           
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => Old host [ Shinken - LYON - 192.168.1.119 ] disabled on synchronizer     
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => 3 hosts disabled  


Suppression des images des cartes NagVis obsolètes

Avant de créer les nouvelles cartes, il faut supprimer les anciennes afin de ne pas avoir de doublons et de ne pas charger le disque.

Les cartes sont découpées en deux parties :

  • Le fond, qui est une image générée par l'architecture-export
  • Le fichier de configuration, qui est généré par l'architecture-export et équivaut aux positions des éléments Shinken dans la carte


Nous commençons par supprimer les fonds.

Exemple

Voici un exemple d'une suppression de fonds de cartes NagVis

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Removing obsolete NagVis maps backgrounds
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => [ /etc/shinken/external/nagvis/share/userfiles/images/maps/background_[Shinken]
_Royaume:_All2021519148-e1bca43a-cdac-4411-9691-870a625b911b.png ] removed
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => [ /etc/shinken/external/nagvis/share/userfiles/images/maps/background_[Shinken]
_Architecture_Shinken2021519148-e1bca43a-cdac-4411-9691-870a625b911b.png ] removed  


Suppression des fichiers de configuration des cartes NagVis obsolètes

Après avoir supprimé les fonds des cartes, il faut supprimer les fichiers de configuration.

Exemple

Voici un exemple d'une suppression de fichiers de configuration NagVis

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Removing obsolete NagVis maps configuration
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => [ /etc/shinken/external/nagvis/etc/maps/shinken_global-e1bca43a-cdac-4411-9691-870a625b911b.cfg ] removed
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => [ /etc/shinken/external/nagvis/etc/maps/shinken_architecture-e1bca43a-cdac-4411-9691-870a625b911b.cfg ] removed
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]         => [ /etc/shinken/external/nagvis/etc/maps/All-e1bca43a-cdac-4411-9691-870a625b911b.cfg ] removed


Calcul de la taille des royaumes pour les cartes NagVis

Les cartes NagVis sont sous forme de blocs imbriqués. Pour pouvoir les créer il faut alors assigner une taille de bloc à chaque royaume. Pour se faire, nous calculons leur taille selon leur contenu :

  • Taille initiale du royaume
  • Taille des sous-royaumes
  • Taille des hôtes
    • Nombre de checks

Exemple

Voici un exemple d'un calcul de la taille réussi

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Computing architecture objects size


Tri des royaumes

Nous trions les royaumes par taille afin d'avoir un rendu agréable à l'œil

Exemple

Voici un exemple d'un tri réussi

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ Shinken ] [ MAP GENERATOR ]     - Sorting realms


Génération des cartes NagVis

C'est à cette étape que les cartes NagVis sont générées. Il y a au total 4 types de fichiers :

  • Un arbre représentant tous les royaumes,
  • Une carte détaillée de tous les royaumes,
  • Une carte détaillée par royaume,
  • Un fichier de configuration de rotation, permettant de faire défiler les cartes NagVis d'une même architecture,


Chaque création de fichier est affiché dans les logs.

Exemple

Voici un exemple de génération ayant réussie

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ CONFIGURATIONMAP GENERATOR ] The connection between NagVis and Shinken- modulesGenerating will not be changedNagvis maps
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ MAP CONFIGURATIONGENERATOR ] Read /opt/nagvis/etc/nagvis.ini.php file         => Generating realms tree NagVis map
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ MAP CONFIGURATIONGENERATOR ]    - No WebUI module found, we=> willGenerating keepdetailed previousarchitecture NagVis configuration. Redirection to WebUI on NagVis maps may not work properlymap
[AAAA-MM-DD HH:MM:SS] DEBUGINFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ MAP CONFIGURATIONGENERATOR ]         => "shinken_auth_protocol" parameter not changed. It is still [ http Generating NagVis map for realm [All]
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ MAP CONFIGURATIONGENERATOR ]         => "shinken_auth_port" parameter not changed. It is still [ 7767 Generating NagVis map for realm [Paris]
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ CONFIGURATIONMAP GENERATOR ]         => "shinken_auth_address" parameter not changed. It is still [ 192.168.1.119 ]
Generating rotation configuration for NagVis maps


Sauvegarde des hôtes listener-shinken dans un fichier de rétention

A chaque réception d'architecture, le module sauvegarde l'état des hôtes du listener-shinken dans un fichier.

Ce permet de n'envoyer de demande de creation / modification d'hôte que si il y a des nouveautés.

Exemple

Voici un exemple de sauvegarde de rétention ayant réussie

Code Block
languagejs
themeEmacs
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisEXPORT ] [ CONFIGURATIONShinken ] [ MAP GENERATOR ]    => "hosturl"- parameterSaving nothosts changed.sent Itto islistener stillin [ http://192.168.1.119:7767/detail-by-name/[host_name] ]retention file
[AAAA-MM-DD HH:MM:SS] INFO DEBUG  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ MAP CONFIGURATIONGENERATOR ]         => "serviceurl"listener parameterhosts notmapping changed. It is saved in /var/lib/shinken/architecture_export_hosts_mapping.json


Cas d'erreurs

Si l'architecture-export n'a pas les droits d'écriture sur le fichier de rétention, cette erreur apparaîtra et la sauvegarde sera abandonnée

Code Block
languagejs
themeEmacs
still [ http://192.168.1.119:7767/detail-by-name/[host_name]/checks/[service_description] ]
[AAAA-MM-DD HH:MM:SS] INFO   : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ MAP CONFIGURATIONGENERATOR ]     - NoSaving Livestatushosts modulesent found,to welistener willin keep previous NagVis configuration. Status of Shinken elements on NagVis maps may not work properlyretention file
[AAAA-MM-DD HH:MM:SS] DEBUGERROR  : [ arbiter-master  ] [ ARCHITECTURE-EXPORT ] [ nagvisShinken ] [ MAP CONFIGURATIONGENERATOR ]        => "socket" parameter not changed. It is still [ socket="tcp:192.168.1.119:50000" ]
Note

La modification/lecture de la configuration de NagVis est visible 2 fois. Ceci est dû au fait que nous fournissons deux installations NagVis distincts : 

nagvis-shinken-architecture, qui est celui sur lequel nous mettons à disposition des cartes générées automatiquement

nagvis, qui lui ne contient aucune carte générée par Shinken
=> Permission denied on /var/lib/shinken/architecture_export_hosts_mapping.json