Informazioni su SNMP in un ambiente SIEM e monitoraggio di Zevenet Appliance

PUBBLICATO DA Zevenet 14 gennaio, 2019

Un'introduzione a SNMP

SNMP o Simple Network Management Protocol è un protocollo a livello di applicazione definito dal IETF nel suo attuale emendamento RFC 1157. SNMP basare la sua rappresentazione dei dati in un ASN.1 (protocollo del livello di presentazione) modifica, definita anche dal IETF nello RFC 1065 as SMI (Struttura e identificazione delle informazioni di gestione).

SNMP consente due modi di lavorare, sincrono (o polling) e asincrono. La modalità sincrona è il modo più comune di utilizzo SNMP, funziona inviando Professional Development Units - PDU (Unità di dati del protocollo) ai dispositivi gestiti che implementa SNMP nella rete, quelle PDU potrebbero essere per il recupero dei dati (GetRequest) che richiede una risposta dal dispositivo (GetResponse) o per impostare un valore in un oggetto specifico (SetRequest).

SNMP in modalità asincrona funziona con l'uso di trappole. Le trap sono avvisi non richiesti Professional Development Units - PDU inviati dal dispositivo gestito a una stazione di raccolta di trap centrali, quelle trappole sono l'indicatore che un evento critico si è verificato nel dispositivo monitorato, ad esempio surriscaldamento o troppa memoria e sono diretti al UDP porta 162.

MIB - Management Information Base

Ogni oggetto che potrebbe essere gestito da SNMP sono raggruppati gerarchicamente e rappresentati in un file speciale chiamato File MIB, quei MIB sono descrittori di gruppi di oggetti gestiti organizzati da sotto un albero di OID (Identificatori di oggetti) che identifica ogni oggetto in un modo unico.

Possiamo vedere un esempio di un contenuto MIB nella seguente immagine:

Uno dei più comuni MIB i file sono definiti dal IETF nello MIB-II.

SNMP - Architettura

SNMP definisce i tipi di entità 3 nella sua architettura:

Stazioni di gestione della rete: Esegui le applicazioni di gestione per controllare e monitorare gli elementi della rete.
Elementi di reteDispositivi come un Load Balancer di Zevenet che saranno monitorati dalla stazione di gestione della rete.
Agenti: Software responsabile dell'esecuzione degli ordini inviati dalle stazioni di gestione della rete, come il recupero del valore di un OID specifico.

Nella figura seguente, viene mostrato un esempio di una normale architettura SNMP in una rete:

Configurazione di SNMP in dispositivi Zevenet

Gli elettrodomestici Zevenet sono dotati di un SNMP agente implementato su di esso consentendo il default di Debian GNU / Linux OID per essere interrogato in modo sincrono da una stazione di gestione della rete per controllare lo stato del bilanciamento del carico.

Per configurare SNMP in appliance Zevenet, è possibile farlo in modo semplice attraverso la GUI Web come segue:

1. Passare alla GUI Web dell'appliance e andare alla sezione Sistema> Servizi locali sulla barra laterale:

2. Abilitare la casella di controllo SNMP e configurare l'interfaccia da cui saranno consentite le richieste in arrivo. Si consiglia di impostare qui l'interfaccia di gestione.

3. Possiamo cambiare la porta di ascolto e il community nome, si noti che tale nome è richiesto quando si richiede un OID e dovrebbe essere incluso nella richiesta.

4. L'ultimo campo è l'indirizzo IP o subnet da cui il servizio consentirà le richieste in entrata.

Con questo servizio la consegna delle applicazioni può essere monitorata in una piattaforma SIEM centralizzata al fine di garantire il corretto comportamento del traffico.

Si prega di trovare sotto alcuni utili OID SNMP per monitorare correttamente un bilanciatore del carico. Si noti che ci sono molti diversi OID da usare, quindi raccomandiamo di usare uno strumento come snmptranslate per tradurli in un nome più comprensibile per i gestori di rete.

OID SNMP per statistiche di memoria

Utilizza il seguente OID per Zevenet Appliance per ottenere diverse statistiche di memoria:

memTotalSwap: Spazio di swap totale configurato per l'host in kB (. 1.3.6.1.4.1.2021.4.3.0)
memAvailSwap: Scambia lo spazio attualmente disponibile in kB (. 1.3.6.1.4.1.2021.4.4.0)
memAvailSwap: Memoria reale installata sull'host in kB (. 1.3.6.1.4.1.2021.4.5.0)
memAvailReal: Memoria reale disponibile in kB (. 1.3.6.1.4.1.2021.4.6.0)
memTotalFree: Totale della memoria disponibile in kB (. 1.3.6.1.4.1.2021.4.11.0)
memShared: Totale della memoria reale o virtuale allocata per l'uso come memoria condivisa in kB (. 1.3.6.1.4.1.2021.4.13.0)
memBuffer: Totale della memoria reale o virtuale allocata per l'uso come buffer di memoria in kB (. 1.3.6.1.4.1.2021.4.14.0)
memcached: Totale della memoria reale o virtuale allocata per l'uso come memoria cache in kB (. 1.3.6.1.4.1.2021.4.15.0)

OID SNMP per le statistiche di caricamento della CPU

Utilizza il seguente OID per Zevenet Appliance per ottenere i valori di carico della CPU:

Carico CPU 1 minuto (. 1.3.6.1.4.1.2021.10.1.3.1)
Carico CPU 5 minuto (. 1.3.6.1.4.1.2021.10.1.3.2)
Carico CPU 15 minuto (. 1.3.6.1.4.1.2021.10.1.3.3)

OID SNMP per le statistiche della CPU

Utilizza il seguente OID per Zevenet Appliance per ottenere le statistiche della CPU:

SsCpuSystem: percentuale del tempo a livello di sistema di elaborazione della CPU del sistema (. 1.3.6.1.4.1.2021.11.10.0)
ssCpuRawSystem: Zecche spese nel codice a livello di sistema (. 1.3.6.1.4.1.2021.11.52.0)
ssCpuIdle: Percentuale del tempo del processore in stato di inattività (. 1.3.6.1.4.1.2021.11.11.0)
ssCpuRawIdle: Zecche spese pigramente da cpu (. 1.3.6.1.4.1.2021.11.53.0)

OID SNMP per statistiche sulle interfacce di rete

Utilizza il seguente OID per Zevenet Appliance per ottenere le statistiche delle interfacce di rete:

ifNumber: Numero di interfacce nel sistema (1.3.6.1.2.1.2.1)
interfacce: tabella per le statistiche delle interfacce (1.3.6.1.2.1.2.2)

Questa OID corrisponde a una tabella in MIB2. Si noti che le tabelle sono diverse nella loro rappresentazione rispetto agli oggetti scalari. Immagina un tavolo con un OID xTable, con colonne coli e indice i, per accedere alla colonna Col1 e indice 1, dovremmo chiedere a snmpget per xTable.xEntry.Col1.1, Dove xentry ha solo un significato concettuale, possiamo anche ottenere tutte le voci di una colonna Col1 con snmpwalk a xTable.xEntry.Col1 oppure ottieni il tavolo completo con a snmpwalk a sua OID (xTable.xEntry). Consente di ottenere ciò che otteniamo come colonne:

ifDescr: Nomi di interfacce (1.3.6.1.2.1.2.2.1.2)
ifType: Tipo di interfacce, ad esempio, ethernet (1.3.6.1.2.1.2.2.1.3)
ifMtu: Unità di trasferimento massima (1.3.6.1.2.1.2.2.1.4)
ifSpeed: Larghezza di banda nominale stimata o nominale in b / s (1.3.6.1.2.1.2.2.1.5)
ifPhysAddress: indirizzo del livello di protocollo inferiore, ad esempio, indirizzo MAC (1.3.6.1.2.1.2.2.1.6)
ifOperStatus: Stato attuale (1.3.6.1.2.1.2.2.1.8)
ifInOctets: Numero di ottetti in entrata (1.3.6.1.2.1.2.2.1.10)
ifInUCastPkts: Numero di pacchetti unicast in entrata (1.3.6.1.2.1.2.2.1.11)
ifInDiscards: Numero di pacchetti in entrata scartati (1.3.6.1.2.1.2.2.1.13)
ifInErrors: Numero di pacchetti in entrata con errori che ne impediscono la consegna (1.3.6.1.2.1.2.2.1.14)
ifOutOctets: Numero di ottetti trasmessi (1.3.6.1.2.1.2.2.1.16)
ifOutUcastPkts: Numero di pacchetti unicast trasmessi (1.3.6.1.2.1.2.2.1.17)
ifOutDiscards: Numero di pacchetti trasmessi scartati (1.3.6.1.2.1.2.2.1.19)
ifOutErrors: Numero di pacchetti in uscita con errori che non è stato possibile trasmettere (1.3.6.1.2.1.2.2.1.20)

Backends Monitoraggio SNMP dal servizio di bilanciamento del carico

D'altra parte, SNMP è molto utile in un punto di vista del bilanciamento del carico in quanto potrebbe essere utilizzato per raccogliere le metriche dei backend e utilizzarli per modificare il comportamento del programmatore o per automatizzare l'attivazione e la disattivazione dei backend. Fare riferimento a questo link per ottenere ulteriori informazioni su come utilizzare un controllo custode farm personalizzato con SNMP.

Ulteriore monitoraggio della consegna delle applicazioni

Esistono casi d'uso in cui è necessario ottenere valori di monitoraggio specifici come farm, backend o statistiche e stati di clustering. Per raccogliere questi valori specifici, segui Questo articolo può anche essere fatto tramite Api REST.

Ulteriori risorse di monitoraggio

Fare riferimento agli articoli su come monitorare le appliance Zevenet con Nagios o Zabbix tramite i seguenti collegamenti:

https://www.zevenet.com/knowledge-base/howtos/monitoring-zevenet-nagios/
https://www.zevenet.com/knowledge-base/howtos/monitoring-zevenet-zabbix/

Spero che tu trovi questo articolo utile e che ti porti al prossimo livello di utilizzo SNMP monitorare Zevenet Appliances!

Referenze

UCD-SNMP-MIB http://www.net-snmp.org/docs/mibs/UCD-SNMP-MIB.txt
Protocollo SNMP RFC: https://tools.ietf.org/html/rfc1157
SIM RFC: https://tools.ietf.org/html/rfc1065
net-snmp: http://www.net-snmp.org/wiki/
Wiki snmp di Debian: https://wiki.debian.org/SNMP
UCD-SNMP-MIB: http://www.net-snmp.org/docs/mibs/UCD-SNMP-MIB.txt

Condividere su:

Documentazione sotto i termini della GNU Free Documentation License.

questo articolo è stato utile?

Articoli Correlati