Grafana+Zabbix: gamybos linijos veikimo vizualizacija

Šiame straipsnyje noriu pasidalinti savo patirtimi naudojant atvirojo kodo sistemas Zabbix ir Grafana, kad būtų galima vizualizuoti gamybos linijų veikimą. Informacija gali būti naudinga tiems, kurie ieško greito būdo vizualiai parodyti arba analizuoti surinktus duomenis pramoninės automatikos ar daiktų interneto projektuose. Straipsnis nėra išsami pamoka, o veikiau gamybos įmonės atvirojo kodo programine įranga pagrįstos stebėjimo sistemos koncepcija.

Įrankių rinkinys

Zabbix – jau seniai naudojame gamyklos IT infrastruktūros stebėjimui. Sistema pasirodė tokia patogi ir universali, kad pradėjome į ją įvesti duomenis iš gamybos linijų, jutiklių ir valdiklių. Tai leido mums surinkti visus metrikos duomenis vienoje vietoje, sudaryti paprastus resursų suvartojimo ir įrangos veikimo grafikus, tačiau mums tikrai trūko analizės ir gražių grafikų.

grafana yra galingas analizės ir duomenų vizualizavimo įrankis. Daugybė papildinių leidžia paimti duomenis iš įvairių šaltinių (zabbix, clickhouse, influxDB), apdoroti juos skrydžio metu (apskaičiuoti vidutinę vertę, sumą, skirtumą ir kt.) ir nubraižyti visokius grafikus (iš paprastų linijų, spidometrai, lentelės į sudėtingas diagramas).

Draw.io – paslauga, leidžianti piešti nuo paprastos blokinės schemos iki aukšto plano internetiniame redaktoriuje. Yra daug paruoštų šablonų ir nupieštų objektų. Duomenys gali būti eksportuojami į visus pagrindinius grafinius formatus arba xml.

Viskas kartu

Yra daug straipsnių apie tai, kaip įdiegti ir konfigūruoti Grafana ir Zabbix, aš jums papasakosiu apie pagrindinius konfigūracijos taškus.

„Zabbix“ serveryje sukuriamas „tinklo mazgas“ (priegloba), kuriam priklausys „duomenų elementai“ (elementai) su mūsų jutiklių metrika. Patartina iš anksto apgalvoti mazgų ir duomenų elementų pavadinimus ir padaryti juos kuo struktūriškesnius, nes juos pasieksime iš grafana per reguliariąsias išraiškas. Šis metodas yra patogus, nes galite gauti duomenis iš elementų grupės su viena užklausa.

Norėdami sukonfigūruoti grafana, turėsite įdiegti papildomus papildinius:

  • Aleksandro Zobnino „Zabbix“ (alexanderzobnin-zabbix-app) – integracija su „zabbix“
  • natel-discrete-panel – įskiepis, skirtas atskiram vizualizavimui horizontaliame grafike
  • pierosavi-imageit-panel – papildinys, skirtas duomenims rodyti vaizdo viršuje
  • agenty-flowcharting-panel – įskiepis, skirtas dinamiškai vizualizuoti diagramą iš draw.io

Pati integracija su „Zabbix“ sukonfigūruojama „grafana“ meniu punkte „ConfigurationData sourcesZabbix“. Ten reikia nurodyti api zabbix serverio adresą, štai ką turiu http://zabbix.local/zabbix/api_jsonrpc.phpir prisijunkite naudodami slaptažodį, kad galėtumėte pasiekti. Jei viskas bus padaryta teisingai, išsaugant nustatymus bus rodomas pranešimas su api versijos numeriu: zabbix API versija: 5.0.1

Informacijos suvestinės kūrimas

Čia prasideda Grafana ir jos papildinių magija.

„Natel-discrete-panel“ papildinys
Turime duomenis apie variklių būseną linijose (veikia = 1, neveikia = 0). Naudodami diskrečią grafiką galime nubrėžti skalę, kuri parodys: variklio būseną, kiek minučių/valandų ar % jis dirbo ir kaip dažnai buvo užvestas.

Grafana+Zabbix: gamybos linijos veikimo vizualizacija
Variklio būsenų vizualizacija

Mano nuomone, tai yra vienas geriausių grafikų aparatinės įrangos veikimui vizualizuoti. Iš karto matosi, kiek laiko jis buvo nenaudojamas ir kokiais režimais veikia dažniau. Duomenų gali būti daug, juos galima agreguoti pagal diapazonus, transformuoti pagal reikšmes (jei reikšmė yra „1“, tada rodyti kaip „ON“)

Papildinys pierosavi-imageit-panel

„Imageit“ patogu naudoti, kai jau turite nubraižytą schemą arba grindų planą, kuriame norite pritaikyti duomenis iš jutiklių. Vizualizacijos nustatymuose turite nurodyti vaizdo URL ir pridėti reikalingus jutiklio elementus. Elementas pasirodo paveikslėlyje ir jį galima padėti pele norimoje vietoje.

Grafana+Zabbix: gamybos linijos veikimo vizualizacija
Krosnies diagrama su temperatūros ir slėgio metrika

Agentūros srautų diagramų skydelio papildinys

Norėčiau plačiau pakalbėti apie FlowCharting vizualizacijos kūrimą, nes tai neįtikėtinai funkcionalus įrankis. Tai leidžia sudaryti dinaminę mnemoninę diagramą, kurios elementai reaguos į metrikos reikšmes (keis spalvą, padėtį, pavadinimą ir kt.).

Duomenų gavimas

Bet kurio „Grafana“ vizualizacijos elemento kūrimas prasideda nuo duomenų užklausos iš šaltinio, mūsų atveju tai yra „zabbix“. Naudodami užklausas turime gauti visą metriką, kurią norime naudoti diagramoje. Išsami informacija apie metriką yra duomenų elementų pavadinimai sistemoje Zabbix; galite nurodyti atskirą metriką arba rinkinį, filtruotą naudojant reguliarųjį posakį. Mano pavyzdyje elemento lauke yra posakis: „/(^1 eilutė)|(prieinamumas)|(cukinija)/“ – tai reiškia: pasirinkite visas metrikas, kurių pavadinimas griežtai prasideda „1 eilutė“ arba kuriame yra žodis „prieinamumas“ “ arba yra žodis „cukinija“

Grafana+Zabbix: gamybos linijos veikimo vizualizacija
Prašymo pateikti duomenis apie pirmosios eilės variklius ir žaliavų prieinamumą nustatymo pavyzdys

Duomenų konvertavimas

Šaltiniai duomenys ne visada gali būti tokios formos, kokia mums reikia juos rodyti. Pavyzdžiui, turime minutės duomenis apie produkto svorį inde (kg), o užpildymo greitį turime rodyti t/val. Tai darau taip: paimu svorio duomenis ir transformuoju grafana delta funkcija, kuri apskaičiuoja skirtumą tarp metrinių reikšmių, todėl esamas svoris virsta kg/min. Tada padauginu iš 0.06, kad gaučiau rezultatą tonomis/val. Kadangi svorio metrika naudojama keliose užklausose, nurodu jai naują slapyvardį (setAlias) ir naudosiu jį vizualizacijos taisyklėje.

Grafana+Zabbix: gamybos linijos veikimo vizualizacija
Delta ir daugiklio parametro naudojimo ir metrikos pervadinimo užklausoje pavyzdys

Štai dar vienas duomenų konvertavimo pavyzdys: man reikėjo suskaičiuoti partijų skaičių (ciklo pradžia = variklio užvedimas). Metrika apskaičiuojama pagal variklio būseną „1 eilutė – siurblio siurblys iš 1 bako (būsena)“. Transformacija: pradinės metrikos duomenis keičiame su delta funkcija (reikšmių skirtumas), todėl metrika turės reikšmę „+1“ variklio užvedimui, „-1“ – stabdymą ir „0“, kai variklis tai padarys. nekeičia savo statuso. Tada pašalinu visas reikšmes, mažesnes nei 1, ir jas sumuoju. Rezultatas yra variklio užvedimų skaičius.

Grafana+Zabbix: gamybos linijos veikimo vizualizacija
Duomenų konvertavimo iš dabartinės būsenos į paleidimų skaičių pavyzdys

Dabar apie pačią vizualizaciją

Ekrano nustatymuose yra mygtukas „Redaguoti piešinį“; jis paleidžia redaktorių, kuriame galite piešti diagramą. Kiekvienas diagramos objektas turi savo parametrus. Pavyzdžiui, jei redagavimo priemonėje nurodysite šrifto nustatymus, jie bus taikomi duomenų vizualizavimui programoje „Grafana“.

Grafana+Zabbix: gamybos linijos veikimo vizualizacija
Taip atrodo redaktorius Draw.io

Išsaugojus diagramą, ji atsiras grafanoje ir galėsite sukurti elementų keitimo taisykles.

Parametrai () nurodome:

  • Parinktys – nustatykite taisyklės pavadinimą, metrikos, kurios duomenys bus naudojami, pavadinimą arba slapyvardį (Taikyti metrikai). Duomenų apibendrinimo tipas (Aggregation) turi įtakos galutiniam metrikos rezultatui, todėl Paskutinė reiškia, kad bus pasirinkta paskutinė reikšmė, o vidurkis yra vidutinė viršutiniame dešiniajame kampe pasirinkto laikotarpio vertė.
  • Slenksčiai - slenkstinių verčių parametras apibūdina spalvų taikymo logiką, tai yra, pasirinkta spalva bus pritaikyta diagramos elementams, atsižvelgiant į metrinius duomenis. Mano pavyzdyje, jei metrikos reikšmė yra „0“, būsena „Gerai“, spalva bus žalia, jei reikšmė „>1“, būsena bus kritinė, o spalva raudona.
  • Spalvų/patarimų atvaizdai“ ir „Etiketės/teksto susiejimas“ – pasirenkamas schemos elementas ir jo veikimo scenarijus. Pirmajame scenarijuje objektas bus nudažytas, antrajame ant jo bus tekstas su duomenimis iš metrikos. Norėdami pasirinkti objektą diagramoje, turite spustelėti grandinės ženklą ir spustelėti diagramą.

Grafana+Zabbix: gamybos linijos veikimo vizualizacija
Šiame pavyzdyje siurblį ir jo rodyklę dažau raudonai, jei jis veikia, ir žaliai, jei ne.

Naudodamas struktūrinės diagramos papildinį, galėjau nubraižyti visos linijos schemą, kurioje:

  1. vienetų spalva keičiasi pagal jų būseną
  2. yra pavojaus signalas, kad konteineriuose nėra produkto
  3. Rodomas variklio dažnio nustatymas
  4. pirmasis bako užpildymo / išpylimo greitis
  5. apskaičiuojamas linijos veikimo (partijos) ciklų skaičius

Grafana+Zabbix: gamybos linijos veikimo vizualizacija
Gamybos linijos veikimo vizualizacija

Rezultatas

Sunkiausia man buvo gauti duomenis iš kontrolierių. Dėl „Zabbix“ universalumo duomenų priėmimo ir „Grafana“ lankstumo dėl papildinių prireikė vos poros dienų sukurti išsamų gamybos linijos stebėjimo ekraną. Vizualizacija leido peržiūrėti grafikus ir būsenos statistiką, be to, visiems besidomintiems buvo lengva prieiga per žiniatinklį – visa tai leido greitai nustatyti kliūtis ir neefektyvų vienetų naudojimą.

išvada

Man labai patiko Zabbix+Grafana derinys ir rekomenduoju į jį atkreipti dėmesį, jei reikia greitai apdoroti duomenis iš valdiklių ar jutiklių neprogramuojant ir nediegiant sudėtingų komercinių produktų. Žinoma, tai nepakeis profesionalių SCADA sistemų, tačiau to pakaks kaip centralizuoto visos gamybos stebėjimo priemonės.

Šaltinis: www.habr.com

Добавить комментарий