Grafana+Zabbix: Bildigo de la produktserio

En ĉi tiu artikolo, mi volas kunhavigi mian sperton pri uzado de malfermfontaj sistemoj Zabbix kaj Grafana por bildigi la laboron de produktadlinioj. La informoj povas esti utilaj al tiuj, kiuj serĉas rapidan manieron videble montri aŭ analizi la kolektitajn datumojn en industria aŭtomatigo aŭ IoT-projektoj. La artikolo ne estas detala gvidilo, sed prefere koncepto de monitora sistemo bazita sur malfermkoda programaro por produktadentrepreno.

Ilaro

Zabbikh – ni uzas ĝin delonge por kontroli la IT-infrastrukturon de la planto. La sistemo montriĝis tiel oportuna kaj diverstalenta, ke ni komencis enigi datumojn de produktadlinioj, sensiloj kaj regiloj en ĝin. Ĉi tio permesis al ni kolekti ĉiujn metrikajn datumojn en unu loko, fari simplajn grafikaĵojn pri konsumo de rimedoj kaj ekipaĵa agado, sed vere mankis al ni analizoj kaj belaj grafikaĵoj.

grafana estas potenca ilo por analizo kaj datuma bildigo. Granda nombro da kromprogramoj permesas preni datumojn de diversaj fontoj (zabbix, clickhouse, influxDB), prilabori ĝin sur la flugo (kalkuli la mezumon, sumon, diferencon, ktp.) kaj desegni ĉiajn grafikaĵojn (el simplaj linioj, rapidometroj). , tabeloj al kompleksaj diagramoj ).

Draw.io - servo, kiu permesas vin desegni interretan redaktilon de simpla blokdiagramo al etaĝa plano. Estas multaj pretaj ŝablonoj kaj desegnitaj objektoj. Datumoj povas esti eksportitaj al ĉiuj ĉefaj grafikaj formatoj aŭ xml.

Kunmetante ĉion

Multaj artikoloj estis skribitaj pri kiel instali kaj agordi Grafana kaj Zabbix, mi parolos pri la ĉefaj punktoj de la agordo.

"Reta nodo" (gastiganto) estas kreita sur la servilo Zabbix, kiu posedos "datumelementojn" (ero) kun metrikoj de niaj sensiloj. Estas konsilinde pripensi la nomojn de nodoj kaj datumelementoj anticipe kaj fari ilin kiel eble plej strukturitaj, ĉar ni aliros ilin de graphana per regulaj esprimoj. Ĉi tiu aliro estas oportuna ĉar vi povas ricevi datumojn de grupo de elementoj per ununura peto.

Por agordi grafana, vi devos instali pliajn kromaĵojn:

  • Zabbix de Alexander Zobnin (alexanderzobnin-zabbix-app) - integriĝo kun zabbix
  • natel-discrete-panel - kromaĵo por diskreta bildigo sur horizontala diagramo
  • pierosavi-imageit-panel - kromaĵo por montri datumojn sur via bildo
  • agenty-flowcharting-panel - kromaĵo por dinamika diagrama bildigo de draw.io

La integriĝo kun Zabbix mem estas agordita en grafana, menuero AgordoDatafontojZabbix. Tie vi devas specifi la api-adreson de la servilo zabbix, mi havas ĉi tion http://zabbix.local/zabbix/api_jsonrpc.php, kaj ensaluton kun pasvorto por aliro. Se ĉio estas farita ĝuste, dum konservado de la agordoj, estos mesaĝo kun la api-versia numero: zabbix API-versio: 5.0.1

Kreante Panelon

Ĉi tie komenciĝas la magio mem de grafana kaj ĝiaj kromaĵoj.

natel-diskreta-panela kromaĵo
Ni havas datumojn pri la statoj de motoroj sur la linioj (funkciantaj = 1, ne funkciante =0). Uzante la diskretan grafeon, ni povas desegni skalon, kiu montros: la staton de la motoro, kiom da minutoj / horoj aŭ % ĝi funkciis, kaj kiom ofte ĝi estis startita.

Grafana+Zabbix: Bildigo de la produktserio
Vidigo de stato de motoro

Miaopinie, ĉi tio estas unu el la plej bonaj grafikaĵoj por bildigado de aparataro. Vi povas tuj vidi kiom longe ĝi estas neaktiva, en kiaj reĝimoj ĝi funkcias pli ofte. Povas ekzisti multaj datumoj, eblas kunigi ilin per intervaloj, konverti per valoroj (se la valoro estas "1", tiam montri kiel "ON").

pierosavi-imageit-panela kromaĵo

Bildo estas oportune uzi kiam vi jam havas desegnitan diagramon aŭ planon de la ĉambro, sur kiu vi volas apliki datumojn de sensiloj. En la vidaj agordoj, vi devas specifi la url-adreson por la bildo kaj aldoni la sensilajn elementojn, kiujn vi bezonas. La elemento aperas sur la bildo kaj povas esti metita en la ĝustan lokon per la muso.

Grafana+Zabbix: Bildigo de la produktserio
Skemo de la forno kun temperaturo kaj premometriko

agenty-flowcharting-panela kromaĵo

Mi ŝatus diri al vi pli pri kreado de FlowCharting-bildigo, ĉar ĝi estas nekredeble funkcia ilo. Ĝi permesas vin fari dinamikan mnemonikon, kies elementoj respondos al la valoroj de la metrikoj (ŝanĝi koloron, pozicion, nomon, ktp.).

Akiro de datumoj

La kreado de iu ajn bildiga elemento en grafana komenciĝas per peto pri datumoj de la fonto, en nia kazo ĝi estas zabbix. Uzante demandojn, ni devas akiri ĉiujn metrikojn, kiujn ni volas uzi en la diagramo. Metrikaj detaloj estas la nomoj de datumelementoj en Zabbix, vi povas specifi kaj apartan metrikon kaj aron kun filtrado per regula esprimo. En mia ekzemplo, la kampo Item enhavas la esprimon: "/(^linio 1)|(disponeblo)|(zucchini)/" - tio signifas: elektu ĉiujn metrikojn, kies nomo strikte komenciĝas per "linio 1" aŭ enhavas la vorton "disponeblo". " aŭ enhavas la vorton "zucchini"

Grafana+Zabbix: Bildigo de la produktserio
Ekzemplo de starigo de peto pri datumoj pri la motoroj de la unua linio kaj la havebleco de krudaj materialoj

Konverto de datumoj

La fontaj datumoj eble ne ĉiam estas en la formo en kiu ni devas montri ĝin. Ekzemple, ni havas minuto-post-minute datumojn pri la pezo de produkto en ujo (kg), kaj ni volas montri la plenigrapidecon en t/h. Mi faras tion tiel: mi prenas la pezdatumojn kaj konvertas ĝin per la funkcio delta graphana, kiu kalkulas la diferencon inter la metrikaj valoroj, do la nuna pezo estas konvertita al kg / min. Poste mi multobligas per 0.06 por alporti la rezulton al tunoj/horo. Ĉar la pezometrio estas uzata en multoblaj demandoj, mi donos al ĝi novan kaŝnomon (setAlias) kaj uzos ĝin en la redona regulo.

Grafana+Zabbix: Bildigo de la produktserio
Ekzemplo de uzado de la delta parametro kaj multiplikilo kaj renomado de metriko en demando

Jen alia ekzemplo de transformo de datumoj: Mi bezonis kalkuli la nombron da aroj (ciklo-komenco = motoro-komenco). La metriko estas kalkulita surbaze de la motorstato "linio 1 - tanko pumpilo 1 (stato)". Transformo: ni ŝanĝas la datumojn de la originala metriko per la delta funkcio (valordiferenco), do la metriko havos la valoron "+1" por starti la motoron, "-1" por halti kaj "0" kiam la motoro ne ŝanĝi ĝian statuson. Tiam mi forigas ĉiujn valorojn malpli ol 1 kaj resumas ilin. La rezulto estas la nombro da motoraj ekfunkcioj.

Grafana+Zabbix: Bildigo de la produktserio
Ekzemplo de konvertado de datumoj de aktuala stato al nombro da komencoj

Nun pri la vidado mem

En la agordoj de ekrano estas butono "Redakti Desegnon", ĝi lanĉas redaktilon en kiu vi povas desegni diagramon. Ĉiu objekto sur la diagramo havas siajn proprajn parametrojn. Ekzemple, se vi specifas tiparajn agordojn en la redaktilo, ili estos aplikitaj al datuma bildigo en grafana.

Grafana+Zabbix: Bildigo de la produktserio
Jen kiel aspektas la redaktilo en Draw.io

Post konservi la skemon, ĝi aperos en la graphana kaj eblos krei regulojn por ŝanĝi elementojn.

En la parametroj () ni specifas:

  • Opcioj - agordu la nomon de la regulo (Regulnomo), la nomon aŭ kaŝnomo de la metriko, kies datumoj estos uzataj (Apliki al metrikoj). La tipo de datuma agregado (Agregado) influas la finan rezulton de la metriko, do Laste signifas, ke la lasta valoro estos elektita, avg signifas la averaĝan valoron por la periodo elektita en la supra dekstra angulo.
  • Sojloj - parametro de sojlaj valoroj priskribas la logikon de kolora aplikado, tio estas, la elektita koloro aperos al la elementoj de la diagramo, depende de la metrikaj datumoj. En mia ekzemplo, se la metrika valoro estas "0", la statuso estos "Bone", la koloro estos verda, se la valoro estas ">1", la statuso estos Kritika kaj la koloro estos ruĝa.
  • Koloro/Konsileto-Mapadoj" kaj "Etikedo/Teksto-Mapado" - elekto de cirkvitelemento kaj ĝia kondutscenaro. En la unua scenaro, la objekto estos pentrita, en la dua - ĝi havos tekston kun datumoj de la metriko. Por elekti objekton sur la diagramo, vi devas premi la cirkvitan signon kaj klaki sur la diagramo per la muso.

Grafana+Zabbix: Bildigo de la produktserio
En ĉi tiu ekzemplo, mi pentras la pumpilon kaj ĝian sagon ruĝe se ĝi funkcias kaj verda se ĝi ne funkcias.

Helpe de la fluodiagramo kromaĵo, mi sukcesis desegni diagramon de la tuta linio, sur kiu:

  1. la koloro de la agregaĵoj ŝanĝiĝas laŭ ilia stato
  2. estas alarmo por la manko de produkto en ujoj
  3. motorfrekvenca agordo estas montrata
  4. plenigo/elŝuta indico de la unua tanko
  5. la nombro da linio-operaciaj cikloj (batch) estas kalkulita

Grafana+Zabbix: Bildigo de la produktserio
Bildigo de la produktadlinio

rezulto

La plej malfacila parto por mi estis ricevi la datumojn de la regiloj. Danke al la ĉiuflankeco de Zabbix rilate al akiro de datumoj kaj la fleksebleco de Grafana per aldonaĵoj, daŭris nur kelkajn tagojn por krei ampleksan ekranon por monitori la produktan linion. La bildigo ebligis vidi grafikaĵojn kaj statusstatistikojn, kaj plie facilan aliron per la reto al iu ajn interesita - ĉio ĉi ebligis rapide identigi proplempunktojn kaj malefikan uzon de agregaĵoj.

konkludo

Mi tre ŝatis la pakaĵon Zabbix + Grafana kaj mi rekomendas atenti ĝin se vi bezonas rapide prilabori datumojn de regiloj aŭ sensiloj sen programi aŭ efektivigi kompleksajn komercajn produktojn. Kompreneble, ĉi tio ne anstataŭigos profesiajn SCADA-sistemojn, sed ĝi sufiĉos kiel ilo por centralizita monitorado de la tuta produktado.

fonto: www.habr.com

Aldoni komenton