Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit

Në këtë artikull dua të ndaj përvojën time të përdorimit të sistemeve me kod të hapur Zabbix dhe Grafana për të vizualizuar funksionimin e linjave të prodhimit. Informacioni mund të jetë i dobishëm për ata që kërkojnë një mënyrë të shpejtë për të shfaqur ose analizuar vizualisht të dhënat e mbledhura në projektet e automatizimit industrial ose IoT. Artikulli nuk është një tutorial i detajuar, por më tepër një koncept për një sistem monitorimi të bazuar në softuer me burim të hapur për një fabrikë prodhuese.

mjete

Zabbix – e kemi përdorur prej kohësh për të monitoruar infrastrukturën e IT të uzinës. Sistemi doli të ishte aq i përshtatshëm dhe universal saqë filluam të futnim të dhëna nga linjat e prodhimit, sensorët dhe kontrollorët në të. Kjo na lejoi të mblidhnim të gjitha të dhënat matëse në një vend, të bënim grafikë të thjeshtë të konsumit të burimeve dhe performancës së pajisjeve, por na mungonin vërtet analitika dhe grafikët e bukur.

grafana është një mjet i fuqishëm për analitikën dhe vizualizimin e të dhënave. Një numër i madh shtojcash ju lejojnë të merrni të dhëna nga burime të ndryshme (zabbix, clickhouse, influxDB), t'i përpunoni ato menjëherë (llogaritni vlerën mesatare, shumën, ndryshimin, etj.) dhe të vizatoni të gjitha llojet e grafikëve (nga vija të thjeshta, shpejtësimatësit, tabelat deri te diagramet komplekse).

Draw.io – një shërbim që ju lejon të vizatoni nga një bllok-diagram i thjeshtë në një planimetri në një redaktues në internet. Ka shumë shabllone të gatshme dhe objekte të vizatuara. Të dhënat mund të eksportohen në të gjitha formatet kryesore grafike ose xml.

Duke i bashkuar të gjitha

Ka shumë artikuj të shkruar se si të instaloni dhe konfiguroni Grafana dhe Zabbix, unë do t'ju tregoj për pikat kryesore të konfigurimit.

Një "nyje rrjeti" (host) krijohet në serverin Zabbix, i cili do të zotërojë "elemente të të dhënave" (artikuj) me metrikë nga sensorët tanë. Këshillohet që paraprakisht të mendohen emrat e nyjeve dhe elementeve të të dhënave dhe t'i bëjmë ato sa më të strukturuara, pasi do t'i qasemi nga grafana përmes shprehjeve të rregullta. Kjo qasje është e përshtatshme sepse mund të merrni të dhëna nga një grup elementësh me një kërkesë.

Për të konfiguruar grafana, do t'ju duhet të instaloni shtojca shtesë:

  • Zabbix nga Alexander Zobnin (alexanderzobnin-zabbix-app) – integrim me zabbix
  • natel-discrete-panel – plugin për vizualizim diskret në një grafik horizontal
  • pierosavi-imageit-panel – plugin për shfaqjen e të dhënave në krye të imazhit tuaj
  • agenty-flowcharting-panel – plugin për vizualizimin dinamik të një diagrami nga draw.io

Vetë integrimi me Zabbix është konfiguruar në grafana, artikulli i menusë ConfigurationData SourcesZabbix. Aty duhet të specifikoni adresën e serverit api zabbix, kjo është ajo që kam http://zabbix.local/zabbix/api_jsonrpc.php, dhe identifikohu me fjalëkalim për qasje. Nëse gjithçka është bërë si duhet, kur ruani cilësimet do të ketë një mesazh me numrin e versionit të api: versioni zabbix API: 5.0.1

Krijimi i një paneli kontrolli

Këtu fillon magjia e Grafanës dhe shtojcave të saj.

Shtojca Natel-diskrete-panel
Kemi të dhëna për gjendjen e motorëve në linja (punon = 1, nuk punon =0). Duke përdorur grafikun diskret, mund të vizatojmë një shkallë që do të tregojë: statusin e motorit, sa minuta/orë ose % ka punuar dhe sa shpesh është ndezur.

Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit
Vizualizimi i statusit të motorit

Sipas mendimit tim, ky është një nga grafikët më të mirë për vizualizimin e performancës së harduerit. Ju mund të shihni menjëherë se sa kohë ka qenë boshe dhe në cilat mënyra funksionon më shpesh. Mund të ketë shumë të dhëna, është e mundur t'i grumbulloni ato sipas diapazoneve, t'i transformoni ato sipas vlerave (nëse vlera është "1", atëherë shfaqni atë si "ON")

Plugin pierosavi-imageit-panel

Imazhi është i përshtatshëm për t'u përdorur kur tashmë keni një diagram të vizatuar ose planin e dyshemesë në të cilën dëshironi të aplikoni të dhëna nga sensorët. Në cilësimet e vizualizimit, duhet të specifikoni URL-në e imazhit dhe të shtoni elementët e sensorit që ju nevojiten. Elementi shfaqet në foto dhe mund të vendoset në vendin e dëshiruar me miun.

Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit
Diagrami i furrës me matjet e temperaturës dhe presionit

Shtojca Agenty-flowcharting-panel

Do të doja të flisja më në detaje rreth krijimit të vizualizimit të FlowCharting, pasi është një mjet tepër funksional. Kjo ju lejon të bëni një diagram dinamik të kujtesës, elementët e të cilit do të reagojnë ndaj vlerave të metrikës (ndryshimi i ngjyrës, pozicionit, emrit, etj.).

Marrja e të dhënave

Krijimi i çdo elementi vizualizimi në Grafana fillon me një kërkesë për të dhëna nga burimi, në rastin tonë është zabbix. Duke përdorur pyetjet, ne duhet të marrim të gjitha metrikat që duam të përdorim në diagram. Detajet metrike janë emrat e elementeve të të dhënave në Zabbix; ju mund të specifikoni ose një metrikë individuale ose një grup të filtruar përmes një shprehjeje të rregullt. Në shembullin tim, fusha Item përmban shprehjen: "/(^linja 1)|(disponueshmëria)|(kungull i njomë)/" - kjo do të thotë: zgjidhni të gjitha metrikat, emri i të cilave fillon rreptësisht me "rreshtin 1" ose përmban fjalën "disponueshmëria". ” ose përmban fjalën “kungull i njomë”

Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit
Një shembull i vendosjes së një kërkese për të dhëna për motorët e linjës së parë dhe disponueshmërinë e lëndëve të para

Konvertimi i të dhënave

Të dhënat burimore mund të mos jenë gjithmonë në formën në të cilën duhet t'i shfaqim. Për shembull, ne kemi të dhëna minutë pas minutë për peshën e një produkti në një enë (kg) dhe duhet të shfaqim shpejtësinë e mbushjes në t/orë. Këtë e bëj në këtë mënyrë: marr të dhënat e peshës dhe i transformoj me funksionin grafana delta, i cili llogarit diferencën midis vlerave metrike, kështu që pesha aktuale kthehet në kg/min. Pastaj shumëzoj me 0.06 për të marrë rezultatin në ton/orë. Meqenëse metrika e peshës përdoret në disa pyetje, unë specifikoj një pseudonim të ri për të (setAlias) dhe do ta përdor atë në rregullin e vizualizimit.

Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit
Shembull i përdorimit të parametrit delta dhe shumëzues dhe riemërtimi i metrikës në një pyetje

Këtu është një shembull tjetër i konvertimit të të dhënave: Më duhej të numëroja numrin e grupeve (fillimi i ciklit = fillimi i motorit). Metrika llogaritet në bazë të statusit të motorit "linja 1 - pompë pompë nga rezervuari 1 (statusi)". Transformimi: ne ndryshojmë të dhënat e metrikës origjinale me funksionin delta (diferenca e vlerave), kështu metrika do të ketë vlerën "+1" për ndezjen e motorit, "-1" për ndalimin dhe "0" kur motori bën të mos ndryshojë statusin e saj. Pastaj i heq të gjitha vlerat më pak se 1 dhe i mbledh ato. Rezultati është numri i nisjeve të motorit.

Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit
Një shembull i konvertimit të të dhënave nga statusi aktual në numrin e fillimeve

Tani për vetë vizualizimin

Në cilësimet e ekranit ekziston një buton "Edit Draw"; ai hap një redaktues në të cilin mund të vizatoni një diagram. Çdo objekt në diagram ka parametrat e tij. Për shembull, nëse specifikoni cilësimet e shkronjave në redaktues, ato do të aplikohen në vizualizimin e të dhënave në Grafana.

Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit
Kështu duket redaktori në Draw.io

Pas ruajtjes së diagramit, ai do të shfaqet në grafana dhe mund të krijoni rregulla për ndryshimin e elementeve.

Në parametrat () ne specifikojmë:

  • Opsionet—vendosni emrin e rregullit, emrin ose pseudonimin e metrikës, të dhënat e së cilës do të përdoren (Zbato për metrikat). Lloji i grumbullimit të të dhënave (Aggregation) ndikon në rezultatin përfundimtar të metrikës, kështu që Last do të thotë se do të zgjidhet vlera e fundit, mesatarja është vlera mesatare për periudhën e zgjedhur në këndin e sipërm djathtas.
  • Pragjet - parametri i vlerave të pragut përshkruan logjikën e aplikimit të ngjyrave, domethënë, ngjyra e zgjedhur do të aplikohet në elementët në diagram në varësi të të dhënave metrike. Në shembullin tim, nëse vlera e metrikës është "0", statusi është "Ok", ngjyra do të jetë jeshile, nëse vlera është ">1", statusi do të jetë kritik dhe ngjyra do të jetë e kuqe.
  • Color/Tooltip Mappings" dhe "Label/Text Mappings" - zgjedhja e një elementi skeme dhe një skenari për sjelljen e tij. Në skenarin e parë, objekti do të pikturohet, në të dytën, do të ketë tekst mbi të me të dhëna nga metrika. Për të zgjedhur një objekt në diagram, duhet të klikoni në shenjën e qarkut dhe të klikoni në diagram.

Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit
Në këtë shembull, unë e lyej pompën dhe shigjetën e saj të kuqe nëse funksionon dhe jeshile nëse nuk funksionon.

Duke përdorur shtojcën e grafikut të rrjedhës, unë munda të vizatoja një diagram të të gjithë linjës, në të cilën:

  1. ngjyra e njësive ndryshon në përputhje me statusin e tyre
  2. ka alarm për mungesën e produktit në kontejnerë
  3. afishohet cilësimi i frekuencës së motorit
  4. shpejtësia e parë e mbushjes/hedhjes së rezervuarit
  5. llogaritet numri i cikleve të funksionimit të linjës (batch).

Grafana+Zabbix: Vizualizimi i funksionimit të linjës së prodhimit
Vizualizimi i funksionimit të linjës së prodhimit

Result

Gjëja më e vështirë për mua ishte marrja e të dhënave nga kontrollorët. Falë shkathtësisë së Zabbix për sa i përket marrjes së të dhënave dhe fleksibilitetit të Grafana për shkak të shtojcave, u deshën vetëm disa ditë për të krijuar një ekran gjithëpërfshirës monitorimi të linjës së prodhimit. Vizualizimi bëri të mundur shikimin e grafikëve dhe statistikave të gjendjes, plus akses të lehtë nëpërmjet internetit për të gjithë të interesuarit - e gjithë kjo bëri të mundur identifikimin e shpejtë të pengesave dhe përdorimit joefikas të njësive.

Përfundim

Më pëlqeu shumë kombinimi Zabbix+Grafana dhe ju rekomandoj t'i kushtoni vëmendje nëse keni nevojë të përpunoni shpejt të dhënat nga kontrollorët ose sensorët pa programuar ose zbatuar produkte komplekse komerciale. Sigurisht, kjo nuk do të zëvendësojë sistemet profesionale SCADA, por do të mjaftojë si një mjet për monitorimin e centralizuar të të gjithë prodhimit.

Burimi: www.habr.com

Shto një koment