Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում

Այս հոդվածում ես ուզում եմ կիսվել բաց կոդով Zabbix և Grafana համակարգերի օգտագործման իմ փորձով՝ արտադրական գծերի աշխատանքը պատկերացնելու համար: Տեղեկատվությունը կարող է օգտակար լինել նրանց համար, ովքեր փնտրում են արագ ճանապարհ՝ տեսողականորեն ցուցադրելու կամ վերլուծելու հավաքագրված տվյալները արդյունաբերական ավտոմատացման կամ IoT նախագծերում: Հոդվածը մանրամասն ձեռնարկ չէ, այլ ավելի շուտ՝ արտադրական գործարանի համար բաց կոդով ծրագրաշարի վրա հիմնված մոնիտորինգի համակարգի հայեցակարգ:

Инструментарий

Zabbix- ը – Մենք այն երկար ժամանակ օգտագործում ենք գործարանի ՏՏ ենթակառուցվածքը վերահսկելու համար: Համակարգն այնքան հարմար և համընդհանուր ստացվեց, որ մենք սկսեցինք դրա մեջ մուտքագրել տվյալներ արտադրական գծերից, սենսորներից և կարգավորիչներից: Սա մեզ թույլ տվեց հավաքել չափման բոլոր տվյալները մեկ տեղում, կազմել ռեսուրսների սպառման և սարքավորումների կատարողականի պարզ գրաֆիկներ, սակայն մեզ իսկապես բացակայում էր վերլուծությունը և գեղեցիկ գրաֆիկները:

Գրաֆանա հզոր գործիք է վերլուծության և տվյալների վիզուալիզացիայի համար: Պլագինների մեծ քանակությունը թույլ է տալիս վերցնել տվյալներ տարբեր աղբյուրներից (zabbix, clickhouse, influxDB), անմիջապես մշակել դրանք (հաշվել միջին արժեքը, գումարը, տարբերությունը և այլն) և նկարել բոլոր տեսակի գրաֆիկները (պարզ գծերից, արագաչափեր, աղյուսակներ մինչև բարդ դիագրամներ):

Նկար.io – ծառայություն, որը թույլ է տալիս պարզ բլոկային դիագրամից մինչև հատակագիծ առցանց խմբագրում նկարել: Կան բազմաթիվ պատրաստի կաղապարներ և գծված առարկաներ։ Տվյալները կարող են արտահանվել բոլոր հիմնական գրաֆիկական ձևաչափերով կամ xml:

Այս ամենը միասին դնելով

Կան բազմաթիվ հոդվածներ գրված, թե ինչպես տեղադրել և կարգավորել Grafana-ն և Zabbix-ը, ես ձեզ կասեմ հիմնական կազմաձևման կետերի մասին:

Zabbix սերվերի վրա ստեղծվում է «ցանցային հանգույց» (հոսթ), որը կունենա «տվյալների տարրեր» (տարրեր)՝ մեր սենսորների չափագրմամբ: Ցանկալի է նախօրոք մտածել հանգույցների և տվյալների տարրերի անունները և դրանք հնարավորինս կառուցվածքային դարձնել, քանի որ մենք դրանք մուտք գործելու ենք grafana-ից կանոնավոր արտահայտությունների միջոցով: Այս մոտեցումը հարմար է, քանի որ մեկ խնդրանքով կարող եք տվյալներ ստանալ տարրերի խմբից:

Grafana-ն կարգավորելու համար ձեզ հարկավոր է տեղադրել լրացուցիչ պլագիններ.

  • Zabbix by Alexander Zobnin (alexanderzobnin-zabbix-app) – ինտեգրում zabbix-ի հետ
  • natel-discrete-panel – պլագին հորիզոնական գրաֆիկի վրա դիսկրետ արտացոլման համար
  • pierosavi-imageit-panel – պլագին ձեր պատկերի վերևում տվյալները ցուցադրելու համար
  • agenty-flowcharting-panel – plugin գծապատկերի դինամիկ պատկերացման համար draw.io-ից

Ինտեգրումը Zabbix-ի հետ կազմաձևված է grafana-ում, ընտրացանկի ConfigurationData sourcesZabbix-ում: Այնտեղ դուք պետք է նշեք api zabbix սերվերի հասցեն, սա այն է, ինչ ես ունեմ http://zabbix.local/zabbix/api_jsonrpc.php, և մուտք գործելու համար մուտք գործեք գաղտնաբառով: Եթե ​​ամեն ինչ ճիշտ է արված, կարգավորումները պահելիս հաղորդագրություն կլինի api տարբերակի համարով՝ zabbix API տարբերակ՝ 5.0.1

Վահանակի ստեղծում

Այստեղից է սկսվում Grafana-ի և նրա պլագինների կախարդանքը:

Natel-discrete-panel plugin
Մենք ունենք տվյալներ գծերի վրա շարժիչների կարգավիճակի մասին (աշխատող = 1, չաշխատող =0): Օգտագործելով դիսկրետ գրաֆիկը, մենք կարող ենք գծել սանդղակ, որը ցույց կտա՝ շարժիչի կարգավիճակը, քանի րոպե/ժամ կամ % է այն աշխատել և որքան հաճախ է գործարկվել:

Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում
Շարժիչի կարգավիճակների պատկերացում

Իմ կարծիքով, սա լավագույն գծապատկերներից մեկն է ապարատային կատարողականությունը պատկերացնելու համար: Դուք անմիջապես կարող եք տեսնել, թե որքան ժամանակ է այն անգործության մատնված և ինչ ռեժիմներում է այն ավելի հաճախ աշխատում: Կարող են լինել շատ տվյալներ, հնարավոր է դրանք համախմբել ըստ տիրույթների, փոխակերպել դրանք ըստ արժեքների (եթե արժեքը «1» է, ապա ցուցադրել որպես «ON»)

Plugin pierosavi-imageit-panel

Պատկերը հարմար է օգտագործել, երբ արդեն ունեք գծված դիագրամ կամ հատակագիծ, որի վրա ցանկանում եք կիրառել սենսորների տվյալները: Վիզուալիզացիայի կարգավորումներում դուք պետք է նշեք նկարի URL-ը և ավելացրեք ձեզ անհրաժեշտ սենսորային տարրերը: Տարրը հայտնվում է նկարում և մկնիկի օգնությամբ կարող է տեղադրվել ցանկալի տեղում։

Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում
Վառարանների դիագրամ ջերմաստիճանի և ճնշման ցուցանիշներով

agenty-flowcharting-panel plugin

Կցանկանայի ավելի մանրամասն խոսել FlowCharting վիզուալիզացիայի ստեղծման մասին, քանի որ այն անհավանական ֆունկցիոնալ գործիք է։ Այն թույլ է տալիս կատարել դինամիկ մնեմոնիկ դիագրամ, որի տարրերը կարձագանքեն չափումների արժեքներին (փոխել գույնը, դիրքը, անունը և այլն):

Տվյալների ստացում

Վիզուալիզացիայի ցանկացած տարրի ստեղծումը Grafana-ում սկսվում է աղբյուրից տվյալների խնդրանքով, մեր դեպքում դա zabbix է: Օգտագործելով հարցումները, մենք պետք է ստանանք բոլոր չափիչները, որոնք ցանկանում ենք օգտագործել դիագրամում: Մետրային մանրամասները Zabbix-ում տվյալների տարրերի անուններն են: Դուք կարող եք նշել կա՛մ անհատական ​​չափանիշ, կա՛մ սովորական արտահայտության միջոցով զտված հավաքածու: Իմ օրինակում Item դաշտը պարունակում է արտահայտությունը. կամ պարունակում է «ցուկկինի» բառը

Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում
Առաջին գծի շարժիչների և հումքի առկայության վերաբերյալ տվյալների հարցման ձևավորման օրինակ

Տվյալների փոխակերպում

Աղբյուրի տվյալները միշտ չէ, որ կարող են լինել այն ձևով, որով մենք պետք է ցուցադրենք դրանք: Օրինակ, մենք ունենք րոպե առ րոպե տվյալներ տարայի մեջ ապրանքի քաշի մասին (կգ), և մենք պետք է ցուցադրենք լցման արագությունը տ/ժամով: Ես դա անում եմ հետևյալ կերպ՝ վերցնում եմ քաշի տվյալները և փոխակերպում այն ​​grafana delta ֆունկցիայի միջոցով, որը հաշվարկում է մետրային արժեքների տարբերությունը, ուստի ընթացիկ քաշը վերածվում է կգ/րոպե։ Հետո ես բազմապատկում եմ 0.06-ով, որպեսզի արդյունքը ստացվի տոննա/ժամով: Քանի որ քաշի չափիչն օգտագործվում է մի քանի հարցումներում, ես դրա համար նշում եմ նոր կեղծանուն (setAlias) և այն կօգտագործեմ վիզուալիզացիայի կանոնում:

Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում
Դելտա և բազմապատկիչ պարամետրի օգտագործման և հարցումում չափանիշը վերանվանելու օրինակ

Ահա տվյալների փոխակերպման ևս մեկ օրինակ. ես պետք է հաշվեի խմբաքանակների քանակը (ցիկլի սկիզբ = շարժիչի մեկնարկ): Չափանիշը հաշվարկվում է շարժիչի կարգավիճակի հիման վրա «տող 1 - պոմպ պոմպ տանկ 1-ից (կարգավիճակ)»: Փոխակերպում. սկզբնական չափման տվյալները փոխում ենք եռանկյուն ֆունկցիայով (արժեքների տարբերություն), այնպես որ մետրիկը կունենա «+1» արժեքը շարժիչը գործարկելու համար, «-1»՝ կանգառի համար և «0», երբ շարժիչը չփոխել իր կարգավիճակը. Այնուհետև ես հանում եմ 1-ից փոքր բոլոր արժեքները և գումարում դրանք: Արդյունքը շարժիչի մեկնարկների քանակն է:

Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում
Տվյալների ընթացիկ կարգավիճակից մեկնարկների քանակի փոխակերպման օրինակ

Հիմա ինքնին վիզուալիզացիայի մասին

Ցուցադրման կարգավորումներում կա «Խմբագրել նկարը» կոճակը, այն գործարկում է խմբագիր, որտեղ կարող եք գծապատկեր նկարել: Դիագրամի յուրաքանչյուր օբյեկտ ունի իր պարամետրերը: Օրինակ, եթե խմբագրում նշեք տառատեսակի կարգավորումները, դրանք կկիրառվեն Grafana-ում տվյալների վիզուալիզացիայի համար:

Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում
Ահա թե ինչ տեսք ունի խմբագիրը Draw.io-ում

Դիագրամը պահպանելուց հետո այն կհայտնվի grafana-ում և կարող եք ստեղծել տարրեր փոխելու կանոններ:

Պարամետրերում () մենք նշում ենք.

  • Ընտրանքներ - սահմանեք կանոնի անունը, անունը կամ այլանունը այն չափման համար, որի տվյալները կօգտագործվեն (Կիրառել չափումների համար): Տվյալների համախմբման տեսակը (Aggregation) ազդում է չափման վերջնական արդյունքի վրա, ուստի Last նշանակում է, որ վերջին արժեքը կընտրվի, միջին արժեքը վերին աջ անկյունում ընտրված ժամանակաշրջանի միջին արժեքն է:
  • Շեմեր - շեմային արժեքների պարամետրը նկարագրում է գունային կիրառման տրամաբանությունը, այսինքն՝ ընտրված գույնը կկիրառվի դիագրամի տարրերի վրա՝ կախված մետրային տվյալներից: Իմ օրինակում, եթե չափման արժեքը «0» է, կարգավիճակը՝ «Լավ», գույնը կլինի կանաչ, եթե արժեքը «>1», կարգավիճակը կլինի Կրիտիկական, իսկ գույնը՝ կարմիր:
  • Color/Tooltip Mappings» և «Label/Text Mappings» - ընտրելով սխեմայի տարրը և դրա վարքագծի սցենարը: Առաջին սցենարում օբյեկտը կնկարվի, երկրորդում՝ դրա վրա կլինի տեքստ՝ չափման տվյալների հետ: Դիագրամի վրա օբյեկտ ընտրելու համար հարկավոր է սեղմել սխեմայի նշանը և սեղմել դիագրամի վրա:

Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում
Այս օրինակում ես ներկում եմ պոմպը և նրա սլաքը կարմիր, եթե այն աշխատում է, և կանաչ, եթե այն չի աշխատում:

Օգտագործելով flowcharting plugin-ը, ես կարողացա նկարել ամբողջ գծի դիագրամը, որի վրա.

  1. միավորների գույնը փոխվում է իրենց կարգավիճակին համապատասխան
  2. ահազանգ կա տարաներում ապրանքի բացակայության մասին
  3. ցուցադրվում է շարժիչի հաճախականության կարգավորումը
  4. առաջին տանկի լցման/թափման արագությունը
  5. հաշվարկվում է գծի շահագործման ցիկլերի քանակը (խմբաքանակ):

Grafana+Zabbix. Արտադրական գծի շահագործման պատկերացում
Արտադրական գծի շահագործման պատկերացում

Արդյունք

Ինձ համար ամենադժվարը վերահսկիչներից տվյալներ ստանալն էր։ Տվյալների ստացման առումով Zabbix-ի բազմակողմանիության և պլագինների շնորհիվ Grafana-ի ճկունության շնորհիվ ընդամենը մի քանի օր պահանջվեց արտադրական գծի մոնիտորինգի համապարփակ էկրան ստեղծելու համար: Վիզուալիզացիան հնարավորություն տվեց դիտել գրաֆիկները և վիճակագրությունը, ինչպես նաև համացանցի միջոցով հեշտ հասանելիություն բոլոր հետաքրքրվածներին. այս ամենը հնարավորություն տվեց արագ բացահայտել խցանումները և միավորների անարդյունավետ օգտագործումը:

Ամփոփում

Ինձ շատ դուր եկավ Zabbix+Grafana համադրությունը, և ես խորհուրդ եմ տալիս ուշադրություն դարձնել դրան, եթե ձեզ անհրաժեշտ է արագ մշակել կարգավորիչներից կամ սենսորներից ստացված տվյալները՝ առանց ծրագրավորման կամ բարդ կոմերցիոն արտադրանքի ներդրման: Իհարկե, դա չի փոխարինի պրոֆեսիոնալ SCADA համակարգերին, բայց այն բավարար կլինի որպես ամբողջ արտադրության կենտրոնացված մոնիտորինգի գործիք:

Source: www.habr.com

Добавить комментарий