User Tools

Site Tools


doc:appunti:linux:sa: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
doc:appunti:linux:sa:snmp [2014/03/13 10:28] – [Nuova sintassi per snmpd.conf] niccolodoc:appunti:linux:sa:snmp [2020/04/01 11:40] (current) – [SNMP con systemd su Debian 9 e seguenti] niccolo
Line 21: Line 21:
 .1.3.6.1.2.1.31.1.1.1.1.2 .1.3.6.1.2.1.31.1.1.1.1.2
  
-# snmptranslate .1.3.6.1.2.1.31.1.1.1.1.2+# snmptranslate -m ALL .1.3.6.1.2.1.31.1.1.1.1.2
 IF-MIB::ifName.2 IF-MIB::ifName.2
  
Line 82: Line 82:
 La versione più recente del pacchetto Debian binda il demone solo sull'indirizzo 127.0.0.1, per mettersi in ascolto su tutti gli indirizzi IP bisogna togliere tale indirizzo dalla variabile ''**SNMPDOPTS**'' dal file ''**/etc/default/snmpd**''. La versione più recente del pacchetto Debian binda il demone solo sull'indirizzo 127.0.0.1, per mettersi in ascolto su tutti gli indirizzi IP bisogna togliere tale indirizzo dalla variabile ''**SNMPDOPTS**'' dal file ''**/etc/default/snmpd**''.
  
 +==== Controllo del log ====
  
 +L'installazione predefinita di Debian Wheezy genera una riga di log per ogni interrogazione SNMP, se pare eccessiva basta modificare il livello di log agendo sulla variabile ''**SNMPDOPTS**'' del file ''**/etc/default/snmpd**'':
 +
 +<file>
 +SNMPDOPTS='-LS0-5d ...
 +</file>
 +
 +In questo caso **S0-5** significa loggare su syslog da ''LOG_EMERG'' to ''LOG_NOTICE'', **d** indica la facility ''LOG_DAEMON''. Vedere ''snmpcmd(1)''.
 ===== Aggiunta di sensori SNMP ===== ===== Aggiunta di sensori SNMP =====
  
Line 101: Line 109:
 Come si vede il valore è disponibile sotto un MIB differente, la radice in questo caso è .1.3.6.1.4.1.2021.8.1. (UCD-SNMP-MIB::). Come si vede il valore è disponibile sotto un MIB differente, la radice in questo caso è .1.3.6.1.4.1.2021.8.1. (UCD-SNMP-MIB::).
  
-Con la nuova sintassi di **''snmpd.conf''** (da preferire ad esempio con ''snmpd'' 5.4.3) la direttiva **''exec''** viene deprecata, al suo posto si usa **''extend''**:+Con la nuova sintassi di **''snmpd.conf''** (introdotta con la versione 5.2.x e quindi da preferire ad esempio con ''snmpd'' 5.4.3) la direttiva **''exec''** viene deprecata, al suo posto si usa **''extend''**:
  
 <file> <file>
Line 299: Line 307:
 Target[temp1]:      iso.3.6.1.4.1.2021.13.16.2.1.3.1&iso.3.6.1.4.1.2021.13.16.2.1.3.1:public@localhost Target[temp1]:      iso.3.6.1.4.1.2021.13.16.2.1.3.1&iso.3.6.1.4.1.2021.13.16.2.1.3.1:public@localhost
 Factor[temp1]:      0.001 Factor[temp1]:      0.001
 +YTicsFactor[temp1]: 0.001
 Title[temp1]:       Temperature temp1 Title[temp1]:       Temperature temp1
 PageTop[temp1]:     <H1>Temperature temp1</H1> PageTop[temp1]:     <H1>Temperature temp1</H1>
Line 306: Line 315:
 Unscaled[temp1]:    dwmy Unscaled[temp1]:    dwmy
 YLegend[temp1]:     Temp C° YLegend[temp1]:     Temp C°
-ShortLegend[temp1]:  +ShortLegend[temp1]: C&deg; 
-Legend1[temp1]:     Temperature in +Legend1[temp1]:     Temperature in C&deg;
 Legend2[temp1]: Legend2[temp1]:
-LegendI[temp1]:     Temp &nbsp;+LegendI[temp1]:     Temp C&deg;&nbsp;
 LegendO[temp1]: LegendO[temp1]:
 </file> </file>
 +
 +It seems that MRTG does not support UTF-8 (even version 2.17.4), so the configuration file should be encoded in ISO_8859-1. Special characters used in HTML output should be encoded properly.
  
 See this article: [[http://www.eric-a-hall.com/software/cacti-netsnmp-lmsensors/|lmSensors/Net-SNMP Sensor Readings ]]. See this article: [[http://www.eric-a-hall.com/software/cacti-netsnmp-lmsensors/|lmSensors/Net-SNMP Sensor Readings ]].
  
-===== MIBs e Debian Squeeze =====+===== MIBs e Debian (Squeeze e successive) ===== 
 + 
 +Vedere il [[https://wiki.debian.org/SNMP|wiki Debian]].
  
 Tradizionalmente i file contenenti i MIBs di [[http://www.ietf.org/|IETF]] e di [[http://www.iana.org/|IANA]] venivano distribuiti con il pacchetto **''libsnmp-base''**, per problemi di licenza questo non è più possibile (dalla versione net-snmp 5.4.2.1~dfsg-1). Tradizionalmente i file contenenti i MIBs di [[http://www.ietf.org/|IETF]] e di [[http://www.iana.org/|IANA]] venivano distribuiti con il pacchetto **''libsnmp-base''**, per problemi di licenza questo non è più possibile (dalla versione net-snmp 5.4.2.1~dfsg-1).
Line 329: Line 342:
 </file> </file>
  
-Stessa cosa bisogna farla per il demone snmpd, commentando una riga in **''/etc/default/snmpd''**:+Stessa cosa bisogna farla per il demone snmpd, aggiungendo una riga in **''/etc/default/snmpd''**:
  
 <file> <file>
-# Don't load any MIBs by default. +export MIBS=UCD-SNMP-MIB
-# You might comment this lines once you have the MIBs downloaded. +
-#export MIBS=+
 </file> </file>
  
Line 381: Line 392:
 </code> </code>
  
-===== SNMP ipv6 =====+===== SNMP su ipv6 =====
  
 Con Debian Wheezy sono necessarie alcune accortezze perché SNMP risponda anche su IPV6, in particolare **''/etc/snmp/snmpd.conf''**: Con Debian Wheezy sono necessarie alcune accortezze perché SNMP risponda anche su IPV6, in particolare **''/etc/snmp/snmpd.conf''**:
Line 391: Line 402:
 rocommunity  public default rocommunity  public default
 rocommunity6 public default rocommunity6 public default
 +</file>
 +
 +===== SNMP con systemd su Debian 9 e seguenti =====
 +
 +**Debian 9 Stretch** utilizza il sistema di init **systemd** invece del vecchio //sysvinit//. Le personalizzazioni all'avvio non si fanno più in ''/etc/default/snmpd''.
 +
 +La risoluzione degli OIDs nella loro descrizione testuale richiede sempre l'installazione del pacchetto non-free **snmp-mibs-downloader**. Invece di impostare la variabile d'ambient **MIBS** si deve modificare il file **/etc/snmp/snmp.conf**, commentando (disattivando) la riga:
 +
 +<file>
 +#mibs :
 +</file>
 +
 +Eventuali personalizzazioni dei parametri di snmpd non si fanno più con la variabile d'ambiente **SNMPDOPTS**, bisogna piuttosto creare il file **/etc/systemd/system/snmpd.service**, prendendo come esempio quello predefinito ''/lib/systemd/system/snmpd.service''. Il file personalizzato prevale su quello di sistema (basta eseguire **systemctl daemon-reload**). Pare che non sia necessario aggiornare i link simbolici, ad esempio quello contenuto in ''/etc/systemd/system/multi-user.target.wants/''.
 +
 +Ecco ad esempio come modificare la riga **ExecStart** per diminuire il logging e sopprimere tutte le righe **Connection from UDP** che riempiono il syslog (nota: si modifica **%%-Lsd%%** in **%%-LSwd%%**):
 +
 +<file>
 +ExecStart=/usr/sbin/snmpd -LSwd -Lf /dev/null -u Debian-snmp -g Debian-snmp
 +    -I -smux,mteTrigger,mteTriggerConf -f -p /run/snmpd.pid
 +</file>
 +
 +In alternativa a **sostituire completamente il file unit** (cioè il file /etc/systemd/system/snmpd.service) è possibile creare un file **override** con solo le modifiche necessarie. Il file override deve stare nella directory **/etc/systemd/system/snmpd.service.d/** e può chiamarsi **local.conf** (è possibile averne più di uno). Fare attenzione al parametro **ExecStart** che deve essere svuotato prima di essere definito nuovamente:
 +
 +<file>
 +[Service]
 +Environment="MIBS="
 +ExecStart=
 +ExecStart=/usr/sbin/snmpd -LSwd -Lf /dev/null -u Debian-snmp -g Debian-snmp
 +    -I -smux,mteTrigger,mteTriggerConf -f -p /run/snmpd.pid
 </file> </file>
  
doc/appunti/linux/sa/snmp.1394702939.txt.gz · Last modified: 2014/03/13 10:28 by niccolo