Description

Cette source permet d'importer de nouveaux élément via des fichiers .cfg. La syntaxe d'import de ces fichiers est la même que la syntaxe Nagios.

Il est donc possible d'importer des fichiers de configuration Nagios dans Shinken, et ainsi migrer sa configuration Nagios vers Shinken Entreprise facilement.

Aussi, les fichiers de configuration Shinken sont évidemment supportés et importables dans Shinken Entreprise.

Activation de la source

Ajouter un collecteur d'import de fichier .cfg

Choisissez un nom pour ce nouveau collecteur.

  • Pour l'exemple, nous allons l'appeler "Mon-Collecteur-de-Fichier".
  • Remplacer dans l'exemple le mot "Mon-Collecteur-de-Fichier" par la nom que vous aurez choisi.

Faite les opérations suivantes :

  • Copier le fichier de définition de la source d'exemple : /etc/shinken-user-example/configuration/daemons/synchronizers/sources/cfg-file-import/cfg-file-import-example.cfg dans le répertoire de définition des sources /etc/shinken/sources/ et modifier son nom .
    ( Exemple : /etc/shinken/sources/collector__cfg-file-import__Mon-Collecteur-de-Fichier.cfg )

    cp  /etc/shinken-user-example/configuration/daemons/synchronizers/sources/cfg-file-import/cfg-file-import-example.cfg /etc/shinken/sources/collector__cfg-file-import__Mon-Collecteur-de-Fichier.cfg


  • Ouvrez ce fichier et modifier la ligne source_name en remplaçant le nom par défaut "cfg-file-example" par le nom que vous avez choisi "Mon-Collecteur-de-Fichier".

    source_name                Mon-Collecteur-de-Fichier


  • Une fois que le fichier a été édité, vérifiez que les droits sur le fichier sont bon ( lecture pour l'utilisateur Shinken ) . Si ce n'est pas le cas, effectuez la commande suivante :

    chmod -R 664 /etc/shinken/sources/collector__cfg-file-import__Mon-Collecteur-de-Fichier.cfg


  • Ajouter le nom de la nouvelle source au Synchronizer en modifiant le paramètre sources du fichier /etc/shinken/synchronizers/synchronizer-master.cfg.

        sources               source1,source2,source3,Mon-Collecteur-de-Fichier


  • Redémarrez le Synchronizer pour qu'il puisse prendre en compte cette nouvelle source

    service shinken-synchronizer restart


Activer le collecteur d'import de fichier cfg-file-nagios livré par défaut

Par défaut, l’installation ou la mise à jour de Shinken Entreprise va mettre à disposition une définition de collecteur d'import de fichier Nagios au format .cfg.

  • La configuration de ce collecteur se trouve par défaut dans le fichier : /etc/shinken/sources/cfg-file-nagios.cfg
  • Le collecteur cfg-file-sample s'active comme les autres sources, c'est-à-dire en modifiant le fichier /etc/shinken/synchronizers/synchronizer-master.cfg ( ou le .cfg que vous utilisez pour définir les options du Synchronizer )
    • Ce collecteur est déjà présent dans la liste des sources livrées par défaut, il n'y a donc rien à modifier.
    • Si il n'y est pas, vous pouvez le rajouter pour qu'il soit de nouveau actif.

Exemple :

sources     source1,source2,source3,cfg-file-nagios


Configuration

Voici la détail de fichier de configuration de la source se trouve ( suivant la procédure choisi ) :

  • soit dans le fichier que vous venez de créer en ajoutant le module ( par exemple /etc/shinken/sources/collector__cfg-file-import__Mon-Collecteur-de-Fichier.cfg ).
  • soit dans le fichier /etc/shinken/sources/cfg-file-nagios.cfg.

Exemple de fichier de configuration

Vous trouverez un exemple dans /etc/shinken-user-example/configuration/daemons/synchronizers/sources/cfg-file-import/cfg-file-import-example.cfg

#===============================================================================
# cfg-file-import-example
#===============================================================================
# Daemons that can load this source:
# - synchronizer
# This source import the cfg-config sample from Shinken Enterprise update.
#===============================================================================

define source {

    #======== source identity =========
    # Source name. Must be unique
    source_name                             cfg-file-import-example

    # Module type (to load module code). Do not edit.
    module_type                             cfg-file-import

    # order: source order for a source imply if a source is before an another source when
    # merging data
    order                                   1

    # import_interval:  in minutes, what is the schedule import interval for this source.
    # note: 0 = don't schedule this source, will run only if an administrator launch it from the
    # interface
    import_interval                         5

    # enabled: is this source enabled or not
    enabled                                 1

    # description: display a description on the interface for this source
    description               This source is about loading cfg files compatible with Shinken 

    # The list of properties to be used as sync_keys in addition to the item name. Properties not managed by Shinken can be added here.
    # properties_used_as_synckey            address

    # Properties which can be defined in the items from the source but which Shinken will not import.
    # not_stored_properties

    # With this option if item in cfg hasn't a SE_UUID, the source will ask the synchronizer to search a match in staging or in working area. If found, it will be inserted in the file.
    # update_cfg_with_staging_se_uuid       0

}


Détails des sections composant le fichier de configuration

Identification de la source

Il est possible de définir plusieurs instances de module de type cfg-file-import dans votre architecture Shinken.

  • Chaque instance devra avoir un nom unique.


NomTypeUnitéDéfautCommentaire


source_name 


Texte---cfg-file-sample-example

Nous vous conseillons de choisir un nom en fonction de l'utilisation du module pour que votre configuration soit simple à maintenir.

Chaîne de caractères composée de lettres, de chiffres et des caractères _  et - .

  • Doit être unique.
  • D'une longueur maximum à 40 caractères.
  • Ne doit pas contenir les caractères ?, &, ", ', $, /, #, \, ;


module_type 


Texte---cfg-file-importNe peut être modifié




Interval d'import et ordre de la source


NomTypeUnitéDéfautCommentaire


import_interval


Entier positif

minute0

Délai écoulé entre les imports automatiques de la source.
Si 0, l'import de la source ne sera jamais exécuté automatiquement. ( uniquement manuellement )


order


Entier positif

---

2

L'ordre de la source dans l'interface de configuration ( A un impact dans la fusion des données lors des imports de sources ).

Voir la page du Synchronizer pour plus d'information au sujet des fusions. 


Si vous changez l'ordre depuis l'interface ( page d’accueil ), le fichier .cfg sera mis à jour.

 


Emplacement des fichiers de configuration

Afin de récupérer les éléments Shinken, contenus dans des fichiers .cfg, il faut spécifier un unique fichier de définition de la source qui contiendra la liste des chemins vers les fichiers à importer. (Voir Importer ses propres fichiers CFG pour plus de détail)

...  
	cfg_path /etc/shinken-user/source-data/source-data-cfg-sample/definition-source-data-cfg-sample.cfg
...



NomTypeUnitéDéfautCommentaire


cfg_path


Texte

------

Emplacement du fichier de définition de la source. Ce fichier servira à définir où sont les fichiers .cfg à importer.


Clés de synchronisation ( sync_key )

Défini la liste des propriétés qui seront utilisées pour générer les clés de synchronisation.

À noter : On ne peut pas supprimer les valeurs par défaut, mais on peut les compléter.



NomTypeUnitéDéfautCommentaire


properties_used_as_synckey


Texte---_SE_UUID, host_namePermet de compléter la clé de synchronisation déjà existante.


Propriétés non récupérées

Il est possible de définir des propriétés que la source ne devra pas récupérer.

Dans le cas de cette source, il se peut que vous ne soyez pas l'auteur des fichiers cfg et que vous ne vouliez pas importer certaines propriétés.


NomTypeUnitéDéfautCommentaire


not_stored_properties


Texte------Empêche la récupération de certaines propriétés des éléments récoltés


Ajout des SE_UUID dans les fichiers de configuration

Si un élément importé dans un des fichiers .cfg ne contient pas pas de SE_UUID, Shinken va lui en générer un. Il est alors possible de faire en sorte que cet SE_UUID soit retranscrit dans le fichier .cfg grâce à ce paramètre.

...
	# With this option if item in cfg hasn't a SE_UUID, the source will ask the synchronizer to search a match in staging or in working area. If found, it will be inserted in the file.
	# update_cfg_with_staging_se_uuid 0
...



NomTypeUnitéDéfautCommentaire


update_cfg_with_staging_se_uuid


Booléen---0
  • 0 : N'ajoute pas les SE_UUID des éléments importés dans les fichiers .cfg
  • 1 : Ajout les SE_UUID des éléments importé dans les fichiers .cfg