Grafana+Zabbix: Vizualizace výrobní linky

V tomto článku se chci podělit o své zkušenosti s používáním open source systémů Zabbix a Grafana pro vizualizaci práce výrobních linek. Informace mohou být užitečné pro ty, kteří hledají rychlý způsob, jak vizuálně zobrazit nebo analyzovat shromážděná data v projektech průmyslové automatizace nebo IoT. Článek není podrobným průvodcem, ale spíše konceptem monitorovacího systému založeného na open source softwaru pro výrobní podnik.

Sada nástrojů

Zabbix – dlouhodobě jej využíváme k monitorování IT infrastruktury závodu. Systém se ukázal být natolik pohodlný a všestranný, že jsme do něj začali zadávat data z výrobních linek, senzorů a ovladačů. To nám umožnilo shromáždit všechna data metrik na jednom místě, vytvořit jednoduché grafy spotřeby zdrojů a výkonu zařízení, ale opravdu nám chyběla analytika a krásné grafy.

grafana je výkonný nástroj pro analýzu a vizualizaci dat. Velké množství pluginů umožňuje přebírat data z různých zdrojů (zabbix, clickhouse, influxDB), zpracovávat je za chodu (počítat průměr, součet, rozdíl atd.) a kreslit všemožné grafy (od jednoduchých čar, rychloměrů , tabulky až po komplexní diagramy ).

Draw.io - služba, která umožňuje kreslit v online editoru od jednoduchého blokového schématu až po půdorys. Existuje mnoho hotových šablon a nakreslených objektů. Data lze exportovat do všech hlavních grafických formátů nebo xml.

Dáte dohromady vše

O tom, jak nainstalovat a nakonfigurovat Grafana a Zabbix, bylo napsáno mnoho článků, budu mluvit o hlavních bodech konfigurace.

Na serveru Zabbix je vytvořen „síťový uzel“ (hostitel), který bude vlastnit „datové prvky“ (položku) s metrikami z našich senzorů. Názvy uzlů a datových prvků je vhodné si předem promyslet a udělat je co nejstrukturovanější, protože k nim budeme přistupovat z grafany přes regulární výrazy. Tento přístup je pohodlný, protože můžete získat data ze skupiny prvků pomocí jediného požadavku.

Chcete-li nakonfigurovat grafana, budete muset nainstalovat další pluginy:

  • Zabbix od Alexandra Zobnina (aplikace alexanderzobnin-zabbix-) - integrace se zabbixem
  • natel-discrete-panel - plugin pro diskrétní vizualizaci na vodorovném grafu
  • pierosavi-imageit-panel - plugin pro zobrazení dat nad obrázkem
  • agenty-flowcharting-panel - plugin pro dynamickou vizualizaci diagramů z draw.io

Samotná integrace se Zabbixem se konfiguruje v grafaně, položka nabídky Konfigurace Zdroje datZabbix. Tam musíte zadat adresu API serveru zabbix, mám to http://zabbix.local/zabbix/api_jsonrpc.phpa přihlašovací jméno s heslem pro přístup. Pokud je vše provedeno správně, při ukládání nastavení se zobrazí zpráva s číslem verze rozhraní API: zabbix Verze API: 5.0.1

Vytvoření řídicího panelu

Zde začíná kouzlo grafana a jeho pluginů.

plugin natel-discrete-panel
Máme údaje o stavech motorů na linkách (pracovní = 1, nepracující =0). Pomocí diskrétního grafu můžeme nakreslit stupnici, která ukáže: stav motoru, kolik minut/hodin nebo % pracoval a jak často byl spouštěn.

Grafana+Zabbix: Vizualizace výrobní linky
Vizualizace stavu motoru

Podle mého názoru je to jeden z nejlepších grafů pro vizualizaci výkonu hardwaru. Okamžitě vidíte, jak dlouho je nečinný, v jakých režimech pracuje častěji. Dat může být hodně, je možné je agregovat podle rozsahů, převádět podle hodnot (pokud je hodnota „1“, pak zobrazit jako „ZAPNUTO“)

plugin pierosavi-imageit-panel

Imageit je vhodné použít, když již máte nakreslený diagram nebo plán místnosti, na kterou chcete aplikovat data ze senzorů. V nastavení vizualizace je potřeba zadat url adresu obrázku a přidat potřebné senzorové prvky. Prvek se objeví na obrázku a lze jej myší umístit na správné místo.

Grafana+Zabbix: Vizualizace výrobní linky
Schéma pece s měřením teploty a tlaku

plugin agenty-flowcharting-panel

Rád bych vám řekl více o vytváření vizualizace FlowCharting, protože je to neuvěřitelně funkční nástroj. Umožňuje vám vytvořit dynamickou mnemotechnickou pomůcku, jejíž prvky budou reagovat na hodnoty metrik (změnit barvu, pozici, jméno atd.).

Získávání dat

Tvorba libovolného vizualizačního prvku v grafaně začíná žádostí o data ze zdroje, v našem případě je to zabbix. Pomocí dotazů musíme získat všechny metriky, které chceme v diagramu použít. Podrobnosti o metrikách jsou názvy datových prvků v Zabbixu, můžete zadat jak samostatnou metriku, tak sadu s filtrováním přes regulární výraz. V mém příkladu pole Položka obsahuje výraz: „/(^řádek 1)|(dostupnost)|(cuketa)/“ – to znamená: vybrat všechny metriky, jejichž název striktně začíná „řádkem 1“ nebo obsahuje slovo „dostupnost “ nebo obsahuje slovo „cuketa“

Grafana+Zabbix: Vizualizace výrobní linky
Příklad nastavení požadavku na údaje o motorech první linky a dostupnosti surovin

Konverze dat

Zdrojová data nemusí být vždy ve formě, ve které je potřebujeme zobrazit. Máme například minutové údaje o hmotnosti produktu v kontejneru (kg) a chceme zobrazit rychlost plnění v t/h. Dělám to takto: vezmu údaje o váze a převedu je pomocí funkce delta graphana, která vypočítá rozdíl mezi metrickými hodnotami, takže aktuální hmotnost se převede na kg/min. Poté vynásobím 0.06, aby se výsledek dostal na tuny/hod. Protože se metrika váhy používá ve více dotazech, dám jí nový alias (setAlias) a použiji ji v pravidle vykreslování.

Grafana+Zabbix: Vizualizace výrobní linky
Příklad použití parametru delta a multiplikátoru a přejmenování metriky v dotazu

Zde je další příklad transformace dat: Potřeboval jsem vypočítat počet dávek (start cyklu = start motoru). Metrika se vypočítá na základě stavu motoru "řádek 1 - čerpadlo nádrže 1 (stav)". Transformace: změníme data původní metriky pomocí funkce delta (rozdíl hodnot), takže metrika bude mít hodnotu „+1“ pro nastartování motoru, „-1“ pro zastavení a „0“, když motor neběží. změnit jeho stav. Poté odstraním všechny hodnoty menší než 1 a sečtu je. Výsledkem je počet startů motoru.

Grafana+Zabbix: Vizualizace výrobní linky
Příklad převodu dat z aktuálního stavu na počet startů

Nyní k samotné vizualizaci

V nastavení zobrazení je tlačítko "Edit Draw", spustí editor, ve kterém můžete kreslit diagram. Každý objekt na diagramu má své vlastní parametry. Pokud například v editoru zadáte nastavení písma, použije se na vizualizaci dat v grafaně.

Grafana+Zabbix: Vizualizace výrobní linky
Takto vypadá editor v Draw.io

Po uložení se schéma objeví v grafaně a bude možné vytvořit pravidla pro změnu prvků.

V parametrech () specifikujeme:

  • Možnosti - nastavte název pravidla (Název pravidla), název nebo alias metriky, jejíž data budou použita (Použít na metriky). Typ agregace dat (Aggregation) ovlivňuje konečný výsledek metriky, takže Last znamená, že bude vybrána poslední hodnota, avg znamená průměrnou hodnotu za období vybrané v pravém horním rohu.
  • Prahové hodnoty - parametr prahové hodnoty, popisuje logiku aplikace barev, to znamená, že vybraná barva bude aplikována na prvky v diagramu v závislosti na metrických datech. V mém příkladu, pokud je hodnota metriky „0“, stav bude „Ok“, barva bude zelená, pokud je hodnota „>1“, stav bude Kritický a barva bude červená.
  • Color/Tooltip Mappings“ a „Label/Text Mappings“ — výběr prvku obvodu a scénář jeho chování. V prvním scénáři bude objekt přemalován, ve druhém - bude mít text s daty z metriky. Chcete-li vybrat objekt na schématu, musíte stisknout značku obvodu a kliknout myší na schéma.

Grafana+Zabbix: Vizualizace výrobní linky
V tomto příkladu maluji čerpadlo a jeho šipku červenou, pokud funguje, a zelenou, pokud ne.

S pomocí pluginu pro vývojové diagramy se mi podařilo nakreslit schéma celé čáry, na které:

  1. barva agregátů se mění podle jejich stavu
  2. existuje alarm pro nedostatek produktu v nádobách
  3. zobrazí se nastavení frekvence motoru
  4. rychlost plnění/vypouštění první nádrže
  5. počítá se počet provozních cyklů linky (dávka).

Grafana+Zabbix: Vizualizace výrobní linky
Vizualizace výrobní linky

Výsledek

Nejtěžší pro mě bylo získat data z kontrolérů. Díky všestrannosti Zabbix z hlediska získávání dat a flexibilitě Grafany prostřednictvím pluginů trvalo vytvoření komplexní obrazovky pro sledování výrobní linky jen pár dní. Vizualizace umožnila prohlížet grafy a statistiky stavu plus snadný přístup přes web všem zájemcům – to vše umožnilo rychle identifikovat úzká místa a neefektivní využití agregátů.

Závěr

Balíček Zabbix + Grafana se mi velmi líbil a doporučuji mu věnovat pozornost, pokud potřebujete rychle zpracovat data z regulátorů nebo senzorů bez programování nebo implementace složitých komerčních produktů. Samozřejmě to nenahradí profesionální SCADA systémy, ale jako nástroj pro centralizované sledování celé výroby to postačí.

Zdroj: www.habr.com

Přidat komentář