Előző 14.1 Mérő szerver típusok specifikumai Következő

14.1.29 MQTT mérő szerverek

Az MQTT mérő szerver aktív de nem discovery-re képes PVSR modul, amely irreguláris (nem periódikus ciklusú) méréseket végez: feliratkozik a megadott MQTT szerveren a megadott topic-ra és amint az üzenet csatornán érkezik megfelelő üzenet, úgy azt feldolgozza és alapból a beérkezés időpontjával értelmezi mérésként (ez felülírható természetesen a SET_TIME mérés képlet paraméterrel). Az eszközöknek az alap attribútumaikon kívül az alábbi paramétereik vannak (zárójelben megadva az adott paraméter név kódját, lásd 7.5.6 Nem SNMP adatgyűjtők paraméterei):

·       IP cím (MQTT EQ 1 IP): kötelező paraméter, az MQTT broker címe

·       Topic (MQTT EQ 2 TOPIC): kötelező paraméter, az MQTT broker-en erre az ún. topic-ra iratkozik fel az adatgyűjtő. A topic nevében használató a # és a + jel is, az előbbi tetszőleges számú, míg az utóbbi egy "szintet" jelent a topic hierarchiában. Az itt megadott topic érték végén található # és + értékek "tényleges" sor nevéből származó értéke meg kell, hogy egyezzen a mérés Index paraméterének első pont (.) előtti értékével, ha az tartalmaz pontot, vagy a teljes Index paraméterrel, ha az nem tartalmaz pontot. Példák:

o   ha az itteni paraméter értéke a/b/+/+ és a tényleges üzenet az a/b/c/d sorba érkezik, akkor a mérés Index paraméterének c/d-nek kell lennie

o   ha az itteni paraméter értéke a/b/# és a tényleges üzenet az a/b/c/d sorba érkezik, akkor a mérés Index paraméterének c/d-nek kell lennie

o   ha az itteni paraméter értéke a/b/c/d és a tényleges üzenet az a/b/c/d sorba érkezik, akkor a mérés Index paramétere ebből a szempontból nem számít

·       Opcionális felhasználó név és jelszó az MQTT brokerhez történő csatlakozáshoz

o   Message Broker felhasználó (MQTT EQ 3 USER)

o   Message Broker jelszó (MQTT EQ 4 PASSWORD)

 

A rendszer több minta mérés típust és egy eszköz template-et is tartalmaz Mosquitto MQTT szerverrel kapcsolatos adatok gyűjtéséhez.

 

A mérés képletben a változók kétfélék lehetnek. Az egyik esetben sima szövegként értelmezi a rendszer, azaz ilyenkor a mérésbeli változó értéke egy az egyben az lesz, ami a csatornán érkezett. Ehhez a mérés változó értékének a „simple” szöveget kell megadni. A másik esetben a csatornán kapott értékeket JSON-ként értelmezi a rendszer és a REST adatgyűjtőnél leírt módon dolgozza azt fel (14.1.28 REST mérő szerverek), ehhez a változó értékének a „json_” szöveggel kell kezdődnie. Három különbség van a feldolgozásban:

·       Mivel a mérő szerver nem támogatja a felderítést, ezért csak a PVSR_RETURN paraméter típus használható

·       Bár használhatók szűrésre a PVSR_PORT1, PVSR_PORT2, … paraméterek a REST-nél leírtaknak megfelelően (pl [${PVSR_PORT2}=value]), de fontos kihangsúlyozni, hogy a mérés Index paraméterének első pont (.) előtti részét a mérő szerver csatorna névként értelmezi (lásd a Topic paraméter leírását), így inkább csak a PVSR_PORT2, PVSR_PORT3, … használható ilyen célokra

·       Ha csak egy kimeneti értéket szeretnénk előállítani a változóban, akkor a PVSR_RETURN= rész kihagyható

 

JSON minta példák:

·       Első példa

o   A topic értéke legyen a/b/#

o   A REST adatgyűjtőnél szereplő JSON minta érkezzen az a/b/c/d sorba

o   A mérés Index paramétere legyen „c/d.124”

o   A mérés képletben szereplő változó legyen ez:

json_PVSR_RETURN1=Level1/Array1/[ArrayKey2=${PVSR_PORT2}]/ArrayKey4

o   Ebben az esetben a mérés változó értéke „789” lesz

·       Második példa:

o   A topic értéke legyen a/b/c/d

o   A REST adatgyűjtőnél szereplő JSON minta érkezzen az a/b/c/d sorba

o   A mérés Index paramétere legyen „.124”

o   A mérés képletben szereplő változó legyen ez:

json_PVSR_RETURN1=Level1/Array1/[ArrayKey2=${PVSR_PORT2}]/ArrayKey4

o   Ebben az esetben a mérés változó értéke „789” lesz

·       Harmadik példa

o   A topic értéke legyen a/b/#

o   A REST adatgyűjtőnél szereplő JSON minta érkezzen az a/b/c/d sorba

o   A mérés Index paramétere legyen „c/d.124”

o   A mérés képletben szereplő változó legyen ez:

json_Level1/Array1/[ArrayKey2=${PVSR_PORT2}]/ArrayKey4

o   Ebben az esetben a mérés változó értéke „789” lesz

·       Negyedik példa

o   A topic értéke legyen a/b/#

o   A REST adatgyűjtőnél szereplő JSON minta érkezzen az a/b/c/d sorba

o   A mérés Index paramétere legyen „c/d.124”

o   A mérés képletben szereplő változó legyen ez (egy sorban):

json_PVSR_RETURN1=Level1/Array1/[ArrayKey2=${PVSR_PORT2}]/ArrayKey4,

PVSR_RETURN2=Level1/Array1/[ArrayKey2=${PVSR_PORT2}]/ArrayKey1

o   Ebben az esetben a mérés változó értéke „789 Other value” lesz

 

14.1.29.1 JSON mérés képlet tesztelés

Az adatgyűjtő specifikus oldal célja az, hogy JSON típusú mérésekhez megkönnyítse a megfelelő mérés képletek előállítását. A JSON feldolgozást tartalmazó mérés kiválasztása után meg lehet adni egy minta teszt JSON-t és a rendszer azt feltételezve kiszámolja és megmutatja az egyes változók értékét. Az alábbi képernyőképen a negyedik példában szereplő eset tesztelését láthatjuk: