Announcement

Collapse
No announcement yet.

Ajout de hosts automatique

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ajout de hosts automatique

    Bonjour à tous,

    Je suis actuellement en stage en entreprise, et je viens de découvrir Nagios (qui est d'ailleurs, couplé avec Oreon, d'une puissance remarquable).

    Nous avons créé une base de données dan laquelle nous stockons l'ensemble des adresses IP de nos routeurs, en plus d'autres informations relatives à ces derniers.

    J'aimerais savoir s'il est possible d'utiliser ma base de données pour rajouter des hosts automatiquement dans Oreon/nagios : créer un script, par exemple, qui lise ma BDD et ajoute mes équipements dans la liste des hosts que je veux monitorer.

    S'il est possible de faire cela en php (unique language que je maitrise, le html ca compte pas ), alors toute indication est la bienvenue.

    Merci d'avance, et bonne journée.

    Pierre Brunetti
    Last edited by spiderboy; 31 July 2007, 15:51.

  • #2
    salut,

    Tu dois pouvoir le faire avec un script.

    2 choix :
    1. generer des fichiers à plat de config de nagios et les importer dans Centreon
    2. inserer dans la BDD de centreon directement



    Le schema de BBD d'oreon est le suivant :

    hote et services
    table des hôtes : host
    table utilisée pour la relation hote/service : host_service_relation
    table des services : service

    hote et check alive
    champs pour le CA :
    - host.command_command_id = command.command_id

    J'suis pas certain a 100% mais deja tu devrais avoir pas mal d'infos pour generer des hotes à la main avec ca. Il doit pas te manquer grand chose.

    Bonne chance
    ..()_() .°("who | grep -i blonde | date; cd ~; unzip;")
    =(o_0)=
    *(() () Nicolas Verriest, France

    Comment


    • #3
      Bonsoir,

      merci de ta réponse. Je ne fais que ça en ce moment, la communication PHP/SQL, je m'y met dans la semaine, et je posterai mon code si j'arrive à faire quelque chose.

      Merci encore, et bonne soirée !

      Pierre Brunetti

      Comment


      • #4
        Bonsoir,

        j'ai finalement réussi à inclure mes hosts dans la base.

        Cependant, comme il y en a une bonne poignée (plus de 1500), j'ai relancé nagios, et là, impossible de me connecter à Oreon.

        J'ai bien la page de login, je me logue, et dès que j'arrive sur la page d'index, j'ai un bel "impossible d'afficher la page".

        Y'a-t-il trop d'hotes ? Dois-je en supprimer ?

        Si quelqu'un a une idée ...

        PS : voici mon code pour insérer mes hosts dans ma BDD :

        PHP Code:
        <?
        $base 
        mysql_connect('localhost','root','******');
        mysql_select_db('mabase',$base);
        $sql 'SELECT host,ip_adresse FROM matable WHERE ip_adresse NOT LIKE ""';
        $resultat mysql_query($sql) or die('Erreur SQL ! '.$sql.'<br>'.mysql_error());

        $i 1;
        while (
        $row mysql_fetch_row($resultat)) {
        $sql2 'INSERT INTO oreon.host (command_command_id,timeperiod_tp_id,timeperiod_tp_id2,command_command_id2,host_name,host_alias,host_address,host_max_check_attempts,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_notification_interval,host_notification_options,host_notifications_enabled,host_snmp_version,host_register,host_activate) ';
        $sql2 $sql2 'VALUES ("12","1","1","12","'.$row[0].'","'.$row[0].'","'.$row[1].'","10","2","2","2","2","2","2","2","2","2","2","2","d,u,r,f","2","0","1","1")';
        mysql_query($sql2) or die('Erreur SQL ! '.$sql2.'<br>'.mysql_error());

        $sql3 'INSERT INTO oreon.contactgroup_host_relation (cghr_id,host_host_id,contactgroup_cg_id) VALUES ("'.$i.'","'.$i.'","1")';
        mysql_query($sql3) or die('ERREUR SQL3');

        $sql4 'INSERT INTO oreon.hostgroup_relation (hostgroup_hg_id,host_host_id) VALUES ("1","'.$i.'")';
        mysql_query($sql4) or die('Erreur SQL ! '.$sql.'<br>'.mysql_error());
        $i $i 1;
        }
        mysql_close();
        ?>
        Merci de vos réponses,

        Pierre Brunetti

        [EDIT] : Resolu : j'ai simplement augmenté la taille maximale de mémoire qu'un script peut prendre poru son execution dans le php.ini.
        Last edited by spiderboy; 31 July 2007, 15:51.

        Comment

        Working...
        X