Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija

Å ajā rakstā vēlos dalÄ«ties pieredzē par atvērtā pirmkoda sistēmu Zabbix un Grafana izmantoÅ”anu, lai vizualizētu ražoÅ”anas lÄ«niju darbÄ«bu. Informācija var bÅ«t noderÄ«ga tiem, kas meklē ātru veidu, kā vizuāli parādÄ«t vai analizēt savāktos datus rÅ«pnieciskās automatizācijas vai IoT projektos. Raksts nav detalizēta apmācÄ«ba, bet gan koncepcija par uzraudzÄ«bas sistēmu, kuras pamatā ir atvērtā pirmkoda programmatÅ«ra ražotnei.

RÄ«kkopa

Zabbix ā€“ mēs to izmantojam jau ilgu laiku, lai uzraudzÄ«tu rÅ«pnÄ«cas IT infrastruktÅ«ru. Sistēma izrādÄ«jās tik ērta un universāla, ka sākām tajā ievadÄ«t datus no ražoÅ”anas lÄ«nijām, sensoriem un kontrolieriem. Tas ļāva mums apkopot visus metrikas datus vienuviet, izveidot vienkārÅ”us resursu patēriņa un aprÄ«kojuma veiktspējas grafikus, taču mums patieŔām trÅ«ka analÄ«tikas un skaistu grafiku.

grafana ir spēcÄ«gs analÄ«tikas un datu vizualizācijas rÄ«ks. Liels skaits spraudņu ļauj iegÅ«t datus no dažādiem avotiem (zabbix, clickhouse, influxDB), apstrādāt tos lidojuma laikā (aprēķināt vidējo vērtÄ«bu, summu, starpÄ«bu utt.) un zÄ«mēt visu veidu grafikus (no vienkārŔām lÄ«nijām, spidometri, tabulas lÄ«dz sarežģītām diagrammām).

Draw.io ā€“ pakalpojums, kas ļauj zÄ«mēt no vienkārÅ”as blokshēmas lÄ«dz stāva plānam tieÅ”saistes redaktorā. Ir daudz gatavu veidņu un zÄ«mētu objektu. Datus var eksportēt uz visiem galvenajiem grafikas formātiem vai xml.

Visu to apvienojot

Ir daudz rakstu par to, kā instalēt un konfigurēt Grafana un Zabbix, es jums pastāstÄ«Å”u par galvenajiem konfigurācijas punktiem.

Zabbix serverÄ« tiek izveidots ā€œtÄ«kla mezglsā€ (resursdators), kuram piederēs ā€œdatu elementiā€ (vienumi) ar mÅ«su sensoru metriku. Ieteicams iepriekÅ” pārdomāt mezglu un datu elementu nosaukumus un padarÄ«t tos pēc iespējas strukturētākus, jo mēs tiem piekļūsim no grafana, izmantojot regulāras izteiksmes. Å Ä« pieeja ir ērta, jo ar vienu pieprasÄ«jumu var iegÅ«t datus no elementu grupas.

Lai konfigurētu grafana, jums būs jāinstalē papildu spraudņi:

  • Aleksandra Zobņina Zabbix (alexanderzobnin-zabbix-app) ā€“ integrācija ar zabbix
  • natel-discrete-panel ā€“ spraudnis diskrētai vizualizācijai horizontālā grafikā
  • pierosavi-imageit-panel ā€” spraudnis datu parādÄ«Å”anai attēla augÅ”pusē
  • agenty-flowcharting-panel ā€“ spraudnis diagrammas dinamiskai vizualizācijai no draw.io

Pati integrācija ar Zabbix ir konfigurēta grafana izvēlnes vienumā ConfigurationData sourcesZabbix. Tur jānorāda api zabbix servera adrese, tāda man ir http://zabbix.local/zabbix/api_jsonrpc.php, un piesakieties ar paroli, lai piekļūtu. Ja viss ir izdarīts pareizi, saglabājot iestatījumus, tiks parādīts ziņojums ar api versijas numuru: zabbix API versija: 5.0.1

Informācijas paneļa izveide

Šeit sākas Grafana un tās spraudņu burvība.

Natel diskrēta paneļa spraudnis
Mums ir dati par motoru stāvokli uz līnijām (strādā = 1, nedarbojas = 0). Izmantojot diskrēto grafiku, mēs varam uzzīmēt skalu, kurā būs redzams: dzinēja statuss, cik minūtes/stundas vai % tas strādāja un cik bieži tas tika iedarbināts.

Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija
Dzinēja statusu vizualizācija

Manuprāt, Å”is ir viens no labākajiem grafikiem aparatÅ«ras veiktspējas vizualizÄ“Å”anai. Uzreiz var redzēt, cik ilgi ir bijis dÄ«kstāvē un kādos režīmos strādā biežāk. Datu var bÅ«t daudz, tos var apkopot pa diapazoniem, pārveidot pēc vērtÄ«bām (ja vērtÄ«ba ir ā€œ1, tad parādÄ«t to kā ā€œONā€)

Spraudnis pierosavi-imageit-panel

Imageit ir ērti lietot, ja jums jau ir uzzÄ«mēta diagramma vai stāva plāns, kurā vēlaties lietot datus no sensoriem. Vizualizācijas iestatÄ«jumos ir jānorāda attēla URL un jāpievieno nepiecieÅ”amie sensora elementi. Elements parādās attēlā un ar peli to var novietot vēlamajā vietā.

Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija
Krāsns diagramma ar temperatūras un spiediena metriku

spraudnis agenty-flowcharting-panel

Es vēlētos sīkāk pastāstīt par FlowCharting vizualizācijas izveidi, jo tas ir neticami funkcionāls rīks. Tas ļauj izveidot dinamisku mnemonisku diagrammu, kuras elementi reaģēs uz metrikas vērtībām (mainīt krāsu, pozīciju, nosaukumu utt.).

Datu saņemÅ”ana

Jebkura vizualizācijas elementa izveide programmā Grafana sākas ar datu pieprasÄ«jumu no avota, mÅ«su gadÄ«jumā tas ir zabbix. Izmantojot vaicājumus, mums ir jāiegÅ«st visa metrika, ko mēs vēlamies izmantot diagrammā. Metrikas informācija ir Zabbix datu elementu nosaukumi; varat norādÄ«t atseviŔķu metriku vai kopu, kas filtrēta, izmantojot regulāro izteiksmi. Manā piemērā laukā Vienums ir izteiciens: "/(^rinda 1)|(pieejamÄ«ba)|(cukini)/" ā€” tas nozÄ«mē: atlasiet visus rādÄ«tājus, kuru nosaukums sākas ar "rindu 1" vai satur vārdu "pieejamÄ«ba". ā€ vai satur vārdu ā€œcukiniā€

Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija
Piemērs datu pieprasījuma izveidei par pirmās rindas dzinējiem un izejvielu pieejamību

Datu konvertēŔana

Avota dati ne vienmēr var bÅ«t tādā formā, kādā mums tie jāparāda. Piemēram, mums ir minÅ«ti pa minÅ«ti dati par produkta svaru traukā (kg), un mums ir jāuzrāda uzpildes ātrums t/stundā. Es to daru Ŕādi: ņemu svara datus un pārveidoju tos ar funkciju grafana delta, kas aprēķina starpÄ«bu starp metriskajām vērtÄ«bām, tāpēc paÅ”reizējais svars pārvērÅ”as kg/min. Tad es reizinu ar 0.06, lai iegÅ«tu rezultātu tonnās/stundā. Tā kā svara metrika tiek izmantota vairākos vaicājumos, es norādÄ«ju tam jaunu aizstājvārdu (setAlias) un izmantoÅ”u to vizualizācijas noteikumā.

Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija
Piemērs parametra delta un reizinātāja izmantoÅ”anai un metrikas pārdēvÄ“Å”anai vaicājumā

Å eit ir vēl viens datu konvertÄ“Å”anas piemērs: man vajadzēja saskaitÄ«t partiju skaitu (cikla sākums = dzinēja iedarbināŔana). Metrika tiek aprēķināta, pamatojoties uz motora stāvokli "1. lÄ«nija - sÅ«kņa sÅ«knis no tvertnes 1 (statuss)". Transformācija: mēs mainām sākotnējās metrikas datus ar delta funkciju (vērtÄ«bu starpÄ«ba), tāpēc metrikai bÅ«s vērtÄ«ba ā€œ+1ā€ motora iedarbināŔanai, ā€œ-1ā€ apturÄ“Å”anai un ā€œ0ā€, kad dzinējs to iedarbina. nemaina savu statusu. Tad es noņemu visas vērtÄ«bas, kas ir mazākas par 1, un tās summēju. Rezultāts ir dzinēja palaiÅ”anas reižu skaits.

Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija
Piemērs datu konvertÄ“Å”anai no paÅ”reizējā statusa uz sākumu skaitu

Tagad par paŔu vizualizāciju

Displeja iestatÄ«jumos ir poga ā€œRediģēt zÄ«mējumuā€, kas palaiž redaktoru, kurā var zÄ«mēt diagrammu. Katram objektam diagrammā ir savi parametri. Piemēram, ja redaktorā norādāt fonta iestatÄ«jumus, tie tiks lietoti datu vizualizācijai programmā Grafana.

Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija
Šādi izskatās redaktors vietnē Draw.io

Pēc diagrammas saglabāŔanas tā parādÄ«sies grafānā, un jÅ«s varat izveidot noteikumus elementu maiņai.

Parametros () mēs norādām:

  • Opcijas ā€” iestatiet kārtulas nosaukumu, tās metrikas nosaukumu vai aizstājvārdu, kuras dati tiks izmantoti (Lietot metrikai). Datu apkopoÅ”anas veids (Aggregation) ietekmē metrikas gala rezultātu, tāpēc Pēdējais nozÄ«mē, ka tiks atlasÄ«ta pēdējā vērtÄ«ba, bet vidējā vērtÄ«ba ir augŔējā labajā stÅ«rÄ« atlasÄ«tā perioda vidējā vērtÄ«ba.
  • SliekŔņi - sliekŔņa vērtÄ«bu parametrs apraksta krāsu pielietojuma loÄ£iku, tas ir, izvēlētā krāsa tiks piemērota diagrammas elementiem atkarÄ«bā no metrikas datiem. Manā piemērā, ja metrikas vērtÄ«ba ir ā€œ0ā€, statuss ir ā€œOkā€, krāsa bÅ«s zaļa, ja vērtÄ«ba ir ā€œ>1ā€, statuss bÅ«s Kritisks un krāsa bÅ«s sarkana.
  • Krāsu/rÄ«ka padomu kartējumi" un "EtiÄ·etes/teksta kartējumi" ā€” shēmas elementa un tā darbÄ«bas scenārija atlase. Pirmajā scenārijā objekts tiks nokrāsots, otrajā uz tā bÅ«s teksts ar datiem no metrikas. Lai diagrammā atlasÄ«tu objektu, jums jānoklikŔķina uz ķēdes zÄ«mes un noklikŔķiniet uz diagrammas.

Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija
Šajā piemērā es krāsoju sūkni un tā bultiņu sarkanu, ja tas darbojas, un zaļu, ja tas nedarbojas.

Izmantojot blokshēmas spraudni, es varēju uzzīmēt visas līnijas diagrammu, kurā:

  1. vienību krāsa mainās atbilstoŔi to statusam
  2. ir trauksme par produkta neesamību konteineros
  3. tiek parādīts motora frekvences iestatījums
  4. pirmais tvertnes uzpildes/izmeŔanas ātrums
  5. tiek aprēķināts līnijas darbības ciklu skaits (partija).

Grafana+Zabbix: ražoŔanas līnijas darbības vizualizācija
RažoŔanas līnijas darbības vizualizācija

Piedzīvojiet efektīvu rezultātu spēku

VisgrÅ«tāk man bija iegÅ«t datus no kontrolieriem. Pateicoties Zabbix daudzpusÄ«bai datu saņemÅ”anas ziņā un Grafana elastÄ«bai spraudņu dēļ, bija nepiecieÅ”amas tikai dažas dienas, lai izveidotu visaptveroÅ”u ražoÅ”anas lÄ«nijas uzraudzÄ«bas ekrānu. Vizualizācija ļāva skatÄ«t grafikus un stāvokļa statistiku, kā arÄ« ērtu piekļuvi tÄ«meklÄ« ikvienam interesentam - tas viss ļāva ātri noteikt vājās vietas un neefektÄ«vu mērvienÄ«bu izmantoÅ”anu.

Secinājums

Man ļoti patika Zabbix+Grafana kombinācija un iesaku tai pievērst uzmanÄ«bu, ja nepiecieÅ”ams ātri apstrādāt datus no kontrolleriem vai sensoriem, neprogrammējot un neievieÅ”ot sarežģītus komercproduktus. Protams, tas neaizstās profesionālās SCADA sistēmas, taču ar to pietiks kā instruments visas ražoÅ”anas centralizētai uzraudzÄ«bai.

Avots: www.habr.com

Pievieno komentāru