Artikulu honetan Zabbix eta Grafana kode irekiko sistemak erabiltzearen esperientzia partekatu nahi dut produkzio-lerroen funtzionamendua ikusteko. Informazioa baliagarria izan daiteke industri automatizazio edo IoT proiektuetan bildutako datuak bisualki bistaratzeko edo aztertzeko modu azkar bat bilatzen dutenentzat. Artikulua ez da tutorial zehatza, fabrikazio planta baterako kode irekiko softwarean oinarritutako monitorizazio sistema baten kontzeptua baizik.
tresnak
Zabbix β aspalditik erabiltzen dugu plantako informatika-azpiegituraren jarraipena egiteko. Sistema hain erosoa eta unibertsala izan zen, non ekoizpen-lerro, sentsore eta kontrolagailuetako datuak sartzen hasi ginen bertan. Horri esker, neurketa-datu guztiak leku bakarrean biltzea ahalbidetu genuen, baliabideen kontsumoaren eta ekipoen errendimenduaren grafiko sinpleak egiteko, baina analitika eta grafiko ederrak falta zitzaizkigun.
Grafana analitika eta datuak bistaratzeko tresna indartsua da. Plugin kopuru handi batek hainbat iturritatik (zabbix, clickhouse, influxDB) datuak hartzeko aukera ematen du, berehala prozesatu (batez besteko balioa, batura, aldea, etab. kalkulatu) eta era guztietako grafikoak marraztu (lerro sinpleetatik, abiadura-neurgailuak, taulak diagrama konplexuetara).
Draw.io β bloke-diagrama soil batetik oinplano batera marraztu ahal izateko online editore batean aukera ematen duen zerbitzua. Prest egindako txantiloi eta marraztutako objektu asko daude. Datuak formatu grafiko edo xml nagusi guztietara esporta daitezke.
Elkarrekin jartzea
Grafana eta Zabbix nola instalatu eta konfiguratu buruz idatzitako artikulu asko daude, konfigurazio puntu nagusien berri emango dizuet.
Zabbix zerbitzarian "sare-nodoa" (ostalaria) sortzen da, gure sentsoreen metrikekin "datu-elementuak" (elementuak) izango dituena. Nodoen eta datu-elementuen izenak aldez aurretik pentsatzea eta ahalik eta egituratuena egitea komeni da, grafanatik adierazpen erregularren bidez sartuko baikara. Ikuspegi hau erosoa da, eskaera bakarrarekin elementu talde bateko datuak lor ditzakezulako.
Grafana konfiguratzeko plugin gehigarriak instalatu beharko dituzu:
- Alexander Zobnin-en Zabbix (alexanderzobnin-zabbix-app) - zabbix-ekin integratzea
- natel-discrete-panel β grafiko horizontal batean bistaratzeko plugina
- pierosavi-imageit-panel - zure irudiaren gainean datuak bistaratzeko plugina
- agenty-flowcharting-panel - draw.io-ko diagrama bat bistaratzeko plugina
Zabbix-ekin berarekin integrazioa grafana-n konfiguratuta dago, menu-elementuan ConfigurationData sourcesZabbix. Bertan api zabbix zerbitzariaren helbidea zehaztu behar duzu, hau da dudana
Arbel bat sortzea
Hemen hasten da Grafanaren magia eta bere pluginak.
Natel-discrete-panel plugina
Lineetan motorren egoerari buruzko datuak ditugu (lanean = 1, ez dabil =0). Grafiko diskretua erabiliz, honako hauek erakutsiko dituen eskala marraztu dezakegu: motorraren egoera, zenbat minutu/ordu edo % funtzionatu duen eta zenbat aldiz martxan jarri den.
Motor-egoeren bistaratzea
Nire ustez, hau da hardwarearen errendimendua ikusteko grafiko onenetako bat. Berehala ikus dezakezu zenbat denbora egon den inaktibo eta zein modutan funtzionatzen duen maizago. Datu asko egon daitezke, barrutien arabera batzea posible da, balioen arabera eraldatzea (balioa "1" bada, "ON" gisa bistaratu.
Plugin pierosavi-imageit-panel
Irudia erosoa da jadanik marraztutako diagrama edo oinplano bat daukazunean, sentsoreen datuak aplikatu nahi dituzunean. Bistaratze-ezarpenetan, irudiaren URLa zehaztu eta behar dituzun sentsore-elementuak gehitu behar dituzu. Elementua irudian agertzen da eta nahi duzun lekuan jar daiteke saguarekin.
Labearen diagrama tenperatura eta presioaren metrikekin
Agenty-flowcharting-panelaren plugina
Xehetasun gehiagorekin hitz egin nahiko nuke FlowCharting bisualizazioa sortzeari buruz, tresna izugarri funtzional bat baita. Diagrama mnemoniko dinamiko bat egiteko aukera ematen du, zeinaren elementuek metrikaren balioen aurrean erreakzionatuko duten (kolorea, posizioa, izena, etab. aldatu).
Datuak jasotzea
Grafanan edozein bistaratze-elementu sortzea iturritik datuen eskaerarekin hasten da, gure kasuan zabbix da. Kontsultak erabiliz, diagraman erabili nahi ditugun metrika guztiak lortu behar ditugu. Metrikaren xehetasunak Zabbixeko datu-elementuen izenak dira; metrika indibidual bat edo adierazpen erregular baten bidez iragazitako multzo bat zehaztu dezakezu. Nire adibidean, Elementuaren eremuak esamoldea dauka: β/(^lerroa 1)|(erabilgarritasuna)|(kalabazin)/β - honek esan nahi du: hautatu neurketa guztiak zeinen izena zorrozki "1 lerroarekin" hasten den edo "eskuragarritasuna" hitza daukatenak. β edo βkalabazinβ hitza dauka
Lehen lerroko motorretan eta lehengaien erabilgarritasunari buruzko datu eskaera ezartzearen adibidea
Datuen bihurketa
Baliteke iturburuko datuak ez egotea beti bistaratu behar ditugun moduan. Adibidez, ontzi batean produktu baten pisuari buruzko minutuz minutuko datuak ditugu (kg), eta betetze-tasa t/orduko bistaratu behar dugu. Honela egiten dut: pisuaren datuak hartu eta grafana delta funtzioarekin eraldatzen dut, balio metrikoen arteko aldea kalkulatzen baitu, beraz, egungo pisua kg/min bihurtzen da. Ondoren, 0.06z biderkatzen dut emaitza tona/orduko lortzeko. Pisuaren metrika hainbat kontsultatan erabiltzen denez, alias berri bat zehazten dut (setAlias) eta bistaratze-arauan erabiliko dut.
Kontsulta batean delta eta biderkatzailearen parametroa erabiltzeko eta metrika izena aldatzearen adibidea
Hona hemen datuen bihurketaren beste adibide bat: lote kopurua zenbatu behar nuen (zikloaren hasiera = motorra abiaraztea). Neurria "1. lerroa - 1. deposituko ponpa ponpa (egoera)" motorraren egoeraren arabera kalkulatzen da. Transformazioa: delta funtzioarekin (balioen aldea) jatorrizko metrikaren datuak aldatzen ditugu, beraz, metrikak β+1β balioa izango du motorra abiarazteko, β-1β gelditzeko eta β0β motorra egiten duenean. ez du bere egoera aldatu. Ondoren, 1 baino gutxiagoko balio guztiak kentzen ditut eta batu. Emaitza motor abiarazte kopurua da.
Datuak uneko egoeratik abiarazte kopurura bihurtzeko adibide bat
Orain bistaratzeari buruz
Pantailaren ezarpenetan "Editatu marrazkia" botoia dago; editore bat abiarazten du eta bertan diagrama bat marraztu dezakezu. Diagramako objektu bakoitzak bere parametroak ditu. Adibidez, letra-tipoaren ezarpenak editorean zehazten badituzu, Grafana-n datuen bistaratzeari aplikatuko zaizkio.
Hau da editoreak Draw.io-n
Diagrama gorde ondoren, grafanan agertuko da eta elementuak aldatzeko arauak sor ditzakezu.
Parameters()-n zehazten dugu:
- Aukerak: ezarri arauaren izena, zeinaren datuak erabiliko diren metrikaren izena edo aliasa (Aplikatu metriketan). Datuen agregazio motak (Aggregation) metrikaren azken emaitzan eragiten du, beraz, Azkenak esan nahi du azken balioa hautatuko dela, batez bestekoa goiko eskuineko izkinan hautatutako aldiaren batez besteko balioa.
- Atalaseak - atalase-balioen parametroak kolore aplikazioaren logika deskribatzen du, hau da, hautatutako kolorea diagramako elementuei aplikatuko zaie datu metrikoen arabera. Nire adibidean, metrikaren balioa "0" bada, egoera "Ok" da, kolorea berdea izango da, balioa ">1" bada, egoera Kritikoa izango da eta kolorea gorria.
- Kolore/tresnaren mapak" eta "Etiketa/Testu mapak" - eskema-elementu bat eta bere portaerarako eszenatoki bat hautatzea. Lehenengo eszenatokian, objektua margotuko da, bigarrenean, metrikako datuekin testua egongo da. Diagramako objektu bat hautatzeko, zirkuituaren zeinuan klik egin eta diagraman klik egin behar duzu.
Adibide honetan, ponpa eta bere gezia gorriz margotzen ditut funtzionatzen badu eta berdez ez badu.
Fluxu-diagramako plugina erabiliz, lerro osoaren diagrama bat marraztu ahal izan nuen, eta bertan:
- unitateen kolorea aldatzen da haien egoeraren arabera
- ontzietan produkturik ez egoteagatik alarma dago
- motorraren maiztasunaren ezarpena bistaratzen da
- lehen depositua bete/isurketa abiadura
- linearen funtzionamenduaren ziklo-kopurua (batch) kalkulatzen da
Produkzio-lerroaren funtzionamenduaren bistaratzea
Emaitza
Niretzat zailena kontrolagailuetatik datuak lortzea izan zen. Zabbix-en aldakortasunari esker datuak jasotzeari dagokionez eta pluginen ondorioz Grafanak duen malgutasunari esker, pare bat egun besterik ez ziren behar izan ekoizpen-lerroen monitorizazio pantaila integral bat sortzeko. Bistaratzeak grafikoak eta egoera-estatistikak ikustea ahalbidetu zuen, eta sarearen bidez erraz sartzeko aukera izan zuen interesa duten guztientzat; horrek guztiak ahalbidetu zuen botila-lepoak azkar identifikatzea eta unitateen erabilera ez-eraginkorra.
Ondorioa
Zabbix+Grafana konbinazioa asko gustatu zait eta horri arreta jartzea gomendatzen dizut kontrolagailu edo sentsoreen datuak azkar prozesatu behar badituzu, produktu komertzial konplexurik programatu edo ezarri gabe. Noski, honek ez ditu SCADA sistema profesionalak ordezkatuko, baina nahikoa izango da ekoizpen osoaren monitorizazio zentralizatua egiteko tresna gisa.
Iturria: www.habr.com