Téma: Problémy SNMP / Mikrotik Dude / SDS-MACRO
Dobrý večer všem.
Rád bych se zeptal, zda někdo z vás využívá odečítání hodnot z SDS-MACRO pomocí SNMP a pozoruje problémy s invalidními hodnotami, které MACRO poskytuje.
V mojí aplikaci čtu hodnoty odběru a spotřeby ze 3 S0 elektroměrů, 3 teploty z kanálu A, 1 teplotu z kanálu B, 1x vlhkoměr na A/D a 1x napětí zdroje na A/D. Nezřídka, respektive velice často, MACRO odpovídá nesmyslné hodnoty, případně nuly nebo neodpoví na dotaz vůbec. Peprné jsou zvlášť výstupy z teploměrů, které klidně nabídnou hodnoty v tisících stupních. Kdo to má pak uchladit, že. Teploměry mají v rámci Dude ošetřeny hodnoty nad 125 st.C, které se považují za "False". Funkce pro skládání hodnot teploměrů vypadají takto:
if(oid_raw("1.3.6.1.4.1.33283.1.5.6.1.2.1", 5, 5, "192.168.1.250", "SDS-MACRO") > 125, "False", oid_raw("1.3.6.1.4.1.33283.1.5.6.1.2.1", 5, 5, "192.168.1.250", "SDS-MACRO") + (oid_raw("1.3.6.1.4.1.33283.1.5.6.1.3.1", 5, 5, "192.168.1.250", "SDS-MACRO")/100))
Situaci dobře ilustrují obrázky:
http://www.inet-box.cz/sds-grafy-60m.png - rozlišení 60 minut
http://www.inet-box.cz/sds-grafy-120m.png - rozlišení 120 minut
http://www.inet-box.cz/sds-grafy-2d.png - rozlišení 48 hodin
Odečítané OID:
3x teplota A - 1.3.6.1.4.1.33283.1.5.6.1.2.1 ... 2.3 + příslušné desetinné části - interval 30 sec
1x teplota B - 1.3.6.1.4.1.33283.1.5.6.1.2.17 + příslušná desetinná část - interval 30 sec
3x spotřeba S0 - 1.3.6.1.4.1.33283.1.5.9.1.5.1 ... 5.3 - interval 10 min
3x odběr S0 - 1.3.6.1.4.1.33283.1.5.9.1.7.1 ... 7.3 - interval 30 sec
1x AD napětí zdroje - 1.3.6.1.4.1.33283.1.5.5.5.0 - interval 1 min
1x AD vlhkoměr - 1.3.6.1.4.1.33283.1.5.5.6.0 - interval 5 min
Poměrně pochopitelně se situace zhoršuje, pokud se intervaly odečítání zkracují a/nebo se čte více hodnot.
Nemyslím si, že bych toho po MACRU chtěl nějak moc, přesto jsou výsledky poměrně značně problematické.
Na závěr ještě "moje krabice" http://www.inet-box.cz/rozvadec.png
a výstup z portálu http://www.inet-box.cz/mereni.html.
Díky předem za pomoc.
Michal