Monitoraggio SNMP in Odoo 19: soglia superata, ticket aperto
Server, switch, gruppi di continuità, sensori di temperatura nella sala server: quasi tutto ciò che è collegato a una rete parla SNMP e può fornire informazioni sul proprio stato. La domanda è solo chi ascolta – e cosa succede quando un valore sfugge al controllo.
Per l'infrastruttura che gestiamo per i nostri clienti abbiamo ora riunito questa catena in un unico posto: il nostro Odoo 19 interroga i dispositivi, confronta i valori con le soglie e, quando una soglia viene raggiunta, apre un ticket nell'helpdesk – presso il cliente a cui appartiene il dispositivo. Nessun sistema di monitoraggio separato che scrive per e-mail all'helpdesk, ma lo stesso sistema in cui cliente, dispositivo e ticket sono comunque collegati.
Il modulo lo abbiamo sviluppato per la nostra attività. Non è una pubblicazione per la community come i nostri moduli per estratti conto bancari o e-fatture, ma parte della nostra piattaforma interna di assistenza – come la localizzazione di cui abbiamo riferito di recente.
Dal valore misurato al ticket
Il flusso è volutamente semplice:
- Un dispositivo viene creato con indirizzo e credenziali di accesso (SNMP v1, v2c o v3 con autenticazione e cifratura). Al salvataggio Odoo recupera descrizione del sistema, nome del sistema e uptime – la conferma più onesta che indirizzo e credenziali sono corretti.
- Sul dispositivo vengono definiti i punti dati: un OID, un'unità, un'assegnazione a un cliente.
- Una pianificazione interroga tutti i punti dati attivi. Per ogni dispositivo ci si collega una sola volta, non per ogni punto dati – con venti OID su uno switch è la differenza tra una e venti sessioni.
- Ogni punto dati può monitorare soglie: un limite superiore, un limite inferiore o entrambi.
- Se una soglia viene superata, viene creato un ticket helpdesk.
Un ticket per evento, non per misurazione
Il punto più importante della logica degli allarmi: conta solo il cambio di stato. Chi genera un ticket a ogni misurazione si ritrova, dopo una notte con un sensore bloccato o instabile, con trecento ticket – questo non è allarmistica, è offuscamento.
Per questo il modulo memorizza per ogni punto dati se si trova nello stato «Normale» o «Allarme». Al primo superamento della soglia lo stato cambia, un messaggio finisce nel chatter del dispositivo e viene aperto un ticket – con il cliente interessato come partner, con punto dati, dispositivo, valore misurato e soglia violata nel testo. Finché il valore resta fuori soglia non succede altro: il ticket è aperto, i nostri tecnici sono informati.
Quando il valore rientra nell'intervallo normale, il modulo scrive un cessato allarme nello stesso ticket e scioglie il collegamento. Se il ticket venga poi chiuso lo decide comunque una persona – un valore che scende brevemente sotto la soglia non significa ancora che la causa sia stata eliminata.
Le soglie vengono verificate a ogni misurazione, indipendentemente dal fatto che il valore venga salvato. Un valore costantemente troppo alto resta un allarme. E un allarme non deve mai fallire perché non è possibile creare un ticket – se la creazione fallisce, registro e messaggio sul dispositivo restano comunque.
Salvare solo ciò che cambia
Un punto dati interrogato ogni cinque minuti produce 105.000 valori all'anno. Con cento punti dati sono oltre dieci milioni di righe – per valori che per lo più non sono cambiati affatto.
Viene quindi salvato solo ciò che si discosta dall'ultimo valore salvato di oltre una soglia impostata – per ogni punto dati come differenza assoluta (ad es. 0,5 °C), come scostamento percentuale o a ogni modifica. Il valore attuale e il momento dell'ultima interrogazione sono comunque sempre presenti sul punto dati; viene diradato solo lo storico.
Anche la destinazione in cui vengono scritti i valori è configurabile: nel database di Odoo, in un MongoDB o come file CSV nel filestore di Odoo. In questo modo teniamo i valori misurati fuori dal database ERP – lo stesso principio dei dati di posizione della localizzazione. Lo storico può comunque essere visualizzato come grafico, con aggregazione oraria come media, non come somma.
Livello di riempimento in percentuale anziché in byte
Alcune grandezze non sono presenti come tali nel dispositivo. Il livello di riempimento di una partizione va calcolato dalla memoria occupata e dalla dimensione totale; i sensori di temperatura spesso restituiscono numeri interi scalati – 235 per 23,5 gradi.
Un punto dati può quindi assumere il valore così come comunicato, moltiplicarlo per un fattore o calcolarlo come percentuale di un secondo OID. Per le soglie è decisivo: una soglia del 90 % vale per qualsiasi dimensione di disco. Una soglia in gigabyte dovrebbe essere aggiornata per ogni unità.
Nessuno deve conoscere a memoria gli OID
Per i server Windows e Linux la HOST-RESOURCES-MIB è standardizzata: unità e memoria RAM si trovano in posizioni note. Un rilevamento dei dispositivi legge la tabella, converte i livelli di riempimento in percentuale e crea con un clic i punti dati completi di soglia di allarme.
Per tutto il resto c'è un browser SNMP che percorre l'albero degli OID e mostra ogni OID trovato con il suo valore attuale – e, se noto nel catalogo, con nome, descrizione e unità dalla MIB del produttore importata. Basta spuntare.
Cosa ne ricavano i nostri clienti
Dispositivi e punti dati sono assegnati ai clienti. Nel portale clienti trova sotto I miei valori SNMP i valori misurati attuali dei suoi dispositivi e lo storico delle ultime 24 ore, 7 giorni, 30 giorni o 12 mesi come grafico – gli stessi valori che vediamo anche noi. È visibile esclusivamente ciò che è assegnato alla sua azienda.
E quando una soglia viene superata, non deve fare nulla: il ticket è già da noi, con dispositivo, valore e ora, prima ancora che lei se ne accorga.
Cosa il modulo volutamente non è
Non è un sostituto di un monitoraggio completo con verifiche di disponibilità, catene di escalation e alberi di dipendenze. Non riceve trap SNMP, ma interroga attivamente. E non chiude alcun ticket automaticamente – il cessato allarme è un messaggio, non un cambio di stato.
Si tratta di un solo tratto: dal valore misurato, attraverso la soglia, fino al tecnico che se ne occupa. Questo tratto ora è breve quanto può esserlo.
Se desidera includere i suoi server, dispositivi di rete o sensori in questo monitoraggio, ci contatti.