Appunti sul driver SNMP Agent di JSup (Draft)


E' possibile specificare il tipo di variabile SNMP da associare ad un [IOHook|I/O hook] aggiungendo all'item il carattere '=' e una delle seguenti lettere:

  • i - Integer32 (default per [JSup tag|tag] di tipo Bool, Byte, Short, Int, Float e Double)
  • u - Unsigned32 / Gauge / Gauge32
  • q - Counter64 (default per [JSup tag|tag] di tipo Long)
  • s - OctetString (default per [JSup tag|tag] di tipo String e FLString)
  • t - TimeTicks
  • x - Hexadecimal representation of a string
  • d - Decimal representation of a string
  • t - Binaryrepresentation of a string
  • o - OID
  • a - IpAddress

Esposizione di tutti gli allarmi via SNMP Agent

Questa funzione richiede un'apposita licenza ed è attivabile compilando il campo All alarm info root OID nel dialogo Agent properties. Questo OID, come standard, è 1.3.6.1.4.1.42591.1.4.x.100 dove x è il [JSup application OIDs|nr. corrispondente all'applicazione JSup].

A questo OID base vengono aggiunti i seguenti numeri:

  • l'ID del tag (shared) cui l'allarme fa riferimento;
  • il progressivo dell'allarme (per allarmi booleani verrà aggiunto solo .1, per tag analogici saranno aggiunti .2, .3, .4 e/o .5 per gli allarmi LL, L, H e HH rispettivamente). Nel caso di allarmi basati su BitField, aggiungere (bitFieldStart+1)<<8;
  • per ogni valore scalare fornito con ciascun allarme viene aggiunto il seguente numero corrispondente:
    • 1. tagId (OctetString): il nome del tag JSup
    • 2. uniqueAlarmId (OctetString): id unico dell'allarme
    • 3. desc (OctetString): la descrizione dell'allarme
    • 4. active (Integer32): stato attivo dell'allarme (1) o non attivo (0)
    • 5. activeFrom (TimeTicks): hundredths of a second from the alarm activation: 0 se l'allarme non è attivo, max 4294967295L.
    • 6. unack (Integer32): l'allarme dev'essere acquisito (1) o meno (0). Questo valore può essere abilitato in scrittura per permettere l'acquisizione dell'allarme da parte del SNMP Manager: per far questo bisogna impostare a 1 la proprietà snmpAgent.allAlarm.canBeAck per un singolo [JSup tag|tag] o per un [JSup alarm groups|gruppo allarmi]. Si possono anche impostare le seguenti [JSup Application properties|proprietà dell'applicazione]:
      • snmpAgent.allAlarm.ackUser: il nome utente che comparirà come autore dell'acquisizione (per esempio Nagios);
      • snmpAgent.allAlarm.ackComment: il commento per l'acquisizione (per esempio "Acquisisto da Nagios");
      • snmpAgent.allAlarm.ackHostName: il nome host dal quale risulterà originata l'acquisizione degli allarmi via SNMP agent.
    • 7. suppressed (Integer32): l'allarme è stato soppresso (1: non viene notificato tra gli allarmi attivi/da acquisire) oppure no (0)
    • 8. suppressExpireTime (Counter64): con l'ora in formato currentTimeMillis() in cui la soppressione utente verrà tolta automaticamente (millisecondi dalla mezzanotte del primo gennaio 1970 UTC)
    • 9. disabled (Integer32): l'allarme è stato disabilitato (1: non viene mai attivato) o meno (0)
    • 10. disableExpireTime (Counter64): con l'ora in formato currentTimeMillis() in cui la disabilitazione utente verrà tolta automaticamente
    • 11. alarmGroup (OctetString): stringa con il nome del gruppo allarmi di appartenenza.
    • 12. priority (Integer32): valore da 1 (priorità massima) a 99 (priorità minima) dell'allarme.
    • 13. rawSignal (Integer32): segnale grezzo (non filtrato né mascherato) sul quale l'allarme è basato (questo segnale viene alzato (1) o abbassato (0) immediatamente, indipendentemente dagli eventuali tempi di filtro on/off o delle condizioni di mascheratura).
    • 14. activationTime (Counter64): con l'ora in formato currentTimeMillis() in cui l'allarme si è attivato, 0 se l'allarme non è attualmente attivo.