Introduction

Le module architecture-export permet de recevoir et envoyer la description de l'architecture d'installations Shinken, et d'en générer des cartes NagVis et hôtes Shinken associés pour la supervision.


Une description détaillée de ce module, son utilité et son utilisation sont présentes dans les pages de documentations associées: Visualiser l'architecture de son installation Shinken


Ci-dessous sont présentées de manière synthétique les différentes options de configuration de ce module, leur rôle ainsi que leurs valeurs par défaut.

Activation du module

Le module architecture-export est un module qui peut être activé seulement sur le démon sur Arbiter.

  • L'activation du module s'effectue en ajoutant le nom de ce module dans le fichier de configuration du Arbiter.
  • Pour se faire, il faut ouvrir le fichier de configuration du Arbiter à l'emplacement /etc/shinken/arbiters/, et ajouter le nom de votre module de type "architecture-export".


Exemple: par défaut, nous livrons un module dont le nom est "architecture-export":

define arbiter {
    [...]
    modules                   synchronizer-import, architecture-export
    [...]
}


Pour prendre en compte le changement de configuration, redémarrer l'Arbiter:

service shinken-arbiter restart


Configuration

La configuration du module se trouve par défaut dans le fichier  /etc/shinken/modules/architecture-export.cfg

  • Vous trouverez aussi systématiquement un exemple dans /etc/shinken-user-example/configuration/daemons/arbiters/modules/architecture-export/architecture-export.cfg

Exemple de fichier de configuration


#======================================
# Module that export daemon map from arbiter:
#===============================================================================
 
define module {
 
    #======== Module identity =========
    # Module name. Must be unique
    module_name             architecture-export
 
    # Module type (to load module code). Do not edit.
    module_type             architecture_export
 
 
 
    #======== File path =========
    # path: Path of NagVis installation to save the maps configuration files in. Default value is defined by Shinken installation.
    path                    /etc/shinken/external/nagvis
 
    #======== Architecture description communication =========
    # This module opens a listening socket on which other shinken installations will send their architecture description.
    # When an architecture description is received by the module, it creates corresponding hosts and NagVis maps.
 
    # host: interface used for the listening socket (0.0.0.0 = all interfaces)
    host                    0.0.0.0
 
    # Port to use for the listening socket
    port                    7780
 
    # 0 = Use HTTP, 1 = Use HTTPS
    use_ssl                 0
    ssl_cert                /etc/shinken/certs/server.cert
    ssl_key                 /etc/shinken/certs/server.key
 
    # Name with which this Shinken installation will be identified in the NagVis maps
    # The following characters are forbidden in the architecture name: ~!$%^&*"'|<>?,()=/+
    architecture_name       Shinken
 
    # Base of URL used to display links in the Visualization UI
    # Defaults to Arbiter URL if empty
    # map_base_url  http://example.com/
 
    # Architecture description recipients
    #   When the architecture of this Shinken installation changes (realms and daemons configuration),
    #   and the arbiter is restarted the architecture description will be sent to the following hosts.
    send_my_architecture_to_recipients   http://127.0.0.1:7780
    # Connection to the shinken-listener
    #   if the connexion parameter to the shinken-listener has been changed, set the new value here.
    #listener_use_ssl                     0
    #listener_login                       login
    #listener_password                    pass
 
 
    # SSH Settings for graphite hosts discovery
    #ssh_port                              22
    #ssh_user                              shinken
    #ssh_key_file                          /var/lib/shinken/.ssh/id_rsa.pub
    #ssh_timeout                           5
 
    # Sort order for realms in the NagVis maps
    # - sort_by_name
    # - sort_by_size (default)
    #map_realm_layout sort_by_size
}


Détails des sections composant le fichier de configuration

Identification du module

Il est possible de définir plusieurs instances de module de type architecture-export, le paramètre module_name permet d'identifier une instance donnée.

nomtypedéfautcommentaire


module_name 


Textearchitecture-exportChaîne de caractères composée de lettres, de chiffres et des caractères _  et -, commençant par une lettre.


module_type 


Textearchitecture-exportValeur non modifiable ( permet au démon de charger le code logiciel correspondant ).


Chemin d'accès à NagVis

Afin de modifier les paramètres de NagVis et de sauvegarder les fichiers de cartes générées, le module doit connaître le chemin d'accès vers le NagVis utilisé

nomtypedéfautcommentaire


path


Texte/etc/shinken/external/nagvisChemin d'accès vers l'installation NagVis utilisée par le module


Options de fonctionnement du module

Le module génère des cartes et envois son architecture à d'autres modules du même type. Il est possible de spécifier l'URL d'accès aux cartes, mais aussi la liste des modules à qui envoyer sa propre architecture.

nomtypedéfautcommentaire


map_base_url


TexteUrl de l'ArbiterURL d'accès aux cartes générées par le module. L'URL sera utilisée pour les liens dans l'interface de Visualisation


send_my_architecture_to_recipients



Textehttp://127.0.0.1:7780Liste des adresses des modules architecture-export vers lesquels envoyer son architecture. Les adresses doivent être séparées par des virgules


Communication du module

Le module doit écouter vers l'extérieur pour recevoir des architectures, mais il doit aussi communiquer avec le listener-shinken du Synchronizer pour lui envoyer les hôtes générés pour ses cartes. Ces paramètres de communications sont modifiables pour correspondre à chaque architecture.

Configuration des connexions entrantes


nomtypedéfautcommentaire


host


Texte0.0.0.0Interface réseau sur laquelle le module écoutera. 0.0.0.0 correspond à toutes les interfaces


port


Texte7780Port d'écoute du module


use_ssl


Booléen0

Paramètre activant le mode SSL ( https ).

Valeurs:

  • 0
  • 1


ssl_cert


Texte/etc/shinken/certs/server.certChemin d'accès vers le certificat SSL à utiliser (si use_ssl est à 1)


ssl_key


Texte/etc/shinken/certs/server.key

Chemin d'accès vers la clé SSL à utiliser (si use_ssl est à 1)


Communication avec le listener-shinken


nomtypedéfautcommentaire


listener_use_ssl


Booléen0

Paramètre activant le mode SSL pour la communication avec le listener-shinken ( https ).

Valeurs:

  • 0
  • 1


listener_login


TexteShinken

Nom d'utilisateur à utiliser pour communiquer avec le listener-shinken


listener_password


Textemot de passe généré à l'installation

Mot de passe à utiliser pour communiquer avec le listener-shinken


Paramètres de création de cartes

Il est possible de paramétrer certains aspects de la création des cartes NagVis.

nomtypedéfautcommentaire


architecture_name


TexteShinken

Nom de l'architecture de l'installation Shinken où se situe le module.
Ce nom sera affiché sur les cartes NagVis et les hôtes générés


map_realm_layout


Textesort_by_size

Ordre dans lequel les royaumes sont affichés sur les cartes NagVis.
Valeurs:

  • sort_by_name (Ordre alphabétique)
  • sort_by_size (Ordonné par taille sur la carte)


Envoi de la description de l'architecture

L'envoi de la description de l'architecture aux destinataires choisis (paramètre send_my_architecture_to_recipients) est déclenché au démarrage du module architecture-export, c'est-à-dire au démarrage du démon Arbiter.

Il est également possible de déclencher cet envoi manuellement, sans avoir à redémarrer le démon Arbiter, en envoyant une requête HTTP POST à l'URL suivante :

adresse_arbiter:7780/v1/architecture/send


Par exemple, avec curl :

curl -v -X POST adresse_arbiter:7780/v1/architecture/send