Outils pour utilisateurs

Outils du site


snmp

Snmp

snmp est un protocole de partage d'information réseau. Il a l'avantage d'être parlé par de nombreux équipements réseaux. Il est donc théoriquement possible de surveiller n'importe quel équipement snmp-speaking à l'aide de nagios.

Principe

Une serveur snmp publie un certain nombre d'informations par l'intermédiaire de valeurs numériques normalisées, les oid.

Par exemple l'oid .1.3.6.1.2.1.1.3.0 correspond à l'uptime de la machine.

Les commandes suivantes permettent de manipuler / lire les informations:

Récupérer l'oid à partir du nom

   snmptranslate -IR dskPercent

et l'inverse:

   snmptranslate .1.3.6.1.2.1.1.3.0

lister tous les nœuds correspondant à une regexp:

   snmptranslate -TB '.*dsk.*'

obtenir des informations étendues:

   snmptranslate -On -Td -Ib 'sys.*ime'

la commande snmpget permet d'interroger un équipement par l'intermédiaire du protocole snmp.

Installation

L'installation de snmp est nécessaire sur toutes les machines à surveiller:

  • installation du paquet net-snmp
  • changer la verbosité du service (doc-iep:/etc/sysconfig/snmpd.options)
  • activation et lancement du service snmpd
  • ouvrir le port udp:161 (doc-iep:/etc/sysconfig/iptables) on peut également autoriser le protocole icmp.

Configuration par l'intermédiaire du fichier doc-iep:/etc/snmp/snmpd.conf

Il suffit de changer dans l'exemple ci-dessous COMMUNITY et NETWORK (2 premières lignes)

#       sec.name  source          community
com2sec local     localhost       COMMUNITY
com2sec mynetwork NETWORK/24      COMMUNITY
syslocation Bureau
syscontact admin@opendoor.fr

#       groupName      securityModel securityName
group MyRWGroup  v2c        local
group MyROGroup  v2c        mynetwork

#       name           incl/excl     subtree         mask(optional)
view all    included  .1

#       group          context sec.model sec.level prefix read   write  notif
access MyROGroup ""      any       noauth    exact      all    none   none
access MyRWGroup ""      any       noauth    exact      all    all    all
dontLogTCPWrappersConnects yes

syslocation somewehere
syscontact root <admin@opendoor.fr>

La directive rocommunity doit être la même pour toutes les machines souhaitant prendre par à la conversation snmp. L'adresse désigne la machine ayant la possibilité de lire les informations publiées par le serveur (il s'agit donc de l'adresse du serveur nagios).

Installation sous windows

Pour W serveur 2012 voir: http://www.loriotpro.com/ServiceAndSupport/How_to/InstallationAgentSNMPWindowsServer2012.php

La configuration se fait via Panneau de configuration → Outils d'administration → services.

  1. onglet agent :
    1. spécifier contact et emplacement
    2. tout cocher
  2. onglet sécurité :
    1. définir une nouvelle communauté en lecture-seule
    2. autoriser toutes les ips (on passe par vpn)

Si les onglets n'apparaissent pas, il faut relancer le service, et relancer l'interface services.msc

Extension

Le protocole snmp permet l'appel de procédure distante. Par exemple, doc-iep:/etc/snmp/snmpd.conf définit 2 commandes pingmysql et checkreplication que l'on pourra appeler par l'intermédiaire du script nagios plum-iep:/etc/nagios/custom_check/check_snmp_extend.sh:

   sudo /etc/nagios/custom_check/check_snmp_mysql.sh doc-iep checkreplication
OK - Waiting for master to send event, replicating host sql-iep:3306

Scripts tout fait

Disponibles ici: http://nagios.proy.org/

il vaut mieux les télécharger indépendamment afin d'être sur d'obtenir la dernière version.

Le bundle est vraiment vieux, le paquet rpm un peu plus récent. Pour les dépendances:

yum install --enablerepo=epel nagios-plugins-perl perl-Net-SNMP
wget http://nagios.proy.org/check_snmp_{mem,storage,process,load}.pl
sed -i 's^/usr/local/nagios/libexec^/usr/lib64/nagios/plugins^g' *pl
mv *.pl /usr/lib64/nagios/plugins/
chown 755 /usr/lib64/nagios/plugins/check_snmp*.pl

Le script install.sh ne fonctionne pas, il faut modifier les scripts que l'on souhaite utiliser:

use lib “/usr/local/nagios/libexec” devient use lib “/usr/lib64/nagios/plugins/”; # vim: set filetype=dokuwiki:

snmp.txt · Dernière modification: 2017/04/03 09:53 (modification externe)