Në këtë artikull dëshiroj të ndaj përvojën time me sistemet e hapura Zabbix dhe Grafana për vizualizimin e punës së linjave prodhuese. Informacioni mund të jetë i dobishëm për ata që kërkojnë një mënyrë të shpejtë për të visualizuar ose analizuar të dhënat e mbledhura në projektet e automatizimit industrial ose IoT. Artikulli nuk është një udhëzues i detajuar, por më shumë një koncept i sistemit të monitorimit të bazuar në softuer të hapur për ndërmarrjet prodhuese.
Instrumentari
Zabbix â e pĂ«rdorim prej kohĂ«sh pĂ«r monitorimin e infrastrukturĂ«s IT tĂ« fabrikĂ«s. Sistemi u dĂ«shmua aq i pĂ«rshtatshĂ«m dhe univers that ne filluam tĂ« futnim tĂ« dhĂ«nat nga linjat e prodhimit, sensorĂ«t dhe kontrollet. Kjo na lejoi tĂ« mbledhim tĂ« gjitha metrikat nĂ« njĂ« vend, tĂ« krijojmĂ« grafika tĂ« thjeshta tĂ« konsumit tĂ« burimeve dhe performancĂ«s sĂ« pajisjeve, por na mungonte shumĂ« analiza dhe grafika tĂ« bukura.
Grafana â Ă«shtĂ« njĂ« mjet shumĂ« i fuqishĂ«m pĂ«r analizĂ«n dhe vizualizimin e tĂ« dhĂ«nave. NjĂ« numĂ«r i madh plug-in-esh lejojnĂ« marrjen e tĂ« dhĂ«nave nga burime tĂ« ndryshme (zabbix, clickhouse, influxDB), t'i pĂ«rpunojnĂ« ato nĂ« kohĂ« reale (tĂ« llogarisin mesataren, shumĂ«n, diferencĂ«n etj.) dhe tĂ« vizatojnĂ« grafika tĂ« ndryshme (nga linjat e thjeshta, spekĂ«t, tabela deri nĂ« diagrame tĂ« ndĂ«rlikuara).
Draw.io â shĂ«rbimi qĂ« lejon tĂ« vizatoni nga njĂ« diagram i thjeshtĂ« deri nĂ« njĂ« plan tĂ« ambienteve nĂ« njĂ« redaktor online. Ka shumĂ« shabllone tĂ« gatshme dhe objekte tĂ« vizatuara. TĂ« dhĂ«nat mund tĂ« eksportohen nĂ« tĂ« gjitha formatet grafike kryesore ose xml.
T'i bashkojmë të gjitha së bashku
Ka shumë artikuj si të instaloni dhe konfiguroni Grafana dhe Zabbix, unë do të flas për pikat kryesore të konfigurimit.
Në Zabbix serveri krijohet një "nyjë rrjeti" (host), e cila do të ketë "elemente të dhënash" (item) me metrikat nga sensorët tanë. Emrat e nyjeve dhe elementeve të dhënash është e këshillueshme t'i mendoni paraprakisht dhe t'i bëni sa më strukturuar, pasi do t'i referohemi atyre nga Grafana përmes shprehjeve të rregullta. Ky qasje është e dobishme pasi mund të merrni të dhëna nga një grup elementesh me një kërkesë.
Për konfigurimin e Grafana do të nevojitet të instalohen plug-in të tjerë:
- Zabbix nga Alexander Zobnin (alexanderzobnin-zabbix-app) â integrim me zabbix
- natel-discrete-panel â plug-in pĂ«r vizualizimin diskret nĂ« grafik horizontal
- pierosavi-imageit-panel â plug-in pĂ«r shfaqjen e tĂ« dhĂ«nave mbi njĂ« imazh tĂ« vetin
- agenty-flowcharting-panel â plug-in pĂ«r vizualizimin dinamik tĂ« diagrameve nga draw.io
Integrimi vetë me Zabbix konfigurohet në Grafana, pike e menusë ConfigurationData sourcesZabbix. Atje duhet të specifikoni adresën e API të serverit Zabbix, unë kam , dhe emrin e përdoruesit me fjalëkalimin për akses. Nëse çdo gjë është bërë siç duhet, kur ruani konfigurimin do të ketë një mesazh me numrin e versionit të API: zabbix API version: 5.0.1
Krijojmë Dashboard
Këtu fillon ajo magjia e Grafana dhe e plug-in-ave të saj.
Plug-in natel-discrete-panel
Kemi të dhëna rreth gjendjes së motorëve në linja (punon = 1, nuk punon = 0). Me ndihmën e grafikës discrete mund të vizatojmë një shkallë, në të cilën do të jetë e dukshme: gjendja e motorit, sa kohë ka punuar në minuta/orë ose %, dhe sa shpesh ka nisur.

Vizualizimi i gjendjes së motorëve
Sipas mendimit tim, ky Ă«shtĂ« njĂ« nga grafikĂ«t mĂ« tĂ« mirĂ« pĂ«r vizualizimin e performancĂ«s sĂ« pajisjeve. ĂshtĂ« menjĂ«herĂ« e dukshme sa kohĂ« qĂ« Ă«shtĂ« ndaluar, nĂ« cilat regjime punon mĂ« shpesh. TĂ« dhĂ«nat mund tĂ« jenĂ« tĂ« shumta, ka mundĂ«si pĂ«r agregimin e tyre sipas intervaleve, transformimi sipas vlerave (nĂ«se vlera Ă«shtĂ« "1", atĂ«herĂ« tĂ« tregohet si "ON")
Plug-in pierosavi-imageit-panel
Imageit është e përshtatshme për t'u përdorur kur keni një diagram ose plan të ambientit të vizatuar, në të cilin dëshironi të aplikoni të dhënat e sensorëve. Në konfigurimet e vizualizimit, duhet të specifikoni adresën URL të imazhit dhe të shtoni elementet e nevojshme sensor. Elementi shfaqet mbi imazh dhe mund të vendoset në vendin e dëshiruar me miun.

Diagrami i sobës me metrikat e temperaturës dhe presionit
Plug-in agenty-flowcharting-panel
Për krijimin e vizualizimit FlowCharting do të doja të flisja më në detaje, pasi është një mjet jashtëzakonisht funksional. Ai lejon të krijoni një memogram dinamik, elementet e të cilit do të reagojnë ndaj vlerave të metrikave (të ndryshojnë ngjyrën, pozitat, emrin etj.).
Marrja e të dhënave
Krijimi i çdo elementi vizualizimi nĂ« Grafana fillon me marrjen e tĂ« dhĂ«nave nga burimi, nĂ« rastin tonĂ« nga Zabbix. PĂ«rmes kĂ«rkesave, duhen marrĂ« tĂ« gjitha metrikat qĂ« duam tĂ« pĂ«rdorim nĂ« skemĂ«. Rekvizitat e metrikave janĂ« emrat e elementĂ«ve tĂ« dhĂ«nave nĂ« Zabbix, mund tĂ« specifikohet njĂ« metrikĂ« e veçantĂ« ose shumĂ« me filtrimin pĂ«rmes shprehjeve tĂ« rregullta. NĂ« shembullin tim, fusha Item pĂ«rmban shprehjen: "/(^linja 1)|(prania)|(kabab)|/" â kjo do tĂ« thotĂ«: tĂ« pĂ«rzgjidhen tĂ« gjitha metrikat, emri i tĂ« cilave fillon saktĂ«sisht me "linja 1" ose pĂ«rmban fjalĂ«n "prania" ose pĂ«rmban fjalĂ«n "kabab".

Shembulli i konfigurimit të kërkesës për të dhënat e motorëve të linjës së parë dhe praninë e lëndëve të para.
Transformimi i të dhënave
Të dhënat fillestare mund të mos jenë gjithmonë në formën që na nevojitet për t'i paraqitur. Për shembull, kemi të dhëna çdo minutë për peshën e produktit në enë (kg), dhe na nevojitet të paraqitim shpejtësinë e mbushjes në t/ora. Unë bëj këtë në mënyrën e mëposhtme: marr të dhënat për peshën dhe i transformoj me funksionin delta të Grafana, i cili llogarit ndryshimin midis vlerave të metrikës, kështu pesha aktuale kthehet në kg/min. Pastaj e shumëzoj me 0.06 për të sjellë rezultatin në ton/kohë. Duke qenë se metrika e peshës përdoret në disa kërkesa, e caktova një pseudonim të ri për të (setAlias) dhe do ta përdor këtë në rregullin e vizualizimit.

Shembulli i përdorimit të parametrave delta dhe faktorëve të shumimit dhe rinovimin e emrit të metrikës në kërkesë.
Ja njĂ« shembull tjetĂ«r tĂ« transformimit tĂ« tĂ« dhĂ«nave: duhej tĂ« numĂ«roja sasinĂ« e pĂ«rzierjeve (fillimi i ciklit = startup i motorit). Metrika llogaritet mbi bazĂ«n e statusit tĂ« motorit "linja 1 â pompa e shpĂ«larjes nga kĂ«ndi 1 (statusi)". Transformimi: tĂ« dhĂ«nat e metrikĂ«s fillestare ndryshohen me funksionin delta (ndryshimi i vlerave), kĂ«shtu qĂ« nĂ« metrikĂ« do tĂ« ketĂ« vlerĂ«n "+1" pĂ«r fillimin e motorit, "-1" pĂ«r ndalimin dhe "0" kur motori nuk ndryshon statusin e tij. Pastaj i heq tĂ« gjitha vlerat mĂ« tĂ« vogla se 1 dhe i bashkoj. Si rezultat, merrni numrin e aktiveve tĂ« motorit.
![]()
Shembulli i transformimit të të dhënave nga statusi aktual në numrin e aktiveve.
Tani për vizualizimin vetë.
NĂ« cilĂ«simet e shfaqjes, ka njĂ« buton "Edit Draw", i cili hap redaktorin ku mund tĂ« vizatoni skemĂ«n. Ădo objekt nĂ« skemĂ« ka parametrat e tij. PĂ«r shembull, nĂ«se caktoni cilĂ«simet e shkrimit nĂ« redaktor â ato do tĂ« aplikohen nĂ« vizualizimin e tĂ« dhĂ«nave nĂ« Grafana.

Kështu duket redaktori në Draw.io.
Pas ruajtjes së skemës, ajo do të shfaqet në Grafana dhe mund të krijoni rregulla për ndryshimin e elementeve.
Në parametrat () ne përcaktojmë:
- Options â vendoset emri i rregullit (Rule name), emri ose pseudonimi i metrikĂ«s, tĂ« dhĂ«nat e tĂ« cilĂ«s do tĂ« pĂ«rdoren (Apply to metrics). Lloji i agregimit tĂ« tĂ« dhĂ«nave (Aggregation) ndikon nĂ« rezultatin pĂ«rfundimtar tĂ« metrikĂ«s, kĂ«shtu Last â do tĂ« thotĂ« se do tĂ« zgjedhet vlera mĂ« fundit, avg â mesatarja pĂ«r periudhĂ«n e zgjedhur nĂ« kĂ«ndin e sipĂ«rm tĂ« djathtĂ«.
- Thresholds â parametri i vlerave prag, pĂ«rshkruan logjikĂ«n e aplikimit tĂ« ngjyrave, pra ngjyra e zgjedhur do tĂ« aplikohet nĂ« elementĂ«t nĂ« skemĂ« nĂ« varĂ«si tĂ« tĂ« dhĂ«nave tĂ« metrikĂ«s. NĂ« shembullin tim, me vlerĂ«n e metrikave "0" â statusi "Ok" ngjyra do tĂ« jetĂ« e gjelbĂ«r, me vlerĂ«n ">1" statusi Critical dhe ngjyra do tĂ« jetĂ« e kuqe.
- Color/Tooltip Mappings" dhe "Label/Text Mappings" â zgjedhja e elementit tĂ« skemĂ«s dhe skenari i sjelljes sĂ« tij. NĂ« skenarin e parĂ« objekti do tĂ« jetĂ« i mbushur, nĂ« tĂ« dytin â do tĂ« ketĂ« tekst me tĂ« dhĂ«na nga metrika. PĂ«r tĂ« zgjedhur objektin nĂ« skemĂ« duhet tĂ« klikoni shenjĂ«n e zinxhirit dhe tĂ« klikoni me miun nĂ« skemĂ«.

Në këtë shembull unë mbush pompen dhe arrow e saj me ngjyrë të kuqe nëse ajo punon dhe me ngjyrë të gjelbër nëse jo.
Me ndihmën e plugin-it flowcharting arrij të vizatoj skemën e të gjithë linjës, në të cilën:
- ndryshon ngjyrën e agregateve në përputhje me statusin e tyre.
- ka sinjalizim për mungesën e produktit në enë.
- shfaqet cilësimi i frekuencave të motorëve.
- shpejtësia e mbushjes/shtypjes së enës së parë.
- numërohet numri i cikleve të punës së linjës (përzierjet).

Vizualizimi i funksionimit të linjës prodhuese.
Rezultati
E vetmja gjĂ« mĂ« e vĂ«shtirĂ« pĂ«r mua ishte tĂ« merrja tĂ« dhĂ«nat nga kontrolluesit. FalĂ« universialitetit tĂ« Zabbix-it pĂ«r marrjen e tĂ« dhĂ«nave dhe fleksibilitetit tĂ« Grafana-s pĂ«rmes plugins, mjaftuan vetĂ«m disa ditĂ« pĂ«r tĂ« krijuar njĂ« ekran kompleks monitorimi tĂ« linjĂ«s sĂ« prodhimit. Vizualizimi ofroi mundĂ«sinĂ« e shikimit tĂ« grafikĂ«ve dhe statistikave tĂ« gjendjeve, plus akses i lehtĂ« pĂ«rmes web-it pĂ«r tĂ« gjithĂ« tĂ« interesuarit â e gjitha kjo mundĂ«soi identifikimin e shpejtĂ« tĂ« vendeve tĂ« ngushta dhe pĂ«rdorimin e paefektshĂ«m tĂ« agregateve.
Përfundimi
Më pëlqeu shumë kombinimi Zabbix+Grafana dhe rekomandoj të kushtoni vëmendje në të, nëse keni nevojë për të përpunuar shpejt të dhënat nga kontrollorët ose sensorët pa programim ose implementim të produkteve të ndërlikuara komerciale. Sigurisht, kjo nuk do të zëvendësojë sistemet profesionale SCADA, por do të mjaftojë si një mjet për monitorimin qendror të gjithë prodhimit.
Burimi: habr.com
