# Imprimantes / Inventaire réseau

GLPI vous permet d'inventorier automatiquement vos switches, imprimantes, routeurs, etc... Cette partie nécessite l'installation du plugin GLPI Inventory disponible dans le marketplace et un agent GLPI installé dans le parc.

## Comment ça fonctionne

L'inventaire se déroule en 2 étapes :

* la découverte réseau, qui scanne le réseau pour détecter les équipements.
* Un inventaire SNMP, pour fournir les informations SNMP autorisées par le fabricant (numéro de série, OS, etc.) pour chaque type d'équipement.

Ces 2 actions seront gérées par des tâches. Le principe pour le matériel réseau et les imprimantes est le même. Dans cet exemple, une imprimante sera remontée pour démontrer le principe.

## Prérequis

* GLPI Inventory installé et à jour (depuis le marketplace),
* un agent GLPI installé dans le parc (également à jour avec les modules nécessaires installés),
* Inventaire activé (administration > activer l'inventaire)
* matériel réseau ou imprimante capable d'accepter les requêtes SNMP (de préférence V3, mais V1 et V2 sont aussi acceptés).

## Séquence

***

### Identifiants SNMP

Assurez-vous d'avoir correctement configuré vos identifiants SNMP côté machine. Référez-vous à la documentation officielle du matériel si nécessaire.

* Allez dans **`administration`** > **`inventaire`** > **`Identifiants SNMP`**

!!! Note En **SNMP V3**, les identifiants doivent être configurés. En **V2c et V1**, seul le nom de la **communauté** est requis. Nous vous recommandons de passer en V3 dans la mesure du possible pour assurer une sécurité maximale des échanges entre GLPI et vos agents.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-ad702ca2d217254b80759590aa43a2227a4c1bf0%2Fsnmp-1.png?alt=media)

Puis cliquez sur **`ajouter`**

* Saisissez le nom que vous préférez
* Sélectionnez la version SNMP que vous voulez (ici V3)
* Ensuite, spécifiez les identifiants et méthodes de chiffrement pour l'authentification et les données :

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-b3803f37d316c24f985773ef2fd3cf128be1f300%2Fsnmp-3.png?alt=media)

* Cliquez sur **`Enregistrer`**

***

### Règles d'import et de liaison d'équipement

Par défaut, des règles sont créées pour s'assurer que l'équipement détecté est créé s'il n'existe pas, ou fusionné s'il est déjà dans le parc. Vous trouverez ces règles dans **`administration`** > **`Règles`** > **`Règles d'import et de liaison d'équipement`**. Vous pouvez modifier ces règles pour correspondre aux éléments dont vous avez besoin (numéro de série, nom de machine, etc.).

***

#### Règles métier pour équipement

Cette partie est optionnelle. Comme chaque instance est différente, cette étape est spécifique à vos besoins et doit être adaptée. Ici, le cas le plus simple sera expliqué. Ici nous allons définir que tout ce qui est dans le réseau `192.168.1.1 /24` est remonté dans l'inventaire (à condition que la configuration SNMP ait été appliquée sur l'équipement remonté).

Nous allons donc créer la règle suivante :

* **`critère`** : Si mon adresse IP contient 192.168.1
* **`action`** : Affecter à l'entité Bureau Paris
* Allez dans **`administration`** > **`Règles`**
* Cliquez sur **`Règles sur l'entité ordinateur`** (ce menu prend aussi en compte les règles pour les autres matériels)

<div align="left"><img src="https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-17abb15dc6a22acabb665f7e25f5663fe11f4d8f%2Fsnmp-4.png?alt=media" alt="Texte alternatif"></div>

* Puis créez votre/vos règle(s) :

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-92ac3826b9cf056daef19762454f90ce3fc75f34%2Fsnmp-5.png?alt=media)

***

### Plage d'IP

Afin d'effectuer le scan réseau, GLPI a besoin de savoir quelle(s) plage(s) d'IP il doit scanner.

* Allez dans **`administration`** > **`GLPI Inventory`** > **`Réseau`** > **`Plages d'IP`**.

<div align="left"><img src="https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-0bc55080456f6398787ef390dcf727a66b2d644f%2Fsnmp-6.png?alt=media" alt="Texte alternatif"></div>

* Cliquez sur **`ajouter`**
* Ajoutez votre/vos plage(s) d'IP :

<div align="left"><img src="https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-d6d8705130796e6e09dda7f3da0436dd0f81ea15%2Fsnmp-7.png?alt=media" alt="Texte alternatif"></div>

* Dans Identifiants SNMP associés, ajoutez les identifiants créés précédemment.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-1db40aa3f1d2b540907aeae6885a0f6e73026974%2Fsnmp-8.png?alt=media)

{% hint style="success" %}
**À savoir**

Cette étape est importante, si vous n'associez pas les identifiants SNMP, votre découverte réseau ne réussira pas correctement
{% endhint %}

* N'oubliez pas de sauvegarder vos modifications

***

### Autorisation de l'agent

Un agent GLPI sera dédié à la gestion des tâches. Une fois les tâches créées, l'agent vérifiera, lors de son prochain inventaire, qu'une ou plusieurs tâches sont disponibles. Il est donc nécessaire d'activer les modules dont il aura besoin pour effectuer ses tâches correctement.

* Dans **`administration`** > **`GLPI Inventory`** > **`Général`** > **`Gestion des agents`**, sélectionnez l'agent qui sera dédié à effectuer les tâches.
* Dans l'onglet modules de l'agent, sélectionnez **`découverte réseau`** et **`inventaire réseau (SNMP)`**
* Cliquez sur **`mettre à jour`**.

<div align="left"><img src="https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-4c6362d2bd9909927456ca10b0d3eab5c8b31afd%2Fsnmp-9.png?alt=media" alt="Texte alternatif"></div>

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-6cc2459867bc0f6d800cd9ab507f32c0ae62724b%2Fsnmp-10.png?alt=media)

***

### Création des tâches

***

#### Découverte réseau

Comme expliqué ci-dessus, vous devez d'abord découvrir le réseau afin de localiser les équipements dans votre parc.

* Dans **`administration`** > **`GLPI Inventory`** > **`Tâches`** > **`Gestion des tâches`** créez une nouvelle tâche :

<div align="left"><img src="https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-55328541979d714319ec25d9f2518cc1817580a8%2Fsnmp-11.png?alt=media" alt="Texte alternatif"></div>

* Nommez cette tâche puis cliquez sur **`ajouter`** (vous pouvez aussi choisir l'option **`Permet à la tâche d'être re-préparée après qu'elle ait été exécutée`** afin qu'elle puisse être rechargée et prête pour la prochaine exécution). Si requis, vous pouvez aussi ajouter des options de démarrage planifié ou des créneaux dans lesquels ces tâches peuvent être lancées.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-2b302fd3bce66005ba88ccf07c054d4f376d32f3%2Fsnmp-12.png?alt=media)

{% hint style="warning" %}
**Point d'attention**

Assurez-vous de cocher la case **`Actif`** afin que votre tâche puisse être exécutée
{% endhint %}

* Dans configuration de job, saisissez un nom
* Sélectionnez **`Découverte réseau`** dans la liste déroulante.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-6873b01957316eb8c4cc093eb8cd2e6d27f2364f%2Fsnmp-13.png?alt=media)

Quand vous cliquez sur ajouter, un nouvel insert apparaîtra. La dernière étape de configuration est le job.

* Cliquez sur à côté de **`cible`**
* Ajoutez la plage d'IP créée précédemment.
* Faites de même avec acteurs, et sélectionnez l'agent configuré pour la découverte réseau ci-dessus.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-bcad6878603c5cbbf1d81ec0c8f191c097c6abb9%2Fsnmp-14.png?alt=media)

* Une fois ces informations saisies, vous pouvez forcer la préparation de la tâche en utilisant l'option dans **`gestion des tâches`**.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-1d68c9a71dac7cba67e38b95ff71c56db372f7c6%2Fsnmp-15.png?alt=media)

{% hint style="danger" %}
Cette option prépare la tâche mais ne l'exécute pas. L'agent désigné exécutera la tâche lors de son prochain inventaire.
{% endhint %}

Vous remarquerez qu'elle est en statut **`préparée`** dans **`exécution de job`**.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-dc41d095d86b280d17d1391395eda115407c26a2%2Fsnmp-16.png?alt=media)

***

#### Inventaire SNMP

L'inventaire SNMP vous permettra de récupérer des informations comme les cartouches, compteurs et autres informations autorisées par le fabricant du matériel.

* Retournez dans **`gestion des tâches`**
* Ajoutez une nouvelle tâche
* Procédez de la même manière qu'avant et **n'oubliez pas d'activer la tâche**.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-fd187c6036fb985cf9a7b15df5fb3fcf32292a45%2Fsnmp-17.png?alt=media)

Dans **`configuration de job`** saisissez un nom et cette fois sélectionnez **`inventaire réseau (SNMP)`**.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-b1857ee414b066f46fc0251ff5d33e098b4eee67%2Fsnmp-18.png?alt=media)

* En cliquant sur ajouter, faites comme avant et ajoutez une **cible** (adresse IP) et un **acteur** (l'agent dédié à l'inventaire SNMP).

Vous pouvez encore forcer le démarrage mais GLPI vous dira qu'aucune cible n'est détectée, ce qui est normal car la découverte n'a pas encore été exécutée.

***

### Exécution des tâches

L'agent attend maintenant d'être lancé afin qu'il puisse effectuer les tâches que nous lui avons assignées. Il y a plusieurs façons de lancer l'agent :

* Via l'interface web où se trouve l'agent, en se connectant sur **`http://localhost:62354/`** et en cliquant sur **`forcer un inventaire`**.
* En redémarrant la tâche planifiée ou le service glpi-agent.
* Si vous avez installé [agent monitoring](https://github.com/glpi-project/glpi-agentmonitor/releases), cliquez sur **`forcer un inventaire`**.

Le job passe à **`en cours`**.

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-5850bcd10575dab33c5d4c85059cbea38d17a3c9%2Fsnmp-19.png?alt=media)

Puis à **`réussi`**

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-307cb6dbcb815c3d2ccbcc8121be2e71237dc6cf%2Fsnmp-20.png?alt=media)

Maintenant que les 2 tâches ont été exécutées, vous pouvez retourner dans imprimante (pour notre exemple) et voir que notre matériel a été implémenté dans l'onglet imprimante, dans l'entité correspondant à notre règle :

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-6324a49e7bd8218e83ee3101dcfc0b7121fa2f67%2Fsnmp-21.png?alt=media)

si votre imprimante le supporte, vous pouvez aussi voir l'état des cartouches et le compteur de pages

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-901d32f362b3b445d1e3d62158fd44f6fa2998e6%2Fsnmp-22.png?alt=media)

![Texte alternatif](https://1227510999-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqmRzI15ndDbFHGd5BnM4%2Fuploads%2Fgit-blob-6b122c85c06791463b1df563fbd47865e5b3eaa0%2Fsnmp-23.png?alt=media)
