User Tools

Site Tools


hebergement:glpi-centos

Installation de GLPI sur Centos

inlinetoc

GLPI (Gestionnaire Libre de Parc Informatique)2 est un logiciel libre de gestion des services informatiques (ITSM) et de gestion des services d'assistance (issue tracking system et ServiceDesk). Il dispose également d'un système de plugins, qui permettent l'intégration de :

  1. la supervison Shinken qui consiste en une refonte complète du cœur de Nagios en Python (plugin monitoring)
  2. l'inventaire automatisé avec FusionInventory

Le serveur mis en oeuvre embarque:

  1. GLPI et son frontend http://xx.xx.xxx.xx/glpi
  2. SHINKEN et son frontend http://xx.xx.xxx.xx:7767
  3. SNMPTT
  4. FUSION INVENTORY (avec un agent)
  5. Collectd et son frontend
Frontal web GLPI Frontal web WEBUI2 cGRE SNMPTTD Machine X GLPI Monitoring FusionInventory receiver NRPE C++ poller C shell broker ... SHINKEN reactionner scheduler arbiter c1AB FUSION INVENTORY (D) Machine Y c1FF Agent FusionInventory FrontEnd Collectd Agent Fusion inventory Collectd Machine Virtuelle glpi Network x.x.x.x (6)traps snmp (6) traps (5) (6) (5) (5) (5) (5) | | (1) (1) découverte (2) (2) serveur x,y,z| (4) (3) Machine Z (3) (4) (3)inventaireSNMP (4)service a,b,c | | (3) (4) (3) | (4) | |

Installation de GLPI

Installation des prérequis

Apache, MYSQL et PHP sont requis

Certains prérequis ne sont disponibles que sur les dépôts EPEL. Vérifier la présence de ceux-ci par yum update

Si EPEL n’apparaît pas activer les dépôts d'EPEL

Normalement MySQLet apache sont installés par défaut mais il faut installer PHP 5 de EPEL

yum install php php-gd php-mysql php-imap php-ldap php-soap

Préparer la base de donnée

Se connecter avec l'utilisateur root

  mysql -u root

Créer la base de donnée glpi

  MariaDB [(none)]>CREATE DATABASE glpi;
  MariaDB [(none)]> CREATE USER 'glpi'@'localhost';
  MariaDB [(none)]> GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'localhost' IDENTIFIED BY 'your_password';
  MariaDB [(none)]>FLUSH PRIVILEGES;\\ MariaDB [glpi]>exit

Mise en place de GLPI

Récupérer l'archive de GLPI

wget https://github.com/glpi-project/glpi/releases/download/0.90.5/glpi-0.90.5.tar.gz

Décompresser l'archive et déplacer le dossier glpi à la racine du serveur http

  tar xzf glpi-0.90.5.tar.gz
  mv glpi /var/www/html/
  chown apache :apache ∕var/www/html/glpi/ -R

Installation des plugins dans GLPI

Récupérer le plugins compatibles avec la version de GLPI

Liste des plugins compatibles avec glpi 0.9.1.0

  - glpi-accounts-2.1.1.tar.gz
  - glpi-appliances-2.2.tar.gz
  - glpi-archires-2.3.tar.gz
  - glpi-datainjection-2.4.1.tar.gz
  - glpi-racks-1.6.2.tar.gz
  - glpi-shellcommands-1.9.1.tar.gz

Modifier les attributs du répertoire plugins

chown apache :apache /var/www/html/glpi/plugins/ -R

Dans le menu Configuration => Plugins on doit voir apparaître les nouveaux plugins, clliquer sur les boutons Installer

Si le plugin n'est pas compatible ou si un complément est nécessaire à l'installation du plugin, un message apparaît à la place du bouton “Installer”

Après l'installation cliquer sur le bouton “Activer”.

Les plugins sont opérationnels

Vérifier l'installation

Une fois l'installation terminée il est possible d'utiliser GLPI

Sur un navigateur à l'adresse http://addresse-ip-server/glpi

Installation de SHINKEN

Installer les dépendances

Python, python-curl , python-setuptools et MySQL-pyhton sont requis :

  yum install python python-curl python-setuptools MySQL-python python-pip redhat-lsb-core

L'installation de mongodb est recommandée pour l'enregistrement des préférences utilistaeurs :

yum install mongodb pnp4nagios
pip install pymongo>=3.0.3

Récupérer les sources de SHINKEN

  cd ~
  git clone https://github.com/naparuba/shinken.git
  cd shinken
  # Vous pouvez voir les différentes release en tapant "git tag -l"
  git checkout 2.4.2

Installer SHINKEN

Créer l'utilisateur shinken

  adduser shinken

Lancer l'installation

  cd ~/shinken
  sudo python setup.py install

Activer et lancer le démon shinken

  sudo update-rc.d shinken defaults
  sudo service shinken start

Installer l'interface Web

Dans le répertoire home de l'utilisateur shinken renseigner le proxy dans ~/.shinken.ini

  [root] # su shinken\\ [shinken] $ vi ~/.shinken.ini
  [shinken.io]
  # options for connection to the shinken.io website. 
  # proxy: curl style, should look as http://user:password@server:3128 
  # api_key: useful for publishing packages or earn xp after each install. create an account at http://shinken.io and go to http://shinken.io/~
  proxy = http://proxy.infra.dgfip:3128

Se connecter en tant qu'utilisateur shinken :

  su -l shinken

Et initialiser la CLI de Shinken pour générer le fichier .ini contenant les chemins vers les différents répertoires de configuration :

  shinken --init

Toutes les commandes shinken doivent être lancées en tant qu'utilisateur shinken

En tant qu'utilisateur Shinken, installer Webui2 :

  shinken install webui2
  exit

Installer les dépendances

  sudo pip install pymongo>=3.0.3 requests arrow bottle==0.12.8

Indiquer à Shinken le module webui2 dans le broker (vi /etc/shinken/brokers/broker-master.cfg) :

  [...]
  modules webui2
  [...]

Une fois toutes ces manipulations effectuées, on peut changer le mot de passe par défaut du compte admin dans le fichier /etc/shinken/contacts/admin.cfg :

  define contact{
    use generic-contact
    contact_name admin
    email your@email.com
    pager 0600000000 ; contact phone number
    password your_password
    is_admin 1
    expert 1
    }

Redémarrer SHINKEN

  service shinken check
  service shinken restart
  service httpd.restart

Installer les plugins Nagios

A ce stade SHINKEN n'affichera rien car il lui manque les plugins NAGIOS.

Récupérer les plugins

  wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
  tar -xzvf nagios-plugins-2.1.1.tar.gz

Avant de passer à l'étape suivante installer le compilateur gcc

yum install gcc

Installer les plugins

  cd nagios-plugins-2.1.1/
  ./configure --with-nagios-user=shinken --with-nagios-group=shinken
  make install

Vérifier l'installation des plugins, les plugins doivent figurer dans le répertoire /usr/local/nagios/libexec

  # ls /usr/local/nagios/libexec
  check_apt 
  check_file_age 
  check_log 
  check_oracle 
  check_tcp
  check_breeze 
  check_flexlm 
  check_mailq 
  check_overcr 
  check_time
  check_by_ssh 
  check_ftp 
  check_mrtg 
  check_ping 
  ...
  check_swap

Intégration de SHINKEN dans GLPI

Pré requis :

  • Un serveur GLPI
  • Un serveur Shinken

Récupérer les plugins

Récupérer les plugins compatible glpi_monitoring et glpi-webservices compatibles avec la version de GLPI

  wget https://github.com/ddurieux/glpi_monitoring/releases/download/0.90%2B1.0/glpi_monitoring_0.90.1.0.tar.gz
  tar xzf glpi_monitoring_0.90.1.0.tar.gz
  wget https://forge.glpi-project.org/attachments/download/2099/glpi-webservices-1.6.0.tar.gz
  tar xzf glpi-webservices-1.6.0.tar.gz |

Installer et activer les plugins dans GLPI

Dans le menu Configuration ⇒ Plugins installer puis activer les plugins Monitoring et Web services.

Il est possible que le module Services Web affiche un message : Installation PHP incorrecte. Nécessite le module xxxx il convient d'ajouter les extensions requises. par exemple xmlrpc :

yum install -y php-xmlrpc

service apache2 restart

Rafraichir la page, pour poursuivre l'installation.

Cliquer sur les boutons Installer de chaque plugin et ensuite sur le bouton Activer.

Ajouter les utilisateurs nécessaires dans GLPI

  • Pour GLPI: aller dans Administration ⇒ Utilisateurs et ajoutez un compte shinken.
  • Pour MySQL: Définir le nouvel utilisateur en root
  mysql -u root -p 
  use glpi ;
  GRANT select,update ON glpi_plugin_monitoring_services TO shinkenbroker IDENTIFIED BY 'shinken';
  GRANT insert ON glpi_plugin_monitoring_serviceevents TO shinkenbroker;
  GRANT select,update ON glpi_plugin_monitoring_servicescatalogs TO shinkenbroker;
  exit ;

Configurer Web Services

Sur l'interface GLPI aller dans Configuration ⇒ Webservices, ajouter un service avec les paramètres suivants :

  - Nom : Shinken
  - Services actifs : Oui
  - Activez la compression : Non (Pas testé cette fonctionnalité jusqu'à présent)
  - Tracer les connexions : Non (activez le si vous voulez garder une trace des connexions)
  - Debug : Non (Activez-le en cas de debugging)
  - Motif SQL des services : .*
  - Plage d'adresse IPv4 : mettez l'adresse de votre serveur Shinken dans les 2 cases.
  - Adresse IPv6 : au cas où vous avez l'IPv6 d'activée.
  - Identifiant utilisateur : laissez vide dans ce cas.
  - Mot de passe : laissez vide dans ce cas.

Puis cliquer sur le bouton Ajouter pour valider.

Installer les modules Shinken

L'installation doit se faire avec l'utilisateur shinken créé précédemment.

  su -l shinken
  shinken install import-glpi
  shinken install glpidb
  shinken install ws-arbiter
  exit

Configuration des modules SHINKEN

Editer et adapater le fichier /etc/shinken/modules/import-glpi.cfg :

  define module {
  module_name import-glpi
  module_type import-glpi
  # L'URI de Web service pour GLPI\\ uri http://ip_serveur/glpi/plugins/webservices/xmlrpc.php
  # Si vous avez un nom de domaine, faites pointer sur la bonne adresse :
  # uri http://domaine.com/plugins/webservices/xmlrpc.php
  # Les identifiants que vous avez créés dans GLPI juste avant
  login_name shinken
  login_password shinken
  }

Editer et adpater le fichier /etc/shinken/modules/glpidb.cfg

  define module {
  module_name glpidb
  module_type glpidb
  host ip_serveur # Le nom du serveur GLPI ou son IP
  port 3306
  database glpi # Le nom de la base GLPI
  user shinkenbroker # L'utilisateur créé dans MySQL
  password shinken # le mot de passe de l'utilisateur
  [...]
  }

Ajouter dans le fichier /etc/shinken/brokers/broker-master.cfg les modules webui2 et glpidb

  [...]
  modules webui2,glpidb
  [...]

Editer et adapter le fichier /etc/shinken/arbiters/arbiter-master.cfg

  [...]
  address 0.0.0.0 # Changez localhost en 0.0.0.0 affichera l'Etat du système dans GLPI.
  modules import-glpi,ws-arbiter
  [...]

Redémarrer SHINKEN et APACHE

  service shinken restart
  service httpd restart

Si rien n'apparait dans le menu Plugins»Monitoring vérifier dans le menu Administration»Entités»Profils»Super-Admin»monitoring que tout est coché

Si les lignes redémarrer et Recharger n'apparaissent pas, aller dans le menu “Etiquette” du plugin monitoring et vérifier l'adresse du serveur shinken dans etiquette {1}

Intégration de FUSION-IVENTORY dans GLPI

Prérequis

SNMP et Nmap doivent être installés :

  yum install net-snmp perl-Net-SNMPl net-snmp-utils

Récupérer le plugins compatibles avec la version de GLPI

  wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi090%2B1.0/fusioninventory-for-glpi_0.90.1.0.tar.gz
  tar xzf fusioninventory-for-glpi_0.90.1.0.tar.gz 

Installer et activer le plugin dans GLPI

Dans le menu Configuration ⇒ Plugins Installer puis activer le nouveau plugin .

Installer l'agent fusioninventory

L'agent fusioinventory est un agent générique pouvant effectuer un certain nombre d'actions, appelées tâches, selon son propre plan d'exécution, ou au nom d'un serveur GLPI avec fusioninventory plugin, agissant comme un point de contrôle.

Les tâches suivantes sont disponibles:

  • Inventaire local découverte du réseau
    1. Inventaire réseau
    2. Esx inventaire
    3. Réveil sur lan
    4. Déploiement logiciel

    Installer l'agent fusioninventory avec la commande suivante:

  yum install fusioninventory-agent fusioninventory-agent-task-inventory

Configurer le fichier agent.cfg

Renseigner l'adresse du serveur dans le fichier /etc/fusioninventory/agent.cfg:

  # send tasks results to a FusionInventory for GLPI server
  server = http://xx.xx.xxx.xx:8080/glpi/plugins/fusioninventory/

Exécuter l'agent fusioninventory

 fusioninventory-agent

Normalement l'agent retourne les infos suivantes

  [info] sending prolog request to server server0
  [info] running task ESX
  [info] ESX support disabled server side.
  [info] running task Inventory
  [info] running task Collect
  [info] running task Deploy|

Le plugin FusionInventory utilise le scheduller de GLPI pour dérouler ses propres actions automatiques telles que le task-scheduler pour préparer les tâches.
C'est pourquoi, il faut ajouter une tâche dans la crontab du serveur.

crontab -u apache -e
* * * * * /usr/bin/php /var/www/html/glpi/front/cron.php &>/dev/null

Editer le fichier /etc/sysconfig/fusioninventory-agent, pour y faire figurer au minimum les lignes suivantes :

  OCSMODE[0]=daemon
  OCSSERVER[0]=http/xx.xx.xxx.xx:8080/glpi/plugins/fusioninventory/

Démarrer le démon

  service fusioninventory-agent start

Contrôler le démarrage du démon sur le port 62354

Modifier les droits de l'utilisateur Plugin_Fusioninventory

L'utilisateur Plugin_Fusioniventory est créé avec le profil par défaut Self-service or celui-ci ne permet pas de gérer le plugin.

Il faut donc changer le profil de l'utilisateur pour lui donner les bons droits.

Modifier le profil de l'entité Root entitity :

  1. Dans Administration»Utilisateurs cliquer sur l'utilisateur Plugin_Fusioninventory
  2. Dans profils sélectionner le profil Super Admin puis Cliquer sur Ajouter
  3. Sélectionner l'entité avec le profil Self service puis Action»Supprimer définitivement

Le plugin est maintenant configuré et disponible

Intégration des TRAPs SNMP

SNMPTT - SNMP Trap Translator - (traducteur des traps SNMP) est un logiciel permettant de capturer et de traduire de manière humainement compréhensible les messages trap remontés par les agents SNMP.

Ecrit en Perl, ce logiciel s'interface avec le daemon snmptrapd de la suite de logiciel Net-SNMP.

Description du service

Le processus de traitement des TRAPs SNMP dans un serveur NAGIOS utiliset NET-SNMP et SNMPTT:

  • (1) SNMPTRAPD est appelé via le gestionnaire de traps défini dans le fichier de configuration snmptrapd.conf défini dans la section «Configuration et exécution du démon snmptrapd».
    • (2) Ce gestionnaire de traps appelle le script /usr/sbin/snmptthandler.
    • (3) Le script lit le trap, puis l'écrit dans le répertoire spool défini dans la directive spool_directory défini dans le fichier de configuration snmptt.ini. Le script se termine alors.
  • (4) De là, SNMPTT prend le relais. Il lit le trap dans le fichier spool et recherche une correspondance (5) dans ses définitions de trap.
    • (6) S'il trouve une correspondance, il exécute l'instruction EXEC dans la définition d'interruption correspondante.
    • (7) Cette instruction EXEC envoie le résultat du contrôle passif au serveur Shinken en utilisant le script submit_check_result.
    • (8) Le démon se met alors en veille pendant la période spécifiée dans la directive sleep du fichier snmptt.ini et vérifie dans le répertoire spool des traps supplémentaires; s'il trouve des correspondances, il les traite et envoie les résultats de la vérification à Shiken.
Sf034_A5500_013SNS1 udp 162 xx.xx.xxx.xx (8) (7) TRAP SNMP (2) |(6) (5) TRAP SNMP TRAP SNMP (3) /var/spool/snmptt/ (4) SHINKEN shinken.cmd submit_check_result snmpttrapd snmptt snmptthandler (1) TRAP SNMP

Le serveur Shinken doit avoir des objets hôte définis pour chaque hôte qui génère des traps SNMP. En outre, il faut définir des objets de service pour que ces hôtes reçoivent les résultats de la vérification de service. Il faut les configurer pour recevoir des résultats de contrôle passifs et en tant que services volatils.

Installation des packages Net-SNMP

Le package Net-SNMP est disponible sous la forme d'une série de packages installables sur de nombreuses distributions. Installer les packages requis sont appelés net-snmp, net-snmp-libs et net-snmp-utils.

yum install net-snmp net-snmp-libs net-snmp-utils net-snmp-perl perl-Net-SNMP net-snmp-devel

Configuration et exécution du démon snmptrapd

Editer le fichier /etc/sysconfig/snmptrapd pour y faire figurer les options suivantes:

OPTIONS="-t -On -Lsd -p /var/run/snmptrapd.pid"

Modifier le fichier /etc/snmp/snmptrapd.conf ainsi:

# disableAuthorization yes
# donotlogtraps yes
createUser -e 0x800063A280943FC2D286F100000001 o145
authUser log,execute,net o145 noauth
traphandle default /usr/sbin/snmptthandler

Le trigger défini dans le commutateur comware nécessitant l'utilisant de SNMPv3, il faut définir le security level noAuthnoPriv:

- l'utilisateur déclaré ici est le owner de la TRAP générée dans le commutateur
- l'engineID est celui du commutateur sur lequel est généré la TRAP

Installation de SNMPTT (SNMP Trap Translator)

le service SNMPTT dépend de perl-config-inifiles (module de lecture des fichiers de configuration de style .ini), ce module doit être installé:

yum install perl-config-inifiles

Télécharger l'outil SNMPTT de Sourceforge à http://snmptt.sourceforge.net/.

wget https://sourceforge.net/projects/snmptt/files/snmptt/snmptt_1.4.2/snmptt_1.4.2.tgz/download -O snmptt_1.4.2.tgz
tar -zxvf snmptt_1.4.2.tgz

Le package SNMPTT n'a pas de script d'installation, donc un certain nombre d'étapes d'installation manuelles doivent avoir lieu:

  • copier les binaires SNMPTT dans un répertoire /usr/sbin/ et les rendre exécutables.
cp snmptt snmptthandler /usr/sbin/
chmod +x /usr/sbin/snmptt /usr/sbin/snmptthandler
  • copier le fichier de configuration SNMPTT, snmptt.ini, dans le répertoire /etc/snmp et l'utilitaire snmpttconvertmib
cp snmptt.ini /etc/snmp/
cp snmpttconvertmib /usr/sbin/
  • Créer l'utilisateur et le groupe nécessaires pour exécuter le démon SNMPTT.
groupadd snmptt
adduser -g snmptt snmptt
chown snmptt:snmptt /etc/snmp/snmptt.ini
  • créer le répertoire de spool /var/spool/snmptt pour contenir les traps entrantes et le répertoire pour les logs /var/log/snmptt (Il doivent appartenir à l'utilisateur et au groupe qui exécuteront SNMPTT.
mkdir -pv /var/log/snmptt
mkdir -pv /var/spool/snmptt
chown snmptt:snmptt /var/spool/snmptt
  • copier le script d'initialisation fourni avec le package, pour l'ajouter au processus de démarrage.
cp snmptt-init.d /etc/init.d/snmptt

Pour démarrer/arrêter/recharger, on peut faire avec ..

/etc/init.d/snmptt start/stop/reload

Configuration de SNMPTT

Cette étape consiste à configurer le fichier /etc/snmp/snmptt.ini. Le fichier contient un assez grand nombre de directives, mais il faut s'occuper en priorité de celles qui concernent le processus de traduction et de transmission des traps:

mode = daemon
daemon_fork = 1
daemon_uid = snmptt
spool_directory = /var/spool/snmptt/
sleep = 5
dns_enable = 1
strip_domain = 1
log_enable = 1
syslog_enable = 0
exec_enable = 1
snmptt_conf_files = <
/etc/snmp/snmptt.conf
END

Le fichier d'exemple snmptt.ini contenu dans le package SNMPTT contient des explications détaillées sur toutes les directives et options que l'on peut spécifier.

Si on active la résolution DNS, ajouter tous les noms d'hôte qui doivent être résolus dans le fichier local /etc/hosts sur le serveur hôte. Cela empêche le serveur DNS d'être un goulot d'étranglement ou d'empêcher SNMPTT de fonctionner si le serveur DNS n'est pas disponible.

Compilation de la MIB DISMAN-EVENT-MIB

Sur le switch fédérateur Sf034_A5500_013SNS1 un trigger a été programmé pour surveillé l'objet ipCidrRouteDest - 1.3.6.1.2.1.4.24.4.1.1. Comme indiqué dans hpe-trigger-snmp-traps, il faut utiliser le MIB DISMAN-EVENT-MIB pour récupérer les traps envoyés. On doit donc compiler la MIB qui gère cet objet pour récupérer les traps produites par celui-ci.

Télécharger la MIB DISMAN-EVENT-MIB sur le site http://www.net-snmp.org/docs/mibs/dismanEventMIB.html

Compiler la MIB en utilisant la commande snmpttconvertmib:

snmpttconvertmib --in=DISMAN-EVENT-MIB.txt --out=/etc/snmp/snmptt.conf --exec='/var/lib/shinken/libexec/eventhandlers/submit_check_result  glpi2012 snmp-traps 1'

Arguments:

  • glpi2012 = nom court de l'hôte auquel le service est associé tel que déclaré dans GLPI
  • snmp-traps = Nom du service tel que déclaré dans GLPI
  • 1 = return_code qui détermine l'état du contrôle de service, 1=AVERTISSEMENT

Une fois terminé, ajouter au fichier de configuration SNMPTT /etc/snmp/snmptt.ini le chemin d'accès aux fichiers de configuration compilés:

[...]
snmptt_conf_files = <<END
/etc/snmp/snmptt.conf
END

Configuration Shinken

Shinken permet (comme son ancêtre Nagios) de recevoir des données de l'extérieur de manière “passive”, c'est à dire sans aucune action exécutée par lui même. Shinken “écoute” simplement les données arrivant dans un pipe et les traite comme ceux venant d'un plugin de check “actif”.

Télécharger le module mod-named-pipe sur https://github.com/shinken-monitoring/mod-named-pipe et extraire le fichier mod-named-pipe.zip

unzip mod-named-pipe.zip 

Créer le répertoire du module dans /var/lib/shinken/modules/ et placer le contenu du dossier module dans ce dossier:

mkdir -pv /var/lib/shinken/modules/named-pipe 
cp -a mod-named-pipe/module/* /var/lib/shinken/modules/named-pipe

Placer le fichier named_pipe.cfg dans /etc/shinken/modules

cp -a mod-named-pipe/etc/modules/named_pipe.cfg /etc/shinken/modules/named_pipe.cfg

Le module “named-pipe” de Shinken doit être référencé dans les fichiers “.cfg” de shinken suivants :

  • arbiter
  • poller
  • receiver

La mise en place des tests passifs nécessite d'ajouter un paramètre supplémentaire dans le fichier “shinken.cfg” :

accept_passive_service_checks=1

Configuration de GLPI

  • Créer un composant sur le modèle suivant:
Nom* :	snmp-traps	
Définition d'un contrôle* : Instantané	
Contrôle actif* : Non
Contrôle passif* : Oui
Freshness/fraîcheur (pour le mode passif) : 1 seconde	
Commande*: Check host alive (ping)
Période de contrôle* :	24x7

La définition d'une commande étant obligatoire on peut affecter une commande fictive au composant

  • Associer le composant à un hôte statique dans le Catalogue de composants.
  • Créer un service snmp-traps ayant pour ressource (onglet groups) l'entrée du catalogue créée ci-dessus.

Intégration de collectd

Collectd est un démon qui collecte à intervalles réguliers des statistiques sur les performances d'un système et qui offre les mécanismes pour stocker les valeurs récupérées de plusieurs façons, comme par exemple des fichiers Fichiers RRD (Reduced Resolution Dataset).

Il est fourni avec :

  • un frontend web qui permet une présentation graphique des fichiers RRD.
  • le plugin collect-nagios qui permet de mettre en forme les données collectées à destination de NAGIOS

Installer collectd

Récupérer le module mod-collectd pour SHINKEN

  shinken install mod-collectd-master --local

Installer le plugin de confection des graphes rrdtool

  yum install collectd-rrdtool

Editer le fichier /etc/collectd.conf pour vérifier/renseigner les Directory utilisées lors de l'installation :

  #
  # Config file for collectd(1). # Please read collectd.conf(5) for a list of options.
  # http://collectd.org/
  #
  ##############################################################################
  # Global #
  #----------------------------------------------------------------------------#
  # Global settings for the daemon. #
  ##############################################################################
  Hostname "localhost"
  FQDNLookup true
  BaseDir "/var/lib/collectd"
  PIDFile "/var/run/collectd.pid"
  #PluginDir "/usr/lib/collectd"
  TypesDB "/usr/share/collectd/types.db"|

Activer le font-end web

Copier coller le répertoire /collection3 à la racine du serveur web

cp /usr/share/collectd/collection3 /var/www/html/ -r

Editer le fichier /var/www/html/etc/collection.conf pour renseigner DataDir (emplacement des fichiers rrd produits par collectd)

  DataDir "/var/lib/collectd/"
  GraphWidth 400
  #UnixSockAddr "/var/run/collectd-unixsock"

Lancer le démon

  service collectd start

Intégration du plugin collectd-nagios

Dés lors il est possible d'intégrer le plugin collectd-nagios dans le module MONITORING pour afficher les données collectées dans GLPI

  • Installer le plugin collectd-nagios: télécharger le module puis l'extraire dans la bibliothèque des plugins de SHINKEN pour pouvoir l'utiliser dans le plugin MONITORING de GLPI.
  • Créer un modèle graphique adapté aux données collected
Nom :		check_dd_replication	
Exemple de perfdata pour ce contrôle :  PreCompBytesSent=302719200000000.000000;;;; PostCompBytesSent=187767000000.000000;;;; PreCompBytesRemain=0.000000;;;; PostCompBytesRecv=16139660000000.000000;;;; 	
Nom :		PreCompBytesSent
Nom dynamique ?	Non
Position	1	
Valeur 1 	PreCompBytesSent
Valeur 2 	value1.2
Valeur 3 	value1.3
Valeur 4 	value1.4

Pour définir Exemple de perfdata pour ce contrôle il faut récupérer un exemple de données restituées par la commande.

Pour cela exécuter la commande en mode local

collectd-nagios -s /var/run/collectd-unixsock -n snmp/dd_replication-1 -H dd4200.sns.dgfip

puis récupérer la sortie

OKAY: 0 critical, 0 warning, 4 okay | PreCompBytesSent=1421240000000.000000;;;; PostCompBytesSent=840693300.000000;;;; PreCompBytesRemain=0.000000;;;; PostCompBytesRecv=69277320000.000000;;;;

  • Activer l'affichage des données collectées: Dans la vue Métriques cliquer sur la prévisualisation attachée au composant testé
hebergement/glpi-centos.txt · Last modified: 2025/01/28 10:40 by 127.0.0.1