SNMP-seire Odoo 19-s: piirväärtus ületatud, pöördumine loodud
Serverid, kommutaatorid, UPS-id, serveriruumi temperatuuriandurid: peaaegu kõik võrku ühendatud seadmed toetavad SNMP-d ja suudavad oma seisundist teada anda. Küsimus on vaid selles, kes neid kuulab ja mis juhtub, kui mõni näit normist kõrvale kaldub.
Klientide taristu haldamiseks oleme kogu selle ahela nüüd ühte kohta koondanud: meie Odoo 19 pärib seadmetelt andmeid, võrdleb näite piirväärtustega ja loob piiri saavutamisel kasutajatoes pöördumise seadme omanikust kliendi nimele. Eraldi seiresüsteemi asemel, mis saadab kasutajatoele e-kirju, teeb seda sama süsteem, kus klient, seade ja pöördumine on juba niigi omavahel seotud.
Arendasime mooduli enda töö jaoks. Erinevalt meie pangaväljavõtete või e-arvete moodulitest ei ole see kogukonnale avaldatud, vaid kuulub meie sisemise haldusplatvormi juurde – nagu ka jälgimislahendus, millest hiljuti kirjutasime.
Mõõteväärtusest pöördumiseni
Töövoog on teadlikult lihtne:
- Seade lisatakse koos aadressi ja pääsuandmetega (SNMP v1, v2c või v3 koos autentimise ja krüpteerimisega). Salvestamisel pärib Odoo süsteemi kirjelduse, süsteemi nime ja töösoleku aja – see kinnitab kõige kindlamalt, et aadress ja pääsuandmed on õiged.
- Seadme juures määratakse andmepunktid: OID, mõõtühik ja seos kliendiga.
- Ajastatud toiming pärib kõigi aktiivsete andmepunktide väärtusi. Iga seadmega luuakse ühendus üks kord, mitte iga andmepunkti jaoks eraldi – kui kommutaatoril on kakskümmend OID-d, tähendab see erinevust ühe ja kahekümne seansi vahel.
- Iga andmepunkti puhul saab jälgida piirväärtusi: ülempiiri, alampiiri või mõlemat.
- Kui näit väljub lubatud piiridest, luuakse kasutajatoes pöördumine.
Üks pöördumine juhtumi, mitte iga mõõtmise kohta
Häirelogika kõige olulisem punkt: loeb ainult olekuvahetus. Kes loob iga mõõtmise kohta pileti, saab pärast ööd kinni kiiluva või värelava anduriga kolmsada piletit – see ei ole häirestamine, see on udu tekitamine.
Moodul jätab seetõttu andmepunkti kohta meelde, kas see on olekus „Normaalne“ või „Häire“. Piiri esmakordsel ületamisel olek vahetub, sõnum jõuab seadme Chatterisse ja avatakse pilet – mõjutatud kliendiga partnerina, andmepunkti, seadme, mõõdetud väärtuse ja rikutud piiriga tekstis. Seni kuni väärtus jääb piirist väljapoole, ei juhtu enam midagi: pilet on avatud, meie tehnikud on kursis.
Kui väärtus naaseb normivahemikku, lisab moodul samasse pöördumisse teate olukorra normaliseerumise kohta ja eemaldab seose. Pöördumise sulgemise otsustab endiselt inimene – hetkeks alla piirväärtuse langenud näit ei tähenda veel, et põhjus on kõrvaldatud.
Piirväärtusi kontrollitakse igal mõõtmisel, sõltumata sellest, kas väärtus salvestatakse. Püsivalt liiga kõrge näit jääb häireks. Ja häire ei tohi kunagi kaotsi minna seetõttu, et pöördumist ei saa luua – kui loomine ebaõnnestub, jäävad logikirje ja teade seadme juurde ikkagi alles.
Salvestame ainult muutunud väärtused
Andmepunkt, mille väärtust küsitakse iga viie minuti järel, annab aastas 105 000 väärtust. Saja andmepunkti korral on see üle kümne miljoni rea – väärtuste jaoks, mis enamasti ei ole üldse muutunud.
Seetõttu salvestatakse ainult väärtused, mis erinevad viimasest salvestatud väärtusest rohkem kui määratud lävendi võrra. Iga andmepunkti puhul saab valida absoluutse erinevuse (näiteks 0,5 °C), protsentuaalse kõrvalekalde või salvestamise iga muutuse korral. Hetkeväärtus ja viimase päringu aeg on andmepunkti juures sellest hoolimata alati olemas; hõredamaks muutub ainult ajalugu.
Seadistatav on ka see, kuhu väärtused salvestatakse: Odoo andmebaasi, MongoDB-sse või CSV-failidena Odoo failihoidlasse. Nii hoiame mõõteväärtused ERP-andmebaasist väljas — sama põhimõtet järgime ka asukohajälgimise positsiooniandmete puhul. Ajalugu saab kõigil juhtudel kuvada diagrammina; tunnipõhisel koondamisel näidatakse keskmist, mitte summat.
Täituvus baitide asemel protsentides
Mõnda suurust ei saa seadmest otse kätte. Kettajaotise täituvus tuleb arvutada kasutatud ruumi ja kogumahu põhjal; temperatuuriandurid väljastavad sageli skaleeritud täisarve — näiteks 235 tähendab 23,5 kraadi.
Seetõttu saab andmepunkt kasutada väärtust muutmata kujul, korrutada selle teguriga või arvutada selle protsendina teise OID väärtusest. Piirväärtuste puhul on see määrav: 90% piir kehtib igas suuruses ketta puhul. Gigabaitides antud piiri tuleks iga ketta jaoks eraldi ajakohastada.
Keegi ei pea OID-sid peast teadma
Windowsi ja Linuxi serverites on HOST-RESOURCES-MIB standarditud: ketaste ja muutmälu andmed asuvad teadaolevas kohas. Seadmetuvastus loeb tabeli, arvutab täituvuse protsentidesse ning loob ühe klõpsuga andmepunktid koos häirepiiridega.
Kõige muu jaoks on olemas SNMP-brauser, mis läbib OID-puu ja kuvab iga leitud OID koos selle hetkeväärtusega ning kataloogis tuntud OID-de puhul ka imporditud tootja MIB-ist pärineva nime, kirjelduse ja ühikuga. Piisab märkeruudu märkimisest.
Mida meie kliendid sellest võidavad
Seadmed ja andmepunktid on seotud klientidega. Kliendiportaalis jaotises Minu SNMP-väärtused näete oma seadmete hetkeväärtusi ning viimase 24 tunni, 7 päeva, 30 päeva või 12 kuu ajalugu diagrammina — samu väärtusi, mida näeme meiegi. Nähtavad on üksnes teie ettevõttega seotud andmed.
Kui piirväärtus ületatakse, ei pea te midagi tegema: tugipilet koos seadme, väärtuse ja kellaajaga on juba meieni jõudnud, enne kui te probleemi märkate.
Mida see moodul teadlikult ei ole
See ei asenda terviklikku seirelahendust koos käideldavuskontrollide, eskalatsiooniahelate ja sõltuvuspuudega. Moodul ei võta vastu SNMP-trap-teateid, vaid pärib andmeid aktiivselt. Samuti ei sulge see tugipileteid automaatselt — teade olukorra normaliseerumisest on sõnum, mitte olekumuutus.
Eesmärk on üks kindel teekond: mõõteväärtusest piirväärtuse ületamise kaudu tehnikuni, kes probleemiga tegeleb. Nüüd on see teekond nii lühike kui võimalik.
Kui soovite lisada sellesse seiresse oma serverid, võrguseadmed või andurid, võtke meiega ühendust.