Grafana+Zabbix: A gyártósor működésének megjelenítése

Ebben a cikkben szeretném megosztani tapasztalataimat a nyílt forráskódú Zabbix és Grafana rendszerekkel a gyártósorok működésének megjelenítésére. Az információ hasznos lehet azok számára, akik gyors módot keresnek az ipari automatizálási vagy IoT-projektekben összegyűjtött adatok vizuális megjelenítésére vagy elemzésére. A cikk nem egy részletes oktatóanyag, inkább egy gyártóüzem nyílt forráskódú szoftverén alapuló megfigyelőrendszer koncepciója.

szerszámok

Zabbix – már régóta használjuk az üzem informatikai infrastruktúrájának figyelésére. A rendszer annyira kényelmesnek és univerzálisnak bizonyult, hogy elkezdtük bevinni a gyártósorok, érzékelők és vezérlők adatait. Ez lehetővé tette, hogy az összes metrika adatot egy helyen gyűjtsük össze, egyszerű grafikonokat készítsünk az erőforrás-felhasználásról és a berendezések teljesítményéről, de nagyon hiányzott az elemzés és a gyönyörű grafikonok.

grafana egy hatékony eszköz az elemzéshez és az adatok megjelenítéséhez. A nagyszámú bővítmény lehetővé teszi, hogy adatokat vegyen különféle forrásokból (zabbix, clickhouse, influxDB), menet közben feldolgozza azokat (átlagérték, összeg, különbség stb. kiszámítása), valamint mindenféle grafikon rajzolása (egyszerű vonalakból, sebességmérők, táblázatok összetett diagramokhoz).

Draw.io – egy szolgáltatás, amely lehetővé teszi, hogy egy egyszerű blokkdiagramból az alaprajzig rajzoljon egy online szerkesztőben. Számos kész sablon és rajzolt objektum létezik. Az adatok az összes főbb grafikus formátumba vagy xml-be exportálhatók.

Mindezt együtt

Sok cikk íródott a Grafana és a Zabbix telepítéséről és konfigurálásáról, elmondom a fő konfigurációs pontokat.

A Zabbix szerveren létrejön egy „hálózati csomópont” (host), amely „adatelemeket” (elemeket) birtokol az érzékelőinktől származó metrikákkal. A csomópontok és adatelemek neveit célszerű előre átgondolni és minél strukturáltabbá tenni, hiszen a grafanából reguláris kifejezéseken keresztül fogjuk elérni őket. Ez a megközelítés kényelmes, mert egyetlen kéréssel adatokat nyerhet egy elemcsoportból.

A grafana konfigurálásához további bővítményeket kell telepítenie:

  • Zabbix, Alexander Zobnin (alexanderzobnin-zabbix-app) – integráció a zabbix-szal
  • natel-discrete-panel – beépülő modul vízszintes grafikonon történő diszkrét megjelenítéshez
  • pierosavi-imageit-panel – plugin adatok megjelenítéséhez a kép tetején
  • agenty-flowcharting-panel – plugin a draw.io diagramjának dinamikus megjelenítéséhez

Maga a Zabbix-szal való integráció a grafana KonfigurációAdatforrásokZabbix menüpontjában van konfigurálva. Ott meg kell adni az api zabbix szerver címét, nekem ez van http://zabbix.local/zabbix/api_jsonrpc.php, és a hozzáféréshez jelentkezzen be jelszóval. Ha mindent jól csinált, akkor a beállítások mentésekor megjelenik egy üzenet az api verziószámmal: zabbix API verzió: 5.0.1

Irányítópult létrehozása

Itt kezdődik a Grafana és bővítményeinek varázsa.

Natel-diszkrét panel plugin
Adataink vannak a vonalakon lévő motorok állapotáról (működő = 1, nem működik =0). A diszkrét grafikon segítségével megrajzolhatunk egy skálát, amely megmutatja: a motor állapotát, hány percet/órát vagy %-ot dolgozott és milyen gyakran indult be.

Grafana+Zabbix: A gyártósor működésének megjelenítése
A motorállapotok megjelenítése

Véleményem szerint ez az egyik legjobb grafikon a hardver teljesítményének megjelenítéséhez. Azonnal láthatja, hogy mennyi ideig volt tétlen, és milyen üzemmódokban működik gyakrabban. Nagyon sok adat lehet, lehetséges tartományok szerint összesíteni, értékek szerint átalakítani (ha az érték „1”, akkor „BE”-ként jelenítheti meg)

Pierosavi-imageit-panel beépülő modul

Az Imageit akkor kényelmesen használható, ha már van egy rajzolt diagramja vagy alaprajza, amelyre az érzékelők adatait szeretné alkalmazni. A vizualizációs beállításoknál meg kell adnia a kép URL-jét, és hozzá kell adnia a szükséges szenzorelemeket. Az elem megjelenik a képen, és az egérrel a kívánt helyre helyezhető.

Grafana+Zabbix: A gyártósor működésének megjelenítése
A kemence diagramja hőmérséklet- és nyomásmérőkkel

Agenty-flowcharting-panel beépülő modul

A FlowCharting vizualizáció létrehozásáról szeretnék részletesebben beszélni, mivel ez egy hihetetlenül funkcionális eszköz. Lehetővé teszi egy dinamikus mnemonikus diagram készítését, amelynek elemei reagálnak a metrikák értékeire (szín, pozíció, név stb. megváltoztatása).

Adatok fogadása

A Grafana bármely vizualizációs elemének létrehozása a forrás adatkérésével kezdődik, esetünkben ez a zabbix. Lekérdezések segítségével meg kell szereznünk az összes metrikát, amelyet használni szeretnénk a diagramban. A metrika részletei a Zabbix adatelemeinek nevei; megadhat egyedi metrikát vagy reguláris kifejezésen keresztül szűrt halmazt. Példámban az Elem mező a következő kifejezést tartalmazza: „/(^1. sor)|(rendelkezésre állás)|(cukkini)/” – ez azt jelenti: válassza ki az összes olyan mérőszámot, amelynek neve szigorúan „1. sor”-val kezdődik, vagy az „elérhetőség” szót tartalmazza. ” vagy a „cukkini” szót tartalmazza

Grafana+Zabbix: A gyártósor működésének megjelenítése
Példa adatkérés beállítására az első vonalbeli motorokra és a nyersanyagok elérhetőségére vonatkozóan

Adatkonverzió

Előfordulhat, hogy a forrásadatok nem mindig abban a formában vannak, ahogyan meg kell jelenítenünk. Például percről percre van adatunk egy edényben lévő termék tömegéről (kg), és a töltési sebességet t/óra-ban kell megjelenítenünk. Ezt a következőképpen teszem: veszem a súlyadatokat, és transzformálom a grafana delta függvénnyel, amely a metrikus értékek közötti különbséget számolja ki, így az aktuális tömeg kg/perc-re változik. Ezután megszorzom 0.06-tal, hogy megkapjam az eredményt tonnában/órában. Mivel a súlymérőt több lekérdezésben is használják, új álnevet adok neki (setAlias), és ezt fogom használni a megjelenítési szabályban.

Grafana+Zabbix: A gyártósor működésének megjelenítése
Példa a delta és szorzó paraméter használatára és a metrika átnevezésére egy lekérdezésben

Íme egy másik példa az adatkonverzióra: meg kellett számolnom a tételek számát (ciklus kezdete = motorindítás). A mérőszám kiszámítása a motor állapota alapján történik: "1. sor - szivattyú szivattyú az 1. tartályból (állapot)". Átalakítás: az eredeti metrika adatait a delta függvénnyel változtatjuk (értékkülönbség), így a mérőszám értéke „+1” lesz a motor indítására, „-1” a leállításra és „0” amikor a motor megteszi. nem változtat az állapotán. Ezután eltávolítok minden 1-nél kisebb értéket, és összegzem őket. Az eredmény a motorindítások száma.

Grafana+Zabbix: A gyártósor működésének megjelenítése
Példa az adatok konvertálására az aktuális állapotról az indítások számára

Most magáról a vizualizációról

A megjelenítési beállításoknál található a „Rajz szerkesztése” gomb, amely elindít egy szerkesztőt, amelyben diagramot rajzolhat. A diagram minden objektumának saját paraméterei vannak. Például, ha megadja a betűtípus-beállításokat a szerkesztőben, a rendszer ezeket alkalmazza a Grafana adatvizualizálására.

Grafana+Zabbix: A gyártósor működésének megjelenítése
Így néz ki a szerkesztő a Draw.io-ban

A diagram mentése után megjelenik a grafanában, és szabályokat hozhat létre az elemek megváltoztatásához.

A paraméterekben () megadjuk:

  • Opciók – állítsa be a szabály nevét, annak a metrikának a nevét vagy álnevét, amelynek adatait használni fogja (Alkalmazás a metrikákra). Az adatösszesítés típusa (Aggregation) befolyásolja a mérőszám végeredményét, így az Utolsó azt jelenti, hogy az utolsó érték kerül kiválasztásra, az avg a jobb felső sarokban kiválasztott időszak átlagértéke.
  • Küszöbértékek - a küszöbértékek paramétere leírja a színalkalmazás logikáját, vagyis a kiválasztott szín a diagram elemeire vonatkozik a metrikus adatoktól függően. Példámban, ha a metrika értéke „0”, az állapot „Ok”, a szín zöld lesz, ha az érték „>1”, az állapot kritikus, a szín pedig piros.
  • Szín/eszköztipp-leképezések” és „Címke/szövegleképezések” – egy sémaelem és egy forgatókönyv kiválasztása a viselkedéséhez. Az első forgatókönyvben az objektum átfestésre kerül, a másodikban szöveg lesz rajta a metrika adataival. A diagramon egy objektum kiválasztásához kattintson az áramkör jelére, majd kattintson a diagramra.

Grafana+Zabbix: A gyártósor működésének megjelenítése
Ebben a példában a szivattyút és a nyilat pirosra festem, ha működik, és zöldre, ha nem.

A folyamatábra beépülő modul segítségével meg tudtam rajzolni egy diagramot a teljes vonalról, amelyen:

  1. az egységek színe állapotuknak megfelelően változik
  2. van egy riasztás, ha nincs termék a tartályokban
  3. Megjelenik a motor frekvencia beállítása
  4. első tanktöltési/leürítési sebesség
  5. a sorműködési ciklusok számát (kötegelt) számítjuk ki

Grafana+Zabbix: A gyártósor működésének megjelenítése
A gyártósor működésének vizualizálása

Eredmény

A legnehezebb dolog számomra az volt, hogy adatokat kapjak meg a vezérlőktől. A Zabbix adatfogadási sokoldalúságának és a Grafana beépülő moduloknak köszönhető rugalmasságának köszönhetően mindössze néhány napba telt egy átfogó gyártósor-felügyeleti képernyő létrehozása. A vizualizáció lehetővé tette a grafikonok és állapotstatisztikák megtekintését, valamint könnyű hozzáférést az interneten keresztül minden érdeklődő számára – mindez lehetővé tette a szűk keresztmetszetek és a mértékegységek nem hatékony felhasználásának gyors azonosítását.

Következtetés

Nagyon megtetszett a Zabbix+Grafana kombináció, és javaslom, hogy figyeljen rá, ha gyorsan kell feldolgoznia a vezérlőkből vagy érzékelőkből származó adatokat anélkül, hogy programozna vagy komplex kereskedelmi termékeket implementálna. Ez természetesen nem fogja felváltani a professzionális SCADA rendszereket, de a teljes gyártás központosított felügyeletének eszközeként elegendő lesz.

Forrás: will.com

Hozzászólás