Grafana+Zabbix: tootmisliini visualiseerimine

Selles artiklis tahan jagada oma kogemusi avatud lähtekoodiga Zabbixi ja Grafana süsteemide kasutamisest tootmisliinide töö visualiseerimiseks. Teave võib olla kasulik neile, kes otsivad kiiret viisi kogutud andmete visuaalseks kuvamiseks või analüüsimiseks tööstusautomaatika või IoT projektides. Artikkel ei ole üksikasjalik juhend, vaid pigem tootmisettevõtte avatud lähtekoodiga tarkvaral põhineva seiresüsteemi kontseptsioon.

Toolkit

Zabbix – oleme seda juba pikka aega kasutanud tehase IT infrastruktuuri jälgimiseks. Süsteem osutus nii mugavaks ja mitmekülgseks, et hakkasime sinna sisestama andmeid tootmisliinidelt, anduritelt ja kontrolleritelt. See võimaldas meil koguda kõik mõõdikute andmed ühte kohta, koostada lihtsaid graafikuid ressursitarbimise ja seadmete jõudluse kohta, kuid meil oli tõesti puudu analüütikast ja ilusatest graafikutest.

grafana on võimas tööriist analüütikaks ja andmete visualiseerimiseks. Suur hulk pluginaid võimaldab võtta andmeid erinevatest allikatest (zabbix, clickhouse, influxDB), töödelda neid käigu pealt (arvutada keskmist, summat, erinevust jne) ja koostada igasuguseid graafikuid (lihtjoontest, spidomeetritest). , tabelid keeruliste diagrammideni).

Draw.io - teenus, mis võimaldab teil joonistada veebiredaktoris lihtsast plokkskeemist korruseplaanini. Valmis malle ja joonistatud objekte on palju. Andmeid saab eksportida kõikidesse suurematesse graafikavormingutesse või xml-i.

Kõik see koos

Grafana ja Zabbixi installimise ja konfigureerimise kohta on kirjutatud palju artikleid, räägin konfiguratsiooni põhipunktidest.

Zabbixi serverisse luuakse "võrgusõlm" (host), mis omab "andmeelemente" (üksus) koos meie andurite mõõdikutega. Soovitatav on sõlmede ja andmeelementide nimed eelnevalt läbi mõelda ja võimalikult struktureerida, kuna grafanast pääseme neile ligi regulaaravaldiste kaudu. See lähenemine on mugav, kuna saate andmeid elementide rühmast ühe päringuga.

Grafana konfigureerimiseks peate installima täiendavad pistikprogrammid:

  • Zabbix, autor Alexander Zobnin (alexanderzobnin-zabbix-app) – integreerimine zabbixiga
  • natel-discrete-panel – plugin diskreetseks visualiseerimiseks horisontaaldiagrammil
  • pierosavi-imageit-panel – plugin andmete kuvamiseks pildi peal
  • agenty-flowcharting-panel – plugin dünaamilise diagrammi visualiseerimiseks saidilt draw.io

Integratsioon Zabbixiga on konfigureeritud grafanas menüükäsuga ConfigurationData sourcesZabbix. Seal peate määrama zabbixi serveri api aadressi, mul on see http://zabbix.local/zabbix/api_jsonrpc.phpja juurdepääsuks parooliga sisselogimine. Kui kõik on õigesti tehtud, kuvatakse seadete salvestamisel teade api versiooninumbriga: zabbix API versioon: 5.0.1

Armatuurlaua loomine

Siit saab alguse grafana ja selle pistikprogrammide võlu.

natel-discrete-panel plugin
Meil on ridadel andmed mootorite olekute kohta (töötab = 1, ei tööta = 0). Diskreetse graafiku abil saame joonistada skaala, mis näitab: mootori olekut, mitu minutit / tundi või % see on töötanud ja kui sageli see on käivitatud.

Grafana+Zabbix: tootmisliini visualiseerimine
Mootori oleku visualiseerimine

Minu arvates on see üks parimaid graafikuid riistvara jõudluse visualiseerimiseks. Kohe on näha, kui kaua on tühikäigul, millistel režiimidel tihedamini töötab. Andmeid võib olla palju, neid on võimalik koondada vahemike kaupa, teisendada väärtuste järgi (kui väärtus on "1", siis kuvage "SEES")

pierosavi-imageit-paneeli pistikprogramm

Imageit on mugav kasutada, kui teil on juba joonistatud ruumi skeem või plaan, millele soovite andurite andmeid rakendada. Visualiseerimisseadetes tuleb määrata pildi url-aadress ja lisada vajalikud andurielemendid. Element ilmub pildile ja selle saab hiirega õigesse kohta asetada.

Grafana+Zabbix: tootmisliini visualiseerimine
Ahju skeem koos temperatuuri ja rõhu mõõdikutega

agenty-flowcharting-paneeli pistikprogramm

Tahaksin teile rohkem rääkida FlowChartingu visualiseerimise loomisest, kuna see on uskumatult funktsionaalne tööriist. See võimaldab teil teha dünaamilist märguannet, mille elemendid reageerivad mõõdikute väärtustele (muudavad värvi, asukohta, nime jne).

Andmete hankimine

Mis tahes visualiseerimiselemendi loomine grafanas algab allika andmete päringuga, meie puhul on see zabbix. Päringuid kasutades peame saama kõik mõõdikud, mida diagrammil kasutada tahame. Mõõdikute üksikasjad on Zabbixis andmeelementide nimed, saate määrata nii eraldi mõõdiku kui ka komplekti koos regulaaravaldise kaudu filtreerimisega. Minu näites sisaldab väli Üksus väljendit: "/(^rida 1)|(kättesaadavus)|(suvikõrvits)/" – see tähendab: valige kõik mõõdikud, mille nimi algab rangelt sõnaga "rida 1" või sisaldab sõna "kättesaadavus" " või sisaldab sõna "suvikõrvits"

Grafana+Zabbix: tootmisliini visualiseerimine
Näide esimese rea mootorite ja tooraine saadavuse andmete päringu seadmisest

Andmete teisendamine

Lähteandmed ei pruugi alati olla sellisel kujul, nagu me neid kuvama peame. Näiteks on meil minuti kaupa andmed konteineris oleva toote kaalu kohta (kg) ja soovime kuvada täitemäära t/h. Ma teen seda nii: võtan kaaluandmed ja teisendan need delta grafana funktsiooniga, mis arvutab meetermõõdustiku väärtuste erinevuse, nii et praegune kaal teisendatakse kg / min. Seejärel korrutan 0.06-ga, et tuua tulemuseks tonni/tunnis. Kuna kaalumõõdikut kasutatakse mitmes päringus, annan sellele uue varjunime (setAlias) ja kasutan seda renderdusreeglis.

Grafana+Zabbix: tootmisliini visualiseerimine
Näide parameetri delta ja kordaja kasutamisest ning mõõdiku ümbernimetamisest päringus

Siin on veel üks näide andmete teisendamisest: mul oli vaja arvutada partiide arv (tsükli käivitamine = mootori käivitamine). Mõõdik arvutatakse mootori oleku "rida 1 - paagipump 1 (olek)" alusel. Teisendus: me muudame algse mõõdiku andmeid deltafunktsiooniga (väärtuste erinevus), nii et mõõdikul on mootori käivitamiseks väärtus "+1", seiskamiseks "-1" ja 0, kui mootor ei tööta. muuta selle olekut. Seejärel eemaldan kõik väärtused, mis on väiksemad kui 1, ja võtan need kokku. Tulemuseks on mootori käivituste arv.

Grafana+Zabbix: tootmisliini visualiseerimine
Näide andmete teisendamisest praegusest olekust käivituste arvuks

Nüüd visualiseerimisest endast

Kuvaseadetes on nupp "Muuda joonist", see käivitab redaktori, milles saate joonistada diagrammi. Igal diagrammi objektil on oma parameetrid. Näiteks kui määrate redaktoris fondi sätted, rakendatakse neid andmete visualiseerimisel grafanas.

Grafana+Zabbix: tootmisliini visualiseerimine
Selline näeb redaktor välja Draw.io-s

Pärast skeemi salvestamist ilmub see grafanasse ja seal on võimalik luua reegleid elementide muutmiseks.

Parameetrites () täpsustame:

  • Valikud – määrake reegli nimi (Rule name), selle mõõdiku nimi või pseudonüüm, mille andmeid kasutatakse (Rakenda mõõdikutele). Andmete koondamise tüüp (Aggregation) mõjutab mõõdiku lõpptulemust, nii et Last tähendab, et valitakse viimane väärtus, avg tähendab paremas ülanurgas valitud perioodi keskmist väärtust.
  • Künnised – läviväärtuse parameeter, kirjeldab värvirakenduse loogikat, st valitud värvi rakendatakse diagrammi elementidele olenevalt meetrika andmetest. Minu näites, kui mõõdiku väärtus on "0", on olek "Ok", värv on roheline, kui väärtus on ">1", on olek kriitiline ja värv punane.
  • Color/Tooltip Mappings” ja “Label/Text Mappings” — vooluahela elemendi ja selle käitumise stsenaariumi valik. Esimese stsenaariumi korral värvitakse objekt üle, teises - sellel on tekst mõõdiku andmetega. Diagrammil oleva objekti valimiseks peate vajutama vooluringi märki ja klõpsama hiirega diagrammi.

Grafana+Zabbix: tootmisliini visualiseerimine
Selles näites värvin pumba ja selle noole punaseks, kui see töötab, ja roheliseks, kui see ei tööta.

Vooskeemide pistikprogrammi abil õnnestus mul joonistada kogu joone skeem, millel:

  1. agregaatide värvus muutub vastavalt nende staatusele
  2. on alarm toote puudumise kohta konteinerites
  3. kuvatakse mootori sageduse seadistus
  4. esimese paagi täitmis-/tühjendusmäär
  5. loendatakse liini töötsüklite (partii) arv

Grafana+Zabbix: tootmisliini visualiseerimine
Tootmisliini visualiseerimine

Tulemus

Minu jaoks oli kõige raskem saada andmeid kontrolleritelt. Tänu Zabbixi mitmekülgsusele andmete hankimise osas ja Grafana paindlikkusele läbi pluginate kulus vaid paar päeva, et luua terviklik ekraan tootmisliini jälgimiseks. Visualiseerimine võimaldas vaadata graafikuid ja olekustatistikat, lisaks veebi kaudu lihtsa juurdepääsu kõigile huvilistele – kõik see võimaldas kiiresti tuvastada kitsaskohad ja agregaatide ebaefektiivse kasutamise.

Järeldus

Mulle väga meeldis Zabbix + Grafana komplekt ja soovitan sellele tähelepanu pöörata, kui on vaja kiiresti töödelda kontrolleritelt või anduritelt saadud andmeid ilma keerulisi kommertstooteid programmeerimata või juurutamata. Loomulikult ei asenda see professionaalseid SCADA süsteeme, kuid piisab kogu tootmise tsentraliseeritud jälgimise vahendiks.

Allikas: www.habr.com

Lisa kommentaar