| Scroll Ignore |
|---|
| scroll-viewport | true |
|---|
| scroll-pdf | true |
|---|
| scroll-office | true |
|---|
| scroll-chm | true |
|---|
| scroll-docbook | true |
|---|
| scroll-eclipsehelp | true |
|---|
| scroll-epub | true |
|---|
| scroll-html | truefalse |
|---|
|
|
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 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
modulecollecteur
Il est possible d'Vous pouvez avoir uniquement une sources source 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
Exemple :
| Code Block |
|---|
| language | js |
|---|
| theme | Confluencebash |
|---|
|
define synchronizer {
...
sources Source 1, Source 2, Source 3, discovery
...
} |
Pour prendre en compte le changement de configuration, redémarrer le Synchronizer:
| Code Block |
|---|
|
service shinken-synchronizer restart |
La configuration du module se trouve par défaut dans le fichier fichier /etc/shinken/sources/discovery.cfg.
| Code Block |
|---|
| language | js |
|---|
| theme | bashConfluence |
|---|
| title | /etc/shinken/sources/discovery.cfg |
|---|
|
#= CFG_FORMAT_VERSION 1 ( SHINKEN : DON'T TOUCH THIS LINE )
#================================================================================
# discovery
#================================================================================
# Daemons that can load this source:
# - synchronizer
# Mandatory source, do not edit.
#This source 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_pathsource_name /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
| Nom | Type | Unités | Défaut | Commentaire |
|---|
Texte | --- | discovery | Valeur obligatoire et non modifiable | Texte | --- | discovery-import | Valeur obligatoire et non modifiable ( permet au Synchronizer de charger le code logiciel correspondant ). | Fonctionnement de la source
| Code Block |
|---|
|
define source {
...
order # ─── Source module type [ Do not edit ] 100000
import_interval [ MANDATORY ] 5
...
} |
| Nom | Type | Unités | Défaut | Commentaire |
|---|
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 |
Entier | minutes | 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.
| Code Block |
|---|
| language | bash |
|---|
| title | /etc/shinken/sources/discovery.cfg |
|---|
|
define source {
...
data_backend───
# ─── ───
module_type mongodb
mongodb_uri discovery-import
# ─── Interval between each automatic import 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
─── Interval in minutes rules_pathbetween each automatic import of the source /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
}
───
# ─── -> 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
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
| Texte | --- | discovery | Valeur obligatoire et non modifiable. | | Texte | --- | discovery-import | Valeur obligatoire et non modifiable ( permet au Synchronizer de charger le code logiciel correspondant ). | |
Fonctionnement de la source
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
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 |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
| 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. | | Entier | Minute | 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 |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
| 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 |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
| Texte | --- | mongodb | Base de données où les informations de la source vont être stockées. | | 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 | --- | 1 | Défini le nombre d'essais à réaliser si la connexion à la base de données est perdue. | | No Format |
|---|
mongodb_ssh_user |
| Texte | --- | shinken | L'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_rsa | La 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 positif | Seconde | 10 | Temps 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 positif | Seconde | 5 | Temps d'attente entre chaque tentative de requête mongo. |
|
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
| 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 |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
|
|
| Nom | Type | Unités | Défaut | Commentaire |
|---|
Texte | --- | mongodb | Base de données où les informations de la source vont être stockées | url | --- | mongodb://localhost/?safe=false | URL d'accès à MongoDB | | Code Block |
|---|
mongodb_database |
Texte | --- | synchronizer | Base Mongo où sont stockées les données de la source | | Code Block |
|---|
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 | | Code Block |
|---|
mongodb_use_ssh_retry_failure |
Entier positif | --- | 1 | Défini le nombre d'essais à réaliser si la connexion à la base de données est perdue | | Code Block |
|---|
mongodb_ssh_user |
Texte | --- | shinken | L'utilisateur qui sera utilisé si la connexion à la base de données est encapsulée dans un tunnel SSH | | Code Block |
|---|
mongodb_ssh_keyfile |
Texte | --- | ~shinken/.ssh/id_rsa | La clé SSH qui sera utilisée si la connexion à la base de données est encapsulée dans un tunnel SSH | | Code Block |
|---|
mongodb_retry_timeout |
Entier positif | --- | 10 | Temps de connexion maximum avant que la connexion ne soit considérée comme trop longue et cause un échec de connexion | code | Path | --- | /etc/shinken-user/configuration/daemons/ synchronizers/sources/discovery/discovery_rules.json | Fichier .json comportant |
|
vos | les règles de découvertes ( |
|
voir règles de découvertes )code | Path | --- | /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes | Fichier comportant |
|
vos | les propres nmap-mac-prefixes ( |
|
mécanisme de correspondance entre adresse MAC et constructeur )Pour connaitre le contenu des fichiers .json voir: HIDDEN - V02.08.02 - Voir la configuration du module ( ldap-import : mode ad ) ou HIDDEN - V02.08.02 - Collecteur OpenLDAP