Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky

V tomto článku sa chcem podeliť o svoje skúsenosti s používaním open source systémov Zabbix a Grafana na vizualizáciu prevádzky výrobných liniek. Tieto informácie môžu byť užitočné pre tých, ktorí hľadajú rýchly spôsob, ako vizuálne zobraziť alebo analyzovať zozbierané údaje v projektoch priemyselnej automatizácie alebo internetu vecí. Článok nie je podrobným tutoriálom, ale skôr konceptom monitorovacieho systému založeného na open source softvéri pre výrobný závod.

náradie

Zabbix – dlhodobo ho používame na monitorovanie IT infraštruktúry závodu. Systém sa ukázal byť natoľko pohodlný a univerzálny, že sme do neho začali zadávať dáta z výrobných liniek, snímačov a ovládačov. To nám umožnilo zhromaždiť všetky údaje o metrikách na jednom mieste, vytvoriť jednoduché grafy spotreby zdrojov a výkonu zariadení, ale skutočne nám chýbala analytika a krásne grafy.

grafana je výkonný nástroj na analýzu a vizualizáciu dát. Veľké množstvo pluginov umožňuje preberať dáta z rôznych zdrojov (zabbix, clickhouse, influxDB), spracovávať ich za chodu (vypočítať priemernú hodnotu, súčet, rozdiel atď.) a kresliť najrôznejšie grafy (z jednoduchých čiar, rýchlomery, tabuľky až po zložité schémy).

Draw.io – služba, ktorá umožňuje kresliť z jednoduchej blokovej schémy do pôdorysu v online editore. Existuje veľa hotových šablón a nakreslených objektov. Dáta je možné exportovať do všetkých hlavných grafických formátov alebo xml.

Všetko to spolu

Existuje veľa článkov o tom, ako nainštalovať a nakonfigurovať Grafana a Zabbix, poviem vám o hlavných konfiguračných bodoch.

Na serveri Zabbix sa vytvorí „sieťový uzol“ (hostiteľ), ktorý bude vlastniť „údajové prvky“ (položky) s metrikami z našich senzorov. Názvy uzlov a dátových prvkov je vhodné si vopred premyslieť a čo najštruktúrovanejšie, keďže k nim budeme pristupovať z grafana cez regulárne výrazy. Tento prístup je pohodlný, pretože môžete získať údaje zo skupiny prvkov pomocou jednej požiadavky.

Ak chcete nakonfigurovať grafana, budete musieť nainštalovať ďalšie doplnky:

  • Zabbix od Alexandra Zobnina (aplikácia alexanderzobnin-zabbix-) – integrácia so zabbixom
  • natel-discrete-panel – plugin pre diskrétnu vizualizáciu na horizontálnom grafe
  • pierosavi-imageit-panel – plugin na zobrazenie údajov nad obrázkom
  • agenty-flowcharting-panel – plugin pre dynamickú vizualizáciu diagramu z draw.io

Samotná integrácia so Zabbixom sa konfiguruje v grafane, položka menu Konfigurácia Zdroje údajovZabbix. Tam musíte zadať adresu servera api zabbix, to je to, čo mám http://zabbix.local/zabbix/api_jsonrpc.phpa prihláste sa heslom pre prístup. Ak je všetko vykonané správne, pri ukladaní nastavení sa zobrazí správa s číslom verzie API: zabbix Verzia API: 5.0.1

Vytvorenie Dashboardu

Tu začína kúzlo Grafany a jej pluginov.

Doplnok Natel-discrete-panel
Na linkách máme údaje o stave motorov (pracuje = 1, nepracuje =0). Pomocou diskrétneho grafu môžeme nakresliť mierku, ktorá ukáže: stav motora, koľko minút/hodín alebo % pracoval a ako často bol štartovaný.

Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky
Vizualizácia stavov motora

Podľa mňa je to jeden z najlepších grafov na vizualizáciu výkonu hardvéru. Okamžite vidíte, ako dlho bol nečinný a v akých režimoch pracuje častejšie. Dát môže byť veľa, je možné ich agregovať podľa rozsahov, transformovať podľa hodnôt (ak je hodnota „1“, potom ju zobraziť ako „ZAPNUTÉ“).

Plugin pierosavi-imageit-panel

Imageit je vhodné použiť, keď už máte nakreslenú schému alebo pôdorys, na ktorý chcete aplikovať dáta zo senzorov. V nastaveniach vizualizácie je potrebné zadať URL k obrázku a pridať potrebné senzorové prvky. Prvok sa objaví na obrázku a možno ho myšou umiestniť na požadované miesto.

Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky
Diagram pece s metrikami teploty a tlaku

Doplnok Agenty-flowcharting-panel

Chcel by som hovoriť podrobnejšie o vytváraní vizualizácie FlowCharting, pretože je to neuveriteľne funkčný nástroj. Umožňuje vám vytvoriť dynamický mnemotechnický diagram, ktorého prvky budú reagovať na hodnoty metrík (zmena farby, polohy, názvu atď.).

Prijímanie údajov

Tvorba akéhokoľvek vizualizačného prvku v Grafane začína požiadavkou na dáta zo zdroja, v našom prípade je to zabbix. Pomocou dotazov musíme získať všetky metriky, ktoré chceme v diagrame použiť. Podrobnosti metrík sú názvy dátových prvkov v Zabbixe; môžete zadať buď individuálnu metriku, alebo množinu filtrovanú cez regulárny výraz. V mojom príklade pole Položka obsahuje výraz: „/(^riadok 1)|(dostupnosť)|(cuketa)/“ – to znamená: vybrať všetky metriky, ktorých názov presne začína na „riadok 1“ alebo obsahuje slovo „dostupnosť“ “ alebo obsahuje slovo „cuketa“

Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky
Príklad nastavenia požiadavky na údaje o motoroch prvej línie a dostupnosti surovín

Konverzia údajov

Zdrojové údaje nemusia byť vždy vo forme, v akej ich potrebujeme zobraziť. Napríklad máme minútové údaje o hmotnosti produktu v nádobe (kg) a potrebujeme zobraziť rýchlosť plnenia v t/hod. Robím to nasledovným spôsobom: Vezmem údaje o hmotnosti a transformujem ich pomocou funkcie grafana delta, ktorá vypočíta rozdiel medzi metrickými hodnotami, takže aktuálna hmotnosť sa zmení na kg/min. Potom vynásobím 0.06, aby som dostal výsledok v tonách/hodinu. Keďže metrika váhy sa používa vo viacerých dopytoch, určím pre ňu nový alias (setAlias) a použijem ho vo vizualizačnom pravidle.

Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky
Príklad použitia parametra delta a multiplikátora a premenovania metriky v dotaze

Tu je ďalší príklad konverzie údajov: Potreboval som spočítať počet dávok (začiatok cyklu = štart motora). Metrika sa vypočíta na základe stavu motora "riadok 1 - čerpadlo čerpadla z nádrže 1 (stav)". Transformácia: zmeníme údaje pôvodnej metriky pomocou funkcie delta (rozdiel hodnôt), takže metrika bude mať hodnotu „+1“ pre naštartovanie motora, „-1“ pre zastavenie a „0“, keď sa motor spustí. nezmení svoj stav. Potom odstránim všetky hodnoty menšie ako 1 a spočítam ich. Výsledkom je počet štartov motora.

Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky
Príklad prevodu údajov z aktuálneho stavu na počet štartov

Teraz o samotnej vizualizácii

V nastaveniach zobrazenia je tlačidlo „Upraviť kreslenie“, ktoré spustí editor, v ktorom môžete kresliť diagram. Každý objekt na diagrame má svoje vlastné parametre. Ak napríklad zadáte nastavenia písma v editore, použijú sa na vizualizáciu údajov v Grafane.

Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky
Takto vyzerá editor v Draw.io

Po uložení diagramu sa zobrazí v grafane a môžete vytvárať pravidlá pre zmenu prvkov.

V parametroch () špecifikujeme:

  • Možnosti—nastavte názov pravidla, názov alebo alias metriky, ktorej údaje sa použijú (Použiť na metriky). Typ agregácie údajov (Aggregation) ovplyvňuje konečný výsledok metriky, takže Last znamená, že bude vybraná posledná hodnota, avg je priemerná hodnota za obdobie vybraté v pravom hornom rohu.
  • Prahové hodnoty - parameter prahových hodnôt popisuje logiku aplikácie farieb, to znamená, že vybraná farba sa použije na prvky v diagrame v závislosti od metrických údajov. V mojom príklade, ak je hodnota metriky „0“, stav je „Ok“, farba bude zelená, ak je hodnota „>1“, stav bude kritický a farba bude červená.
  • Color/Tooltip Mappings“ a „Label/Text Mappings“ – výber prvku schémy a scenára jeho správania. V prvom scenári bude objekt premaľovaný, v druhom na ňom bude text s údajmi z metriky. Ak chcete vybrať objekt na schéme, musíte kliknúť na značku obvodu a kliknúť na schému.

Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky
V tomto príklade namaľujem čerpadlo a jeho šípku červenou farbou, ak funguje, a zelenou farbou, ak nie.

Pomocou doplnku vývojových diagramov som bol schopný nakresliť schému celej čiary, na ktorej:

  1. farba jednotiek sa mení podľa ich stavu
  2. existuje alarm neprítomnosti produktu v nádobách
  3. zobrazí sa nastavenie frekvencie motora
  4. rýchlosť prvého plnenia/vykladania nádrže
  5. vypočíta sa počet cyklov prevádzky linky (dávka).

Grafana+Zabbix: Vizualizácia prevádzky výrobnej linky
Vizualizácia prevádzky výrobnej linky

Výsledok

Najťažšie pre mňa bolo získavanie údajov od kontrolórov. Vďaka všestrannosti Zabbixu z hľadiska prijímania údajov a flexibilite Grafany vďaka zásuvným modulom trvalo vytvorenie komplexnej obrazovky monitorovania výrobnej linky len pár dní. Vizualizácia umožnila prezeranie grafov a štatistík stavu plus jednoduchý prístup cez web všetkým záujemcom – to všetko umožnilo rýchlo identifikovať úzke miesta a neefektívne využitie jednotiek.

Záver

Kombinácia Zabbix+Grafana sa mi veľmi páčila a odporúčam jej venovať pozornosť, ak potrebujete rýchlo spracovať dáta z ovládačov alebo snímačov bez programovania alebo implementácie zložitých komerčných produktov. Samozrejme to nenahradí profesionálne SCADA systémy, ale ako nástroj na centralizované sledovanie celej výroby postačí.

Zdroj: hab.com

Pridať komentár