Monitoring d'une infrastructure informatique Linux sur base d'outils libres( Télécharger le fichier original )par Geoffrey Lemaire Haute Ecole Rennequin Sualem (Belgique) - Bachelier en Informatique et Systèmes (finalité Réseaux et Télécommunications) 2003 |
Chapitre 9Le monitoring des imprimantes réseaux9 Les imprimantes A priori, monitorer des imprimantes est peu utile car dans beaucoup de cas, l'utilisation d'une imprimante, même via réseau, nécessite l'installation d'un driver même si celui-ci est générique. Lorsque l'on imprime, on reçoit une alerte de la part de l'imprimante comme quoi les cartouches d'encres sont bientôt vides. Cela dit, la maintenance des imprimantes est souvent confiée ã d'autres personnes que l'utilisateur lui-même. Par exemple à la secrétaire ou à un chef de département. Pour connaître l'état de l'imprimante, plusieurs solutions s'offrent ã nous :
Seulement, quand on possède plusieurs imprimantes, cela devient dur ã gérer d'oz l'intérêt de centraliser tout çà. 9.1 Activer le protocole SNMP A l'aide du protocole SNMP, on va pouvoir monitorer son statut et le niveau des cartouches d'encre ou toners. D'autres choses peuvent bien entendu être monitoré. Il est donc nécessaire d'activer ce protocole sur les imprimantes et ce via l'interface Web de l'imprimante. Dans notre cas, cela se fera via le protocole SNMP v1/v2? Il n'y a que peu d'intérêt de faire cela via SNMPv3. A noter que j'utilise seulement l'accès « read-only ». Pour obtenir des informations, c'est suffisant. 9.2 Un SNMPwalk de l'imprimante Utilisons la commande snmpwalk : # snmpwalk -v 2c -c public mxiprn2.manex.be Lorsqu'on analyse le résultat, on peut trouver ceci : SNMPv2-SMI::mib-2.43.11.1.1.6.1.1 = STRING: "black ink" SNMPv2-SMI::mib-2.43.11.1.1.6.1.2 = STRING: "cyan ink" SNMPv2-SMI::mib-2.43.11.1.1.6.1.3 = STRING: "magenta ink" SNMPv2-SMI::mib-2.43.11.1.1.6.1.4 = STRING: "yellow ink" Nous avons trouvez les couleurs, maintenant trouvons le pourcentage d'utilisation des cartouches... continuons donc plus loin dans le résultat du snmpwalk. On peut trouver ceci : SNMPv2-SMI::mib-2.43.11.1.1.9.1.1 = INTEGER: 82 SNMPv2-SMI::mib-2.43.11.1.1.9.1.2 = INTEGER: 9 SNMPv2-SMI::mib-2.43.11.1.1.9.1.3 = INTEGER: 9 SNMPv2-SMI::mib-2.43.11.1.1.9.1.4 = INTEGER: 9 Si on regarde de plus près le statut des encres via l'interface Web... On remarque que les valeurs trouvées via SNMP correspondent aux valeurs reprises dans l'interface. Cela dit, j'émets une réserve quant ã la véracité de ces valeurs car c'est bien connu, les couleurs Magenta, Cyan et Jaune ne s'usent pas en même temps. Enfin, quoi qu'il arrive, il s'agit d'une estimation ayant pour but de nous prévenir d'imprimer un trop gros document s'il n'y avait plus d'encre. Voyons comment incorporer ces résultats dans Nagios. 9.3 Intégration dans Nagios Encore une fois, rien de bien compliqué. 9.3.1 Le contrôle du niveau d'encre Pour contrôler le niveau d'encre dans Nagios, il faut tout d'abord définir une commande : define command( command_name check_snmp_color command_line $USER1$/check_snmp -H $HOSTADDRESS$ -o
$ARG1$ -w '$ARG2$' - I Nous passons donc par le plugin check_snmp. En argument, on passe l'adresse de l'imprimante, l'OID que nous avons trouvé précédemment, les valeurs Warning et Critical, la communauté. Dans ce cas- ci, j'utilise une macro $USER3$ défini dans resource.cfg où il est simplement indique « public » et la version du protocole SNMP ainsi que d'autres paramètres propres aux plugins check_snmp. Les services quant à eux (par exemple pour la couleur noir) : define service( use printers-remote host_name mxiprn2 service_description Black Color check_command check_snmp_color!.1.3.6.1.2.1.43.11.1.1.9.1.1!0:96!0:99!Status!percent I 9.3.2 Le contrôle du statut Il existe parmi les plugins officiels de Nagios, un plugin qui vérifie par lui-même le statut des imprimantes connectées via le HP JetDirect card. Sa commande : define command( command_name check_hpjd command_line $USER1$/check_hpjd -H $HOSTADDRESS$ -C
public Son service : define service( use printers-remote host_name mxiprn2 service_description Status check_command check_hpjd |
|