Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltruefalse
Panel
titleSommaire

Table of Contents
stylenone

Description

Concept

Ce module source

vous

permet de détecter automatiquement des équipements réseau et des serveurs physiques dans

votre

l'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 
        • 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.


      Cette page explique comment définir ce type de collecteur.
      La page "Collecteur de type discovery-import ( Scan NMAP )" décrit comment l'utiliser ( voir la page Collecteur de type discovery-import ( Scan NMAP ) ).

    Activation du

    module

    collecteur

    Il est possible d'avoir uniquement une source de type discovery-import

    Vous pouvez avoir plusieurs sources de type ldap-import pour, par exemple se connecter à plusieurs serveurs Active Directory

    .

    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 :

    Code Block
    languagebashjs
    themeConfluence
    define synchronizer { 
    	...
        sources                   Source 1, Source 2, Source 3, discovery
         ...
    }


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

    Code Block
    languagetext
    themeEmacs
    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

    Code Block
    languagejs
    themeConfluencebash
    title/etc/shinken/sources/discovery.cfg
    # CFG_FORMAT_VERSION 1 ( SHINKEN : DON'T TOUCH THIS LINE )
    
    #================================================================================
    # discovery
    #================================================================================
    # Daemons that can load this source:
    #  - synchronizer
    # MandatoryThis source, do not edit.
    #====== module allows you to automatically detect network devices and physical servers in your infrastructure and import them in the configuration.
    # MANDATORY SOURCE
    #================================================================================
    
    
    define source {
    
        source_name# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
        #  ────────────────────────────────────────────────    SOURCE IDENTITY    ────────────────────────────────────────────────  discovery#
        order# └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
    
        # ─── Source name [ Must be unique ]             10000000
        import_interval               5
        module_type                  [ discovery-import
    MANDATORY ]   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
    source_name     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
    Code Block
    source_name 
    Texte---discovery

    Valeur obligatoire et non modifiable

    Code Block
    module_type 
    Texte---discovery-import

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

    Fonctionnement de la source

    Code Block
    languagebash
    define source { 
    	...
        order                            discovery
    
        # ─── Source module type [ Do not edit ]                             3
        import_interval    5
        enabled         [ MANDATORY ] 0
        description        This source is about loading hosts from active directories───
        ...
    }
    NomTypeUnitésDéfautCommentaire
    Code Block
    order
    Entier---3

    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.

    Code Block
    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.
    Code Block
    enabled
    Booléen---0

    Permets d'activer ou désactiver la source ( 1 pour activer, 0 pour désactiver ).

    Code Block
    description
    Texte---

    Description du module qui apparaît dans l'interface du Synchronizer.

    Options du module

    Code Block
    languagebash
    define source { 
    	...
        mode                # ───                                                                                                                       ───
        module_type                                         discovery-import
    
        # ─── Interval between each automatic import                 ad
        connection_configuration_file     /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-connection.json
                      rules_configuration_file          /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-rules.json
        mapping_configuration_file        /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-mapping.json
        ...
    }                ───
        # ─── Interval in minutes between each automatic import of the source                                                       ───
        # ───       -> Setting it to 0 will deactivate the automatic import and can only be done manually                           ───
        #           Default : 5                                                                                                     ───
        #                                                                                                                           ───
        import_interval                                     5
    
        # ─── Order of priority when merging data                                                                                   ───
        # ─── The final element will take the value of the element from the source with the highest priority                        ───
        # ───       -> Priority at source with the order closest to 1                                                               ───
        #           Default : 10                                                                                                    ───
        #                                                                                                                           ───
        order                                               10
    
        # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
        # │ ───────────────────────────────────────────────    DATABASE OPTIONS    ──────────────────────────────────────────────── │ #
        # └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
    
        # ──────────────────────  General  ────────────────────────────────────────────────────────────────────────────────────────── #
    
        # ─── Database backend                                                                                                      ───
        #                                                                                                                           ───
        #           Default : mongodb => Use Mongo as database backend                                                              ───
        # ───                                                                                                                       ───
        data_backend                                        mongodb
    
        # ─────────────────  MongoDB parameters  ──────────────────────────────────────────────────────────────────────────────────── #
    
        # ─── USE ONLY IF "data_backend" IS SET TO "mongodb"                                                                        ───
    
        # ─── MongoDB uri definition . You can find the mongodb uri syntax at                                                       ───
        # ─── https://docs.mongodb.com/manual/reference/connection-string/                                                          ───
        #                                                                                                                           ───
        #           Default : mongodb://localhost/?w=1&fsync=false                                                                  ───
        # ───                                                                                                                       ───
        mongodb_uri                                         mongodb://localhost/?w=1&fsync=false
    
        # ─── Database to use                                                                                                       ───
        #                                                                                                                           ───
        #           Default : synchronizer                                                                                          ───
        # ───                                                                                                                       ───
        mongodb_database                                    synchronizer      
    
    	# ─── username/password to authenticate to MongoDB.                                                                         ───
        # ─── Both parameters must be provided for authentication to function correctly.                                            ───
        # ───                                                                                                                       ───
        # synchronizer__source_discovery-import__database__username
    
        # ───                                                                                                                       ───
        # synchronizer__source_discovery-import__database__password
          
    	# ─── SSH tunnel activation to secure your mongodb connection                                                               ───
        # ─── That will allow all mongodb to be encrypted & authenticated with SSH                                                  ───
        #                                                                                                                           ───
        #           Default : 0 => Disable ( disable ssh tunnel )                                                                   ───
        #           ...     : 1 => Enable  ( enable ssh tunnel )                                                                    ───
        # ───                                                                                                                       ───
        mongodb_use_ssh_tunnel                              0
    
        # ─── If the SSH connection goes wrong, then retry use_ssh_retry_failure time before_shinken_inactive                       ───
        #                                                                                                                           ───
        #           Default : 1 ( number of retry )                                                                                 ───
        # ───                                                                                                                       ───
        mongodb_use_ssh_retry_failure                       1
    
        # ─── SSH user to connect to the mongodb server.                                                                            ───
        #                                                                                                                           ───
        #           Default : shinken                                                                                               ───
        # ───                                                                                                                       ───
        mongodb_ssh_user                                    shinken
    
        # ─── SSH keyfile to connect to the mongodb server.                                                                         ───
        #                                                                                                                           ───
        #           Default : ~shinken/.ssh/id_rsa                                                                                  ───
        # ───                                                                                                                       ───
        mongodb_ssh_keyfile                                 ~shinken/.ssh/id_rsa
    
        # ─── SSH Timeout used to test if the SSH tunnel is viable or not, in seconds.                                              ───
        #                                                                                                                           ───
        #           Default : 10 ( seconds )                                                                                        ───
        # ───                                                                                                                       ───
        mongodb_retry_timeout                               10
    
        # ─── Number of connection tries to do before considering a request as an error.                                            ───
        #                                                                                                                           ───
        #           Default : 15 ( tries )                                                                                          ───
        # ───                                                                                                                       ───
        discovery-import__database__retry_connection_X_times_before_considering_an_error 15
    
        # ─── Time interval between each attempt.                                                                                   ───
        #                                                                                                                           ───
        #           Default : 5 ( seconds )                                                                                         ───
        # ───                                                                                                                       ───
        discovery-import__database__wait_X_seconds_before_reconnect 5
    
        # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
        # │ ───────────────────────────────────────────────    INTERNAL OPTIONS    ──────────────────────────────────────────────── │ #
        # └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
    
        # ─── Path to your discovery rules file.                                                                                    ───
        #                                                                                                                           ───
        #           Default : /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json          ───
        # ───                                                                                                                       ───
        rules_path                                          /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json
    
        # ─── Path to your nmap-mac-prefixes file.                                                                                  ───
        #                                                                                                                           ───
        #           Default : /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes        ───
        # ───                                                                                                                       ───
        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

    Scroll Title
    anchorparameter_cfg
    title
    NomTypeUnitéDéfautDescription
    No Format
    source_name 
    Texte--- discovery

    Valeur obligatoire et non modifiable.

    No Format
    module_type 
    Texte--- discovery-import

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

    Fonctionnement de la source

    Code Block
    languagejs
    themeConfluence
    define source { 
    	...     
    	# ─── Interval between each automatic import                                                                                ───
        # ─── Interval in minutes between each automatic import of the source                                                       ───
        # ───       -> Setting it to 0 will deactivate the automatic import and can only be done manually                           ───
        #           Default : 5                                                                                                     ───
        #                                                                                                                           ───
        import_interval                                     5
    
        # ─── Order of priority when merging data                                                                                   ───
        # ─── The final element will take the value of the element from the source with the highest priority                        ───
        # ───       -> Priority at source with the order closest to 1                                                               ───
        #           Default : 10                                                                                                    ───
        #                                                                                                                           ───
        order                                               10     ...
    }
    Scroll Title
    anchorparameter_cfg
    title
    NomTypeUnitéDéfautDescription
    No Format
    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  ).

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

    No Format
    import_interval
    EntierMinute 5

    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 d'accès à la base de données

    Code Block
    languagejs
    themeConfluence
    title/etc/shinken/sources/discovery.cfg
        # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
        # │ ───────────────────────────────────────────────    DATABASE OPTIONS    ──────────────────────────────────────────────── │ #
        # └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
    
        # ──────────────────────  General  ────────────────────────────────────────────────────────────────────────────────────────── #
    
        # ─── Database backend                                                                                                      ───
        #                                                                                                                           ───
        #           Default : mongodb => Use Mongo as database backend                                                              ───
        # ───                                                                                                                       ───
        data_backend                                        mongodb
    
        # ─────────────────  MongoDB parameters  ──────────────────────────────────────────────────────────────────────────────────── #
    
        # ─── USE ONLY IF "data_backend" IS SET TO "mongodb"                                                                        ───
    
        # ─── MongoDB uri definition . You can find the mongodb uri syntax at                                                       ───
        # ─── https://docs.mongodb.com/manual/reference/connection-string/                                                          ───
        #                                                                                                                           ───
        #           Default : mongodb://localhost/?w=1&fsync=false                                                                  ───
        # ───                                                                                                                       ───
        mongodb_uri                                         mongodb://localhost/?w=1&fsync=false
    
        # ─── Database to use                                                                                                       ───
        #                                                                                                                           ───
        #           Default : synchronizer                                                                                          ───
        # ───                                                                                                                       ───
        mongodb_database                                    synchronizer      
    	
    	# ─── username/password to authenticate to MongoDB.                                                                         ───
        # ─── Both parameters must be provided for authentication to function correctly.                                            ───
        # ───                                                                                                                       ───
        # synchronizer__source_discovery-import__database__username
    
        # ───                                                                                                                       ───
        # synchronizer__source_discovery-import__database__password
          
    	# ─── SSH tunnel activation to secure your mongodb connection                                                               ───
        # ─── That will allow all mongodb to be encrypted & authenticated with SSH                                                  ───
        #                                                                                                                           ───
        #           Default : 0 => Disable ( disable ssh tunnel )                                                                   ───
        #           ...     : 1 => Enable  ( enable ssh tunnel )                                                                    ───
        # ───                                                                                                                       ───
        mongodb_use_ssh_tunnel                              0
    
        # ─── If the SSH connection goes wrong, then retry use_ssh_retry_failure time before_shinken_inactive                       ───
        #                                                                                                                           ───
        #           Default : 1 ( number of retry )                                                                                 ───
        # ───                                                                                                                       ───
        mongodb_use_ssh_retry_failure                       1
    
        # ─── SSH user to connect to the mongodb server.                                                                            ───
        #                                                                                                                           ───
        #           Default : shinken                                                                                               ───
        # ───                                                                                                                       ───
        mongodb_ssh_user                                    shinken
    
        # ─── SSH keyfile to connect to the mongodb server.                                                                         ───
        #                                                                                                                           ───
        #           Default : ~shinken/.ssh/id_rsa                                                                                  ───
        # ───                                                                                                                       ───
        mongodb_ssh_keyfile                                 ~shinken/.ssh/id_rsa
    
        # ─── SSH Timeout used to test if the SSH tunnel is viable or not, in seconds.                                              ───
        #                                                                                                                           ───
        #           Default : 10 ( seconds )                                                                                        ───
        # ───                                                                                                                       ───
        mongodb_retry_timeout                               10
    
        # ─── Number of connection tries to do before considering a request as an error.                                            ───
        #                                                                                                                           ───
        #           Default : 15 ( tries )                                                                                          ───
        # ───                                                                                                                       ───
        discovery-import__database__retry_connection_X_times_before_considering_an_error 15
    
        # ─── Time interval between each attempt.                                                                                   ───
        #                                                                                                                           ───
        #           Default : 5 ( seconds )                                                                                         ───
        # ───                                                                                                                       ───
        discovery-import__database__wait_X_seconds_before_reconnect 5
    Scroll Title
    anchorparameter_cfg
    title
    NomTypeUnitéDéfautDescription
    No Format
    data_backend
    Texte---mongodb

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

    No Format
    mongodb_uri
    url---mongodb://localhost/?safe=false

    URL d'accès à MongoDB.

    No Format
    mongodb_database
    Texte---synchronizer

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

    No Format
    synchronizer__source_discovery-import__database__username
    Texte---

    Utilisateur pour l'authentification avec mot de passe à la base MongoDB.

    Utile uniquement si l'activation par mot de passe a été activé ( voir la page MongoDB - activation de l'authentification par mot de passe )

    No Format
    synchronizer__source_discovery-import__database__password
    Texte---

    Mot de passe de l'utilisateur utilisé pour l'authentification avec mot de passe à la base MongoDB.

    Utile uniquement si l'activation par mot de passe a été activé ( voir la page MongoDB - activation de l'authentification par mot de passe )

    No Format
    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.

    No Format
    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.
    No Format
    mongodb_ssh_user
    Texte---shinkenL'utilisateur qui sera utilisé si la connexion à la base de données est encapsulée dans un tunnel SSH.
    No Format
    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.
    No Format
    mongodb_retry_timeout
    Entier positifSeconde10Temps de connexion maximum avant que la connexion ne soit considérée comme trop longue et cause un échec de connexion.
    No Format
    discovery-import__database__retry_connection_X_times_before_considering_an_error
    Entier positif---

    15

    Nombre de tentatives à effectuer avant de considérer une requête mongo comme étant en erreur.
    No Format
    discovery-import__database__wait_X_seconds_before_reconnect
    Entier positifSeconde5Temps d'attente entre chaque tentative de requête mongo.

    Options du module

    Code Block
    languagejs
    themeConfluence
    title/etc/shinken/sources/discovery.cfg
        # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
        # │ ───────────────────────────────────────────────    INTERNAL OPTIONS    ──────────────────────────────────────────────── │ #
        # └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
    
        # ─── Path to your discovery rules file.                                                                                    ───
        #                                                                                                                           ───
        #           Default : /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json          ───
        #                                                                                                                           ───
        rules_path                                          /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.json
    
        # ─── Path to your nmap-mac-prefixes file.                                                                                  ───
        #                                                                                                                           ───
        #           Default : /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes        ───
        #                                                                                                                           ───
        nmap_mac_prefixes_path                              /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes    
    Scroll Title
    anchorparameter_cfg
    title
    NomTypeUnitéDéfautDescription
    No Format
    rules_path
    Path---

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

    Fichier .json comportant les règles de découvertes ( voir la page Collecteur de type discovery-import ( Scan NMAP ) - Règles de découverte  ).
    No Format
    nmap_mac_prefixes_path
    Path---/etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixesFichier comportant les propres nmap-mac-prefixes ( voir la page Collecteur de type discovery-import ( Scan NMAP )#Correspondanceentrel'adresseMACetleconstructeur ).
    NomTypeUnitésDéfautCommentaire
    Code Block
    mode
    Texte---ad

    Deux modes possibles :

    • ad : Ce mode permet de communiquer avec ad. 
      Lorsque ce mode est activé, cela modifie les chemins par défaut de ces paramètres :
      • connection_configuration_file
      • rules_configuration_file
      • mapping_configuration_file
    • openldap : Ce mode permet de communiquer avec un openldap. 
    • Lorsque ce mode est activé, cela modifie les chemins par défaut de ces paramètres :
      • connection_configuration_file
      • rules_configuration_file
      • mapping_configuration_file
    Code Block
    connection_configuration_file 
    Path---

    Fichier de configuration de connexion:

    • Pour le mode ad : /etc/shinken/_default/sources/active-directory-source/active-directory-connection.json
    • Pour le mode openldap : /etc/shinken/_default/sources/openldap-source/openldap-connection.json
    Code Block
    rules_configuration_file 
    Path---

    Fichier de configuration des règles d'import:

    • Pour le mode ad : /etc/shinken/_default/sources/active-directory-source/active-directory-rules.json
    • Pour le mode openldap : /etc/shinken/_default/sources/openldap-source/openldap-rules.json
    Code Block
    mapping_configuration_file 
    Path---

    Fichier de configuration du mapping des fields personnalisés:

    • Pour le mode ad : /etc/shinken/_default/sources/active-directory-source/active-directory-mapping.json
    • Pour le mode openldap : /etc/shinken/_default/sources/openldap-source/openldap-mapping.json
    Pour connaitre le contenu des fichiers .json voir: HIDDEN - V02.08.02 - Voir la configuration du module ( ldap-import : mode ad ) ou HIDDEN - Collecteur OpenLDAP 02.08.02