| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
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 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 ) - Import depuis un scan réseau" décrit comment l'utiliser ( voir la page Collecteur de type ( discovery-import ) - Import depuis un scan réseau ).
Activation du collecteur
Vous pouvez avoir uniquement une La source de type "discovery-import.Par défaut, l’installation " est une source qui doit être activée sur le démon Synchronizer.
- L'activation de la source s'effectue en ajoutant le nom de la source dans la configuration du
Synchronizer.- Par défaut, l’installation de Shinken Entreprise va mettre à disposition cette source sous le nom "
discovery".- Le fichier de configuration de la source est disponible sous /etc/shinken/sources/discovery.cfg
- Par défaut, l’installation de Shinken Entreprise va mettre à disposition cette source sous le nom "
- 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.
| language | js |
|---|
- .
- Pour cela, il faut ouvrir le fichier de configuration du
Synchronizeret ajouter dans le paramètre sources, le nom de la source de type"discovery-import".
- Contraintes :
- Activable uniquement sur le
Synchronizer( voir la page Définition du démon ( synchronizer-master.cfg ) ). Il ne peut y avoir qu'une seule source de type
"discovery-import".
- Activable uniquement sur le
Pour prendre en compte le changement de configuration, il faut redémarrer le Synchronizer :
| Code Block |
|---|
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
| Excerpt Include | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Exemple d'activation de la source nommée "discovery" sur le Synchronizer ( configuration livrée par défaut par Shinken )
L'exemple suivant :
- active la source
"discovery", - sur le Synchronizer
,dont la configuration est dans le fichier /etc/shinken/synchronizers/synchronizer-master.cfg
Modification dans le fichier du module /etc/shinken/synchronizers/synchronizer-master.cfg :
| Code Block | ||||
|---|---|---|---|---|
| ||||
define synchronizer{
[...] # | ||||
| Code Block | ||||
| ||||
#=============================================================================== # discovery #================ Sources =============================================================== # Daemons that can load this source: # - synchronizer # Mandatory source, do not edit. #=============================================================================== define source { source_name # syncui Automatically added # discovery Automatically added discovery # listener-shinken order Automatically added # server-analyzer 10 import_interval Automatically added # cfg-file-shinken 5 module_type Mandatory Standard Shinken Enterprise packs # discoverylistener-import rest data_backend SAMPLE for REST mongodblistener mongodb_uri# active-dir-example SAMPLE for mongodb://localhost/?safe=falseactive directory mongodb_database# sync-vmware synchronizer mongodb_use_ssh_tunnel SAMPLE for VMWare 0(deprecated) mongodb_use_ssh_retry_failure 1 mongodb_ssh_user# cfg-file-nagios SAMPLE for nagios shinkenimport mongodb_ssh_keyfile# openldap-example ~shinken/.ssh/id_rsa mongodb_retry_timeout SAMPLE for OpenLDAP import 10 # rules_pathcfg-file-sample SAMPLE for Shinken /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/discovery_rules.jsonframework import nmap_mac_prefixes_path# synchronizer-collector-vmware SAMPLE for VMWare /etc/shinken-user/configuration/daemons/synchronizers/sources/discovery/nmap/nmap-mac-prefixes } |
Détails des sections composant le fichier de configuration
Identification du module
sources discovery, Source 2, Source 3
[...]
} |
Puis redémarrage du Synchronizer:
| Excerpt Include | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Configuration
La configuration du module se trouve par défaut dans le fichier /etc/shinken/sources/discovery.cfg.
Fichier de configuration
| Code Block |
|---|
source_name |
Valeur obligatoire et non modifiable
| Code Block |
|---|
module_type |
Valeur obligatoire et non modifiable ( permet au Synchronizer de charger le code logiciel correspondant ).
| Code Block | ||
|---|---|---|
| ||
define source {
...
order 100000
import_interval 5
...
} |
| Code Block |
|---|
order |
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 Le mélange des sources & les clés de synchronisation (sync-key) 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 |
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
| |||||
# CFG_FORMAT_VERSION 1 ( SHINKEN : DON'T TOUCH THIS LINE )
#================================================================================
# discovery
#================================================================================
# Daemons that can load this source:
# - synchronizer
# 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 IDENTITY ──────────────────────────────────────────────── │ #
# └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ #
# ─── Source name [ Must be unique ] | |||||
| Code Block | |||||
|---|---|---|---|---|---|
| |||||
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 [ MANDATORY ] 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 } ─── source_name discovery # ─── Source module type [ Do not edit ] [ MANDATORY ] ─── # ─── ─── module_type discovery-import # ─── 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 # ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ # # │ ─────────────────────────────────────────────── 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 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
|
Fonctionnement de la source
| Code Block | ||||
|---|---|---|---|---|
| ||||
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 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
|
Options d'accès à la base de données
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ─────────────────────────────────────────────── 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Options du module
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
# ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ #
# │ ─────────────────────────────────────────────── 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 | |||||||
|---|---|---|---|---|---|---|---|
| |||||||
|
| Code Block |
|---|
data_backend |
Base de données où les informations de la source vont être stockées
| Code Block |
|---|
mongodb_uri |
URL d'accès à MongoDB
| Code Block |
|---|
mongodb_database |
Base Mongo où sont stockées les données de la source
| Code Block |
|---|
mongodb_use_ssh_tunnel |
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 |
| Code Block |
|---|
mongodb_ssh_user |
| Code Block |
|---|
mongodb_ssh_keyfile |
| Code Block |
|---|
mongodb_retry_timeout |
|
|
|
|
|