Announcement

Collapse
No announcement yet.

Clapi import

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

  • Clapi import

    Bonjour,

    Je voudrais pouvoir ajouter plusieurs hôtes via un fichier CSV car il se trouve que j'ai une centaine d'équipements à intégrer dans Centreon.
    Actuellement, j'ai installé CLAPI et renseigner les éléments dans mon fichier CSV
    Or je ne suis pas très bon en développement et je ne sais pas comment faire mon script afin d'importer correctement mon CSV.

    Pouvez-vous m'aider ?

  • #2
    Bonjour
    voici un petit exemple basé sur une configuration Centreon et IMP. On va s'appuyer sur les templates d'hôte. L'utilisation des templates d'hôtes permet la création automatique des services. En premier lieu, remplir le CSV sous cette forme

    <nom d'hôte>;<désignation de l'hôte>;<IP hôte>;<Templates d'hôte séparés par |>;<Instance>;<hostgroup>;<macro1>;<valeur1>;<macr o2>;<valeur2>;<macro3>;<valeur3>
    exemple de fichier import.csv
    Code:
    test1;server test1;172.16.209.5;generic-active-host-custom|OS-Linux-SNMP-custom;Central;linux
    test2;server test2;172.16.209.6;generic-active-host-custom|OS-Linux-SNMP-custom|App-DB-MySQL-custom;Central;linux;MYSQLPASSWORD;centreon;MYSQLPORT;3306;MYSQLUSERNAME;centreon
    test3;server test3;172.16.209.7;generic-active-host-custom;poller1;linux
    Les macros sont optionnelles d'où le test de validité des variables. Voici le code

    Code:
    #!/bin/bash
    CLAPI=/usr/share/centreon/bin/centreon
    INPUT=/root/import.csv
    OLDIFS=$IFS
    IFS=$';'
    [ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
    while read host lblhost ip template instance hostgroup macro1 valeur1 macro2 valeur2 macro3 valeur3
    do
      #echo $host
      $CLAPI -u admin -p password -o HOST -a ADD -v "$host;$lblhost;$ip;$template;$instance;$hostgroup"
      if [[ ! -z "$macro1" ]]
      then
        $CLAPI -u admin -p password -o HOST -a SETMACRO -v "$host;$macro1;$valeur1"
      fi
      if [[ ! -z "$macro2" ]]
      then
        $CLAPI -u admin -p password -o HOST -a SETMACRO -v "$host;$macro2;$valeur2"
      fi
      if [[ ! -z "$macro3" ]]
      then
        $CLAPI -u admin -p password -o HOST -a SETMACRO -v "$host;$macro3;$valeur3"
      fi
      $CLAPI -u admin -p password -o HOST -a APPLYTPL -v "$host"
    done < $INPUT
    IFS=$OLDIFS
    Ma page de configuration avant l'insertion des serveurs
    host1.jpg
    La page après insertion
    host2.jpg

    On peut vérifier l'ajout des macros pour le serveur test2

    macro1.jpg

    Les services sont ajouté grâce à la commande clapi APPLYTPL. J'espère t'avoir aidé
    Visiter mon site perso http://eric.coquard.free.fr/atelier/

    Comment

    Working...
    X