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 [2016/02/12 12:06] – [Esempi configurazione] niccolodoc:appunti:linux:sa:snmp [2024/10/11 15:33] (current) – [Introduzione] niccolo
Line 15: Line 15:
 La gerarchia (albero) dei simboli e i loro nomi sono codificati nel RFC1066 MIB. La radice degli oggetti - se non indicata - è per convenzione ''**.iso.org.dod.internet.mgmt.mib.**'' cioè in numeri ''**.1.3.6.1.2.1.**''. Vedi a proposito man ''**variables(5snmp)**''. Nota che i nomi dei simboli distinguono le maiuscole/minuscole a differenza di quello che dice la man page. La gerarchia (albero) dei simboli e i loro nomi sono codificati nel RFC1066 MIB. La radice degli oggetti - se non indicata - è per convenzione ''**.iso.org.dod.internet.mgmt.mib.**'' cioè in numeri ''**.1.3.6.1.2.1.**''. Vedi a proposito man ''**variables(5snmp)**''. Nota che i nomi dei simboli distinguono le maiuscole/minuscole a differenza di quello che dice la man page.
  
-Per convertire i nomi degli attributi dal formato testuale a quello numerico:+ 
 +Per convertire il formato numerico di un OID nella suo nome simbolico si usa **snmptranslate**: 
 + 
 +<code> 
 +snmptranslate .1.3.6.1.2.1.25.2 
 +HOST-RESOURCES-MIB::hrStorage 
 +</code> 
 + 
 +Se non funziona verificare che sia stato installato il pacchetto **snmp-mibs-downloader** (che provvede a scaricare e installare il database dei MIBS) e commentare la riga che definisce **MIBS=** nel file **/etc/default/snmpd**. 
 + 
 +Per convertire viceversa i nomi degli attributi dal formato testuale a quello numerico:
  
 <code> <code>
Line 21: Line 31:
 .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 109: Line 119:
 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 403: Line 413:
 rocommunity6 public default rocommunity6 public default
 </file> </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>
 +
 +===== Spazio disco =====
 +
 +Per monitorare lo spazio disco esistono due famiglie di OID diversi: **UCD-SNMP-MIB** e **HOST-RESOURCES-MIB**.
 +
 +==== UCD-SNMP-MIB ====
 +
 +Ci sono tre OID della famiglia **UCD-SNMP-MIB** normalmente utilizzati per monitorare lo spazio disco disponibile:
 +
 +  * UCD-SNMP-MIB::dskUsed
 +  * UCD-SNMP-MIB::dskAvail
 +  * UCD-SNMP-MIB::dskTotal
 +
 +Ognuno di essi viene indicizzato con un intero che rappresenta una partizione in uso al sistema operativo. Per interrogare il server SNMP si può usare la riga di comando:
 +
 +<code>
 +snmpwalk host.domain.org -v2c -c public UCD-SNMP-MIB::dskAvail
 +</code>
 +
 +Sul server si deve aver abilitato questo OID con una direttiva **disk** per ogni filesystem montato oppure con la direttiva **includeAllDisks**. Ciascuna direttiva è seguita da **MINPERCENT%**, valore che può essere interrogato dal client con l'OID **UCD-SNMP-MIB::dskMinPercent**. Ad esempio si possono aggiungere le seguenti righe al file di configurazione **/etc/snmp/snmpd.conf**:
 +
 +<file>
 +# Disk Monitoring
 +# 10MBs required on root disk, 5% free on /var, 10% free on all other disks
 +disk       /     10000
 +disk       /var  5%
 +includeAllDisks  10%
 +</file>
 +
 +==== HOST-RESOURCES-MIB ====
 +
 +Esistono anche gli OID della famiglia **HOST-RESOURCES-MIB** per interrogare lo spazio disco; lo spazio disponibile deve essere calcolato come differenza fra dimensione totale e spazio usato:
 +
 +  * HOST-RESOURCES-MIB::hrStorageSize
 +  * HOST-RESOURCES-MIB::hrStorageUsed
 +  * HOST-RESOURCES-MIB::hrStorageDescr
 +
 +Per attivare questi OID sul server non è necessario alcuna direttiva particolare nel file di configurazione **/etc/snmp/snmpd.conf**.
  
doc/appunti/linux/sa/snmp.1455275166.txt.gz · Last modified: 2016/02/12 12:06 by niccolo