User Tools

Site Tools


informatica:linux:snmp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatica:linux:snmp [2012/10/15 13:53] javiinformatica:linux:snmp [2015/04/13 20:19] – external edit 127.0.0.1
Line 1: Line 1:
-snmp snmpd oid+====== SNMP ======
  
 +snmpd traps oid snmp-net
 +
 +
 +===== Instalar el agente en GNU/Linux =====
 +
 +Demonio para contestar a peticiones snmp.
 +
 +1. Instalar
 +
 +  sudo aptitude update; sudo aptitude install snmp snmpd -R
 +
 +Si se quiere sensores de temperatura:
 +
 +  sudo aptitude update; sudo aptitude install snmp snmpd
 +
 +2. Renombrar archivo de configuración original
 +
 +  sudo mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
 +
 +3. Crear un nuevo archivo de configuración:
 +
 +  sudo vim /etc/snmp/snmpd.conf
 +
 +Con el siguiente contenido:
 +
 +Variables: 
 +
 +  ***10.0.0.0/24** - Rango de IP's a las que se le permite acceso al demonio SNMP
 +  ***community_name** - contrasenya
 +
 +<code>
 +com2sec local           localhost       community_name
 +com2sec mynetwork       10.0.0.0/24 community_name
 +
 +group   MyROGroup       v1      mynetwork
 +group   MyROGroup       v2c     mynetwork
 +group   MyROGroup       usm     mynetwork
 +
 +group   MyROGroup       v1      local
 +group   MyROGroup       v2c     local
 +group   MyROGroup       usm     local
 +
 +view    all     included        .1
 +
 +access  MyROGroup       ""      any     noauth  exact   all     none    none
 +access  MyRWGroup       ""      any     noauth  exact   all     all     all
 +</code>
 +
 +4. Guardar y salir
 +
 +5. Reiniciar el demonio
 +
 +  sudo /etc/init.d/snmpd restart
 +  ps ax | grep snmp
 +
 +6. Probar:
 +
 +  snmpwalk -v 2c -c community_name localhost .1
 +
 +===== Monitorizacion personalizada =====
 +
 +Se pueden definir una serie de monitores en el archivo de configuracion de SNMP que permiten devolver informacion acerca de por ejemplo archivos de logs, carga en el sistema etc...
 +
 +==== Logs ====
 +
 +1. Editar:
 +
 +  sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak; sudo vim /etc/snmp/snmpd.conf
 +
 +Y anyadir las siguientes linea:
 +
 +  logmatch test_errors /tmp/log.txt 10 ERROR
 +  logmatch test_warnings /tmp/log.txt 10 WARNING
 +
 +Semantica:
 +
 +  logmatch <name> <logfile> <refresh in seconds> <regex> 
 +
 +2. Reiniciar el servicio SNMP:
 +
 +  sudo /etc/init.d/snmpd restart
 +
 +3. Crear el archivo de log:
 +
 +  touch /tmp/log.txt
 +  echo "ERROR" >> /tmp/log.txt
 +  echo "ERROR" >> /tmp/log.txt
 +  echo "WARNING" >> /tmp/log.txt
 +
 +4. Ver el contador (se refresca cada 10 segundos segun el ejemplo):
 +
 +<code>
 +snmpwalk -v 2c -c jj.com test-6.dev.jj.com .1.3.6.1.4.1.2021.16
 +
 +iso.3.6.1.4.1.2021.16.2.1.1.1 = INTEGER: 1
 +iso.3.6.1.4.1.2021.16.2.1.1.2 = INTEGER: 2
 +iso.3.6.1.4.1.2021.16.2.1.2.1 = STRING: "test_errors"
 +iso.3.6.1.4.1.2021.16.2.1.2.2 = STRING: "test_warnings"
 +iso.3.6.1.4.1.2021.16.2.1.3.1 = STRING: "/tmp/log.txt"
 +iso.3.6.1.4.1.2021.16.2.1.3.2 = STRING: "/tmp/log.txt"
 +iso.3.6.1.4.1.2021.16.2.1.4.1 = STRING: "ERROR"
 +iso.3.6.1.4.1.2021.16.2.1.4.2 = STRING: "WARNING"
 +iso.3.6.1.4.1.2021.16.2.1.5.1 = Counter32: 2
 +iso.3.6.1.4.1.2021.16.2.1.5.2 = Counter32: 1
 +iso.3.6.1.4.1.2021.16.2.1.6.1 = INTEGER: 2
 +iso.3.6.1.4.1.2021.16.2.1.6.2 = INTEGER: 1
 +iso.3.6.1.4.1.2021.16.2.1.7.1 = Counter32: 2
 +iso.3.6.1.4.1.2021.16.2.1.7.2 = Counter32: 1
 +iso.3.6.1.4.1.2021.16.2.1.8.1 = INTEGER: 2
 +iso.3.6.1.4.1.2021.16.2.1.8.2 = INTEGER: 1
 +iso.3.6.1.4.1.2021.16.2.1.9.1 = Counter32: 2
 +iso.3.6.1.4.1.2021.16.2.1.9.2 = Counter32: 1
 +iso.3.6.1.4.1.2021.16.2.1.10.1 = INTEGER: 0
 +iso.3.6.1.4.1.2021.16.2.1.10.2 = INTEGER: 0
 +iso.3.6.1.4.1.2021.16.2.1.11.1 = INTEGER: 10
 +iso.3.6.1.4.1.2021.16.2.1.11.2 = INTEGER: 10
 +iso.3.6.1.4.1.2021.16.2.1.100.1 = INTEGER: 0
 +iso.3.6.1.4.1.2021.16.2.1.100.2 = INTEGER: 0
 +iso.3.6.1.4.1.2021.16.2.1.101.1 = STRING: "Success"
 +iso.3.6.1.4.1.2021.16.2.1.101.2 = STRING: "Success"
 +</code>
 +
 +Si queremos ver el numero actual de veces que se encuentra la cadena para la primera entrada 'logmatch' ('test_errors' en nuestro ejemplo):
 +
 +  snmpwalk -v 2c -c jj.com test-6.dev.jj.com .1.3.6.1.4.1.2021.16.2.1.6.1
 +  iso.3.6.1.4.1.2021.16.2.1.6.1 = INTEGER: 2
 +
 +Para la siguiente entrada:
 +
 +  snmpwalk -v 2c -c jj.com test-6.dev.jj.com .1.3.6.1.4.1.2021.16.2.1.6.2
 +  iso.3.6.1.4.1.2021.16.2.1.6.1 = INTEGER: 1
 +
 +Etc...
 +
 +
 +
 +===== Traps en GNU/Linux =====
 +
 +Asumimos el siguiente escenario:
 +
 +^ Maquina ^ Comentario ^ Version SNMP ^ Community name ^
 +| servidor | Recibe el trap | 2 | community_name |
 +| cliente | Envia el trap | 2 | - |
 +
 +1. (servidor) Habilitar traps. Editar:
 +
 +  sudo cp /etc/default/snmpd /etc/default/snmpd.bak; sudo vim /etc/default/snmpd
 +
 +Y anyadir/editar la siguiente linea:
 +
 +  TRAPDRUN=yes
 +
 +2. Editar:
 +
 +  sudo cp /etc/snmp/snmptrapd.conf /etc/snmp/snmptrapd.conf.bak; sudo vim /etc/snmp/snmptrapd.conf
 +
 +Y anyadir/editar las siguientes lineas:
 +
 +<code>
 +authCommunity log community_name
 +logoption f /var/log/snmp_traps.log
 +doNotLogTraps yes
 +</code>
 +
 +'community_name' es el SNMP community name del servidor
 +
 +3. (servidor) Reiniciar el servicio SNMP:
 +
 +  sudo /etc/init.d/snmpd restart
 +  Restarting network management services: snmpd snmptrapd.
 +
 +Nos aseguramos que el servicio "snmptrapd" esta ahora corriendo:
 +
 +<code>
 +ps ax | grep snmptrapd
 + 4222 ?        Ss     0:00 /usr/sbin/snmptrapd -Lsd -p /var/run/snmptrapd.pid
 + 4226 pts/0    S+     0:00 grep snmptrapd
 +</code>
 +
 +4. (cliente) Creamos una MIB de prueba
 +
 +  sudo vim /usr/share/mibs/netsnmp/NOTIFICATION-TEST-MIB
 +
 +Con el siguiente contenido:
 +
 +<code>
 +NOTIFICATION-TEST-MIB DEFINITIONS ::= BEGIN
 +        IMPORTS ucdavis FROM UCD-SNMP-MIB;
 +
 +demonotifs OBJECT IDENTIFIER ::= { ucdavis 991 }
 +
 +demo-notif NOTIFICATION-TYPE
 + STATUS current
 +        OBJECTS { sysLocation }
 + DESCRIPTION "Just a test notification"
 +        ::= { demonotifs 17 }
 +
 +END
 +</code>
 +
 +5. (cliente) Enviamos un trap:
 +
 +<code>
 +snmptrap -v 2c -c community_name servidor '' NOTIFICATION-TEST-MIB::demo-notif SNMPv2-MIB::sysLocation.0 s "just here"
 +
 +Cannot rename /var/lib/snmp/snmpapp.conf to /var/lib/snmp/snmpapp.0.conf
 +Cannot unlink /var/lib/snmp/snmpapp.conf
 +read_config_store open failure on /var/lib/snmp/snmpapp.conf
 +read_config_store open failure on /var/lib/snmp/snmpapp.conf
 +read_config_store open failure on /var/lib/snmp/snmpapp.conf
 +</code>
 +
 +Los errores pueden ignorarse, es una cuestion de permisos
 +
 +6. (servidor) Comprobamos que ha llegado el trap:
 +
 +  sudo cat /var/log/snmp_traps.log 
 +
 +Y veremos entradas como esta:
 +
 +<code>
 +2012-11-02 14:09:20 cliente [UDP: [10.0.0.5]:49782->[10.0.0.6]]:
 +iso.3.6.1.2.1.1.3.0 = Timeticks: (6747914) 18:44:39.14 iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.6.1.4.1.2021.991.17 iso.3.6.1.2.1.1.6.0 = STRING: "just here"
 +</code>
 +
 +**TODO** Instalar y configurar [[http://snmptt.sourceforge.net/docs/snmptt.shtml|snmptt]] para un tratamiento avanzado de los traps
  
 ===== OID ===== ===== OID =====
Line 6: Line 232:
 | Windows | .1.3.6.1.4.1.9600.1.1.5.1.1.48 | Total CPU (User?) | | Windows | .1.3.6.1.4.1.9600.1.1.5.1.1.48 | Total CPU (User?) |
 | Windows | .1.3.6.1.4.1.9600.1.1.5.1.1.49 | Total CPU (User?) | | Windows | .1.3.6.1.4.1.9600.1.1.5.1.1.49 | Total CPU (User?) |
 +
 +
 +| GNU/Linux | .1.3.6.1.4.1.2021.13.15.1.1.1 | UCD-DISKIO-MIB::diskIONRead |
 +| GNU/Linux | .1.3.6.1.4.1.2021.13.15.1.1.6 | UCD-DISKIO-MIB::diskIOWrites |
  
 ===== Consultas ===== ===== Consultas =====
Line 13: Line 243:
 | Version 3 | snmpwalk -v 3 -a MD5 -A contrasenya -l authPriv -u usuario -x DES -X contrasenya maquina1.dominio.com .1 | | Version 3 | snmpwalk -v 3 -a MD5 -A contrasenya -l authPriv -u usuario -x DES -X contrasenya maquina1.dominio.com .1 |
  
 +===== Nanostation =====
  
-====== Nanostation ====== 
 Con Nagios: Con Nagios:
   # /usr/lib/nagios/plugins/check_snmp -H 10.139.56.138 -o .1.3.6.1.2.1.1.3.0 -C public   # /usr/lib/nagios/plugins/check_snmp -H 10.139.56.138 -o .1.3.6.1.2.1.1.3.0 -C public
Line 41: Line 271:
  
 Per veure les interfícies per recolectar: Per veure les interfícies per recolectar:
-  # snmpwalk -v1 -c public 10.139.56.138 .1.3.6.1.2.1.2.2.1.2 
  
 +  # snmpwalk -Os -c public -v 1 10.140.53.35 1.3.6.1.2.1.2.2.1.2
   iso.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"   iso.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
-  iso.3.6.1.2.1.2.2.1.2.2 = STRING: "eth0+  iso.3.6.1.2.1.2.2.1.2.2 = STRING: "venet0" 
-  iso.3.6.1.2.1.2.2.1.2.3 = STRING"wifi0" + 
-  iso.3.6.1.2.1.2.2.1.2.STRING"ath0"+Trànsit. L'últim número es la interfície. Si hi ha 3 sortirien 3: 
 +  IN: 
 +  # snmpwalk -Os -c public -v 1 10.140.53.35 iso.3.6.1.2.1.2.2.1.10 
 +  iso.3.6.1.2.1.2.2.1.10.1 = Counter32: 44295734 
 +  iso.3.6.1.2.1.2.2.1.10.2 Counter321208746161 
 + 
 +  OUT: 
 +  # snmpwalk -Os -c public -v 1 10.140.53.35 iso.3.6.1.2.1.2.2.1.16 
 +  iso.3.6.1.2.1.2.2.1.16.1 Counter3244295734 
 +  iso.3.6.1.2.1.2.2.1.16.2 = Counter32: 1130004646
  
  
Line 70: Line 309:
   Free memory - 1.3.6.1.4.1.10002.1.1.1.1.2.0   Free memory - 1.3.6.1.4.1.10002.1.1.1.1.2.0
  
-====== Mikrotik ======+===== Mikrotik ===== 
 Post tempuratura y voltage: Post tempuratura y voltage:
 http://forum.mikrotik.com/viewtopic.php?f=3&t=49282 http://forum.mikrotik.com/viewtopic.php?f=3&t=49282
Line 79: Line 319:
   /system resource print oid   /system resource print oid
  
 +<code>
 +[admin@Escorxador] > interface wireless print oid 
 + 0 ;;; Omni
 +   tx-rate=.1.3.6.1.4.1.14988.1.1.1.3.1.2.3 rx-rate=.1.3.6.1.4.1.14988.1.1.1.3.1.3.3 ssid=.1.3.6.1.4.1.14988.1.1.1.3.1.4.3 
 +   bssid=.1.3.6.1.4.1.14988.1.1.1.3.1.5.3 client-count=.1.3.6.1.4.1.14988.1.1.1.3.1.6.3 frequency=.1.3.6.1.4.1.14988.1.1.1.3.1.7.3 
 +   band=.1.3.6.1.4.1.14988.1.1.1.3.1.8.3 noise-floor=.1.3.6.1.4.1.14988.1.1.1.3.1.9.3 overall-ccq=.1.3.6.1.4.1.14988.1.1.1.3.1.10.3 
  
 + 1 tx-rate=.1.3.6.1.4.1.14988.1.1.1.3.1.2.15 rx-rate=.1.3.6.1.4.1.14988.1.1.1.3.1.3.15 ssid=.1.3.6.1.4.1.14988.1.1.1.3.1.4.15 
 +   bssid=.1.3.6.1.4.1.14988.1.1.1.3.1.5.15 client-count=.1.3.6.1.4.1.14988.1.1.1.3.1.6.15 frequency=.1.3.6.1.4.1.14988.1.1.1.3.1.7.15 
 +   band=.1.3.6.1.4.1.14988.1.1.1.3.1.8.15 noise-floor=.1.3.6.1.4.1.14988.1.1.1.3.1.9.15 overall-ccq=.1.3.6.1.4.1.14988.1.1.1.3.1.10.15 
  
-====== LINUX ====== + 2 ;;; Troncal Sant Simo 
-Instalamos el paquete snmpd.\\ +   tx-rate=.1.3.6.1.4.1.14988.1.1.1.1.1.2.14 rx-rate=.1.3.6.1.4.1.14988.1.1.1.1.1.3.14 strength=.1.3.6.1.4.1.14988.1.1.1.1.1.4.14  
-Editamos el fichero +   ssid=.1.3.6.1.4.1.14988.1.1.1.1.1.5.14 bssid=.1.3.6.1.4.1.14988.1.1.1.1.1.6.14 frequency=.1.3.6.1.4.1.14988.1.1.1.1.1.7.14  
-  /etc/snmp/snmpd.conf +   band=.1.3.6.1.4.1.14988.1.1.1.1.1.8.14 tx-rate=.1.3.6.1.4.1.14988.1.1.1.3.1.2.14 rx-rate=.1.3.6.1.4.1.14988.1.1.1.3.1.3.14  
-Y habilitamos el acceso para toda la red: +   ssid=.1.3.6.1.4.1.14988.1.1.1.3.1.4.14 bssid=.1.3.6.1.4.1.14988.1.1.1.3.1.5.14 client-count=.1.3.6.1.4.1.14988.1.1.1.3.1.6.14  
-  #  AGENT BEHAVIOUR +   frequency=.1.3.6.1.4.1.14988.1.1.1.3.1.7.14 band=.1.3.6.1.4.1.14988.1.1.1.3.1.8.14 noise-floor=.1.3.6.1.4.1.14988.1.1.1.3.1.9.14  
-  # +   overall-ccq=.1.3.6.1.4.1.14988.1.1.1.3.1.10.14  
-   +</code>
-  #  Listen for connections from the local system only +
-  #agentAddress  udp:127.0.0.1:161 +
-  #  Listen for connections on all interfaces (both IPv4 *and* IPv6) +
-  agentAddress udp:161,udp6:[::1]:161+
  
- +===== Enlaces =====
- +
- +
- +
- +
- +
- +
- +
- +
-Continuar:+
  
 http://www.ubnt.com/forum/showthread.php?t=13543 http://www.ubnt.com/forum/showthread.php?t=13543
Line 115: Line 351:
 http://www.ubnt.com/forum/showthread.php?t=7186 http://www.ubnt.com/forum/showthread.php?t=7186
  
 +===== Comandos varios =====
  
 +http://www.net-snmp.org/wiki/index.php/TUT:snmptranslate
  
-====== Comandos varios ======+===== Habilitar snmptranslate =====
  
-http://www.net-snmp.org/wiki/index.php/TUT:snmptranslate+https://wiki.debian.org/SNMP
informatica/linux/snmp.txt · Last modified: 2018/01/03 15:55 by javi