Via Cà Matta 2 - Peschiera Borromeo (MI)
+39 02 00704272
info@synaptica.info

Monitoraggio Consumi nel CED Synaprtica con SNMP e App Delphi Cross-Platform

Digital Innovation Partner

Monitoraggio Consumi nel CED Synaprtica con SNMP e App Delphi Cross-Platform

 

Nel nostro centro elaborazione dati (CED) ho realizzato un sistema su misura per monitorare i consumi elettrici delle apparecchiature, con l’obiettivo di migliorare l’efficienza, prevenire overload e ottimizzare l’uso delle risorse.

Perché un sistema personalizzato?

Il mio obiettivo era duplice:

  • Monitorare i consumi energetici in modo dettagliato per ogni singolo dispositivo, al fine di individuare sprechi, verificare i carichi in tempo reale e storicizzarli per analisi a lungo termine.
  • Non avere limiti sui device da monitorare, posso personalizzare gli agent di monitoraggio senza avere i limiti di soluzioni già pronte.
  • Prevenire situazioni di sovraccarico, con un sistema intelligente che comunica con il gestionale per spegnere automaticamente le macchine secondarie non critiche.

Dispositivi monitorati

Il sistema interroga periodicamente dispositivi PDU APC Metered e UPS agli ioni di litio (Li-Ion) APC Schneider Electric, entrambi compatibili con SNMP v1/v2c.

Vengono raccolti dati su:

  • Consumo totale e per presa (PDU)
  • Stato batterie e autonomia (UPS)
  • Corrente, tensione e potenza attiva

Tecnologia e strumenti utilizzati

Ho sviluppato applicazioni (Agenti) Delphi 12.2 compatibili con Windows e Linux per interrogare i dispositivi via SNMP, elaborare i dati e inviarli in formato Excel al gestionale Xtumble che mi permette poi di avere i dati storicizzati in cloud, consultabile via web, ma principalmente associare ai centri di costo appropriato tutte le rilevazioni di consumo.

Grazie ad Xtumble evito di dover sviluppare tutte le features di invio mail, push notifications e allarmi che sono già gestite di base dal gestionale, mi basta configurare le regole di avviso.

In Delphi, l’accesso SNMP è stato realizzato con il componente TidSNMP della libreria Indy.

Esempio codice Delphi con TidSNMP


var
  SNMP: TidSNMP;
begin
  SNMP := TidSNMP.Create(nil);
  try
    SNMP.Host := '192.168.1.100';
    SNMP.Community := 'public';
    SNMP.Query.Clear;
    SNMP.Query.Add('1.3.6.1.4.1.318.1.1.12.1.16.0');
    SNMP.SendQuery;
    if SNMP.Reply.Count > 0 then
      ShowMessage('Consumo: ' + SNMP.Reply.ValueFromIndex[0] + ' Watt');
  finally
    SNMP.Free;
  end;
end;

Analisi SNMP preliminare con snmpwalk

Per capire quali OID fossero disponibili, abbiamo usato snmpwalk su Linux:

snmpwalk -v2c -c public 192.168.1.100

Questo ci ha permesso di individuare i parametri più utili da monitorare.

Integrazione con il gestionale

I dati raccolti vengono salvati in file Excel che vengono inviati e importati dal gestionale Xtumble per:

  • Archiviazione e storicizzazione
  • Analisi e generazione report con dati aggregati e automazione mail
  • Invio di allarmi via mail o push notifications
  • Attivazione automatica di azioni (es. spegnimento VM secondarie)

Espansioni previste

In fase di sviluppo:

  • Alert via email o Telegram
  • Dashboard web interattiva
  • Integrazione con sistemi di automazione (es. Ansible)

Se vuoi saperne di più su come integrare SNMP in Delphi o monitorare dispositivi APC, scrivimi nei commenti!