Description

Ce module source vous permet de détecter automatiquement des équipements réseau et des serveurs physiques dans votre infrastructure pour faciliter et accélérer leur import dans la configuration.

  • Cette source utilise la commande nmap pour la découverte des équipements.
  • pour cela la commande nmap:
    • Scanne les machines présentes sur le réseau et détecte les ports ouverts ;
    • Essaye de déterminer le constructeur de l'équipement en fonction de son adresse MAC ;
    • Si possible, détermine son FQDN ( Fully Qualified Domain Name ).

La source Discovery permet de définir des règles qui,

  • suivant les valeurs remontées par la commande nmap,
  • apportent un complément d'information sur les équipements découverts
  • Ce complément d'information peut être :
    • Des modèles d'hôtes suivant le type d'équipement.
    • L'ajout d'un préfixe au nom de l'équipement.

Activation du collecteur

Vous pouvez avoir uniquement une sources de type discovery-import.

Par défaut, l’installation de Shinken Entreprise va mettre à disposition cette source sous le nom "discovery".

  • Le fichier est disponible sous /etc/shinken/sources/discovery.cfg
  • Pour avoir cette source disponible
    • Le nom "discovery" doit être présent dans le paramètre sources du fichier /etc/shinken/synchronizers/synchronizer-master.cfg.

      Exemple:

      define synchronizer { 
      	...
          sources                   Source 1, Source 2, Source 3, discovery
           ...
      }


  • Pour prendre en compte le changement de configuration, redémarrer le Synchronizer:

    service shinken-synchronizer restart


Configuration

La configuration du module se trouve par défaut dans le fichier  /etc/shinken/sources/discovery.cfg

Fichier de configuration


#===============================================================================
# discovery
#===============================================================================
# Daemons that can load this source:
# - synchronizer
# Mandatory source, do not edit.
#===============================================================================


define source {

    source_name                   discovery
    order                         10
    import_interval               5
    module_type                   discovery-import
    data_backend                  mongodb
    mongodb_uri                   mongodb://localhost/?safe=false
    mongodb_database              synchronizer
    mongodb_use_ssh_tunnel        0
    mongodb_use_ssh_retry_failure 1
    mongodb_ssh_user              shinken
    mongodb_ssh_keyfile           ~shinken/.ssh/id_rsa
    mongodb_retry_timeout         10
    rules_path                    /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json
    nmap_mac_prefixes_path        /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes
}
   


Détails des sections composant le fichier de configuration

Identification du module


NomTypeUnitésDéfautCommentaire


source_name 


Texte---discovery

Valeur obligatoire et non modifiable


module_type 


Texte---discovery-import

Valeur obligatoire et non modifiable ( permet au Synchronizer de charger le code logiciel correspondant ).


Fonctionnement de la source


define source { 
	...
    order              100000
    import_interval    5
    ...
}




NomTypeUnitésDéfautCommentaire


order


Entier---10

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

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

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


import_interval


Entierminutes5

Délai écoulé entre les imports automatiques de la source. 

  • Un nombre ( en minutes )
  • Si 0, la source ne sera jamais exécutée automatiquement.



Options du module


define source {
    ...
    data_backend                  mongodb
    mongodb_uri                   mongodb://localhost/?safe=false
    mongodb_database              synchronizer
    mongodb_use_ssh_tunnel        0
    mongodb_use_ssh_retry_failure 1
    mongodb_ssh_user              shinken
    mongodb_ssh_keyfile           ~shinken/.ssh/id_rsa
    mongodb_retry_timeout         10
    rules_path                    /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json
    nmap_mac_prefixes_path        /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes
}
   



NomTypeUnitésDéfautCommentaire






data_backend


Texte---mongodb

Base de données où les informations de la source vont être stockées


mongodb_uri


url---mongodb://localhost/?safe=false

URL d'accès à MongoDB


mongodb_database


Texte---synchronizer

Base Mongo où sont stockées les données de la source


mongodb_use_ssh_tunnel



0 ou 1---0

Défini si la connexion à la base de données est directe ou doit être encapsulée dans un tunnel SSH


mongodb_use_ssh_retry_failure


Entier positif---1Défini le nombre d'essais à réaliser si la connexion à la base de données est perdue


mongodb_ssh_user


Texte---shinkenL'utilisateur qui sera utilisé si la connexion à la base de données est encapsulée dans un tunnel SSH


mongodb_ssh_keyfile


Texte---~shinken/.ssh/id_rsaLa clé SSH qui sera utilisée si la connexion à la base de données est encapsulée dans un tunnel SSH


mongodb_retry_timeout


Entier positif---10Temps de connexion maximum avant que la connexion ne soit considérée comme trop longue et cause un échec de connexion


rules_path


Path---

/etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json

Fichier .json comportant vos règles de découvertes ( voir règles de découvertes )


nmap_mac_prefixes_path


Path---/etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixesFichier comportant vos propres nmap-mac-prefixes ( voir mécanisme de correspondance entre adresse MAC et constructeur )