View Full Version : Import de hosts en masse
thoms
10-19-2007, 01:25 PM
Bonjour,
Dans ma société nous avons un réseau qui compte beaucoup de sites distants et j'aimerais les mettre dans nagios (comprendre : monitorer les routeurs). Je dispose des adresses IP dans des feuilles Excel, que je pourrais exporter dans des fichiers CSV.
J'ai déja fait cela :
- Créé un template pour mes routeurs.
- Essayé d'importer un host rataché à ce template dans la table 'host'. J'ai regarder les valeurs positionées sur un autre host dépendant d'un template équivalent et j'ai importé les même valeurs. Seuls changaient l'ID, le nom, l'alias, le template et l'adresse IP).
Mais cela ne fonctionne pas :-( Il doit y avoir d'autres choses à faire, mais je ne connais pas le modèle de données et je n'ai pas trouvé de réponse sur le forum.
Existe-t-il une doc quelquepart sur l'import CSV dans Centreon?
tidji22
10-19-2007, 02:17 PM
Bonjour,
Dans ma société nous avons un réseau qui compte beaucoup de sites distants et j'aimerais les mettre dans nagios (comprendre : monitorer les routeurs). Je dispose des adresses IP dans des feuilles Excel, que je pourrais exporter dans des fichiers CSV.
J'ai déja fait cela :
- Créé un template pour mes routeurs.
- Essayé d'importer un host rataché à ce template dans la table 'host'. J'ai regarder les valeurs positionées sur un autre host dépendant d'un template équivalent et j'ai importé les même valeurs. Seuls changaient l'ID, le nom, l'alias, le template et l'adresse IP).
Mais cela ne fonctionne pas :-( Il doit y avoir d'autres choses à faire, mais je ne connais pas le modèle de données et je n'ai pas trouvé de réponse sur le forum.
Existe-t-il une doc quelquepart sur l'import CSV dans Centreon?
Bonjour,
Regarde le modèle de la base, pour cela, utilise un outil de reverse ingeniering qui te recrer le modèle de la base, puis, tu épures les tables qui t'intéresses, puis, tu te fais un script qui va te remplir tes tables avec ta liste de host en fichier txt à part et ça roule, reste plus qu'à automatiser l'export centreon => nagios, ce qui est un peu moins facile, mais des astuces éxistent tout de même... ;)
-Archi-
10-19-2007, 02:31 PM
Il doit y avoir d'autres choses à faire, mais je ne connais pas le modèle de données et je n'ai pas trouvé de réponse sur le forum.
Bonjour,
Il y a effectivement une autre table à peupler, il s'agit de "extended_host_information". Tous les champs peuvent être NULL mais il faut qu'un enregistrement de cette table soit lié à chacun des hosts, sinon ils ne peuvent pas être édités. Ces informations sont totalement optionnelles pour Nagios mais Oreon en a besoin impérativement pour pouvoir afficher la page vu qu'il va chercher les 2 données en base.
Warning: array_map() [function.array-map]: Argument #2 should be an array in /usr/local/oreon/www/include/configuration/configObject/host/formHost.php on line 33
naparuba
10-19-2007, 03:36 PM
J'ai du le faire il y a peu pour une 100aine d'host, j'avais la liste en texte et j'ai parsé en awk pour générer les defines hosts{ etc...} en .cfg pour l'importer ensuite dans Oreon. Une ligne de awk et c'était bon.
thoms
10-19-2007, 07:27 PM
Merci, c'est excatement l'info qu'il me fallait.
Histoire que cela serve à d'autre, voici comment j'ai fait :
0- Attention ! Les requetes SQL proposé ici peuvent éclater votre base Centreon. Ne les utiliser que si vous savez exactement ce que vous faites!
1- Créer un template qui servira pour les hosts (renseigner toutes les valeurs nécessaires pour un host normal). Notez l'identifiant du template dans la base SQL. Si vous avez la flème de chercher dans la base, il apparait dans l'url lorsque vous editer un host. C'est le paramètre host_id dans l'adresse.
2- créer un fichier CSV (ou feuille Excel) avec les colonnes suivantes :
host_template_model_htm_id, host_name, host_alias, host_address,
host_active_checks_enabled, host_passive_checks_enabled,
host_checks_enabled, host_obsess_over_host, host_check_freshness,
host_event_handler_enabled, host_flap_detection_enabled,
host_process_perf_data, host_retain_status_information,
host_retain_nonstatus_information, host_notifications_enabled,
host_snmp_version, host_register, host_activate
Ces colonnes sont celle qui sont rempli pour la configuration minimal d'un host.
Utiliser les valeurs ci-dessous comme valeurs par défaut. Remplacer les champs suivants :
* N° de template (celui que vous avez créé),
* Nom du hote,
* Adresse IP)
Notez la présence de "install" dans l'alias. Laissez le cela sera utilisé plus loin.
N° de template;Nom du hote;install;Adresse IP;2;2;2;2;2;2;2;2;2;2;2;0;1;1
3- Importer le fichier CSV dans la table host (avec phpmyadmin par exemple). A ce stade, les hosts sont en base mais ne sont pas exploitable car ils ne sont pas déclarés dans la table extended_host_information.
4- Lancer la requete suivante pour inserer automatiquement les enregistrement correspondants dans la table extended_host_information.
insert extended_host_information (ehi_id,host_host_id)
select host_id,host_id from host where host_alias='install'
5- Enfin, changer la valeur du champ host_alias de la table host.
update host
set host_alias=host_name
where host_alias='install'
Coté suggestion je propose un import CSV de host avec une liste déroulante pour choisir le template ;-)
fgrosu
10-23-2007, 10:41 AM
Sinon, tu peux essayer le module nmap xml import. Il fait un scan de réseau et te permets de les importer. AMHA c'est plus rapide.
fgrosu
10-23-2007, 10:49 AM
Sinon, je viens de lire ceci :
http://forum.oreon-project.org/showthread.php?t=4214
Il a l'air intéréssant. A tester...