Grafana+Zabbix: Өндүрүш линиясынын визуализациясы

Бул макалада мен Zabbix жана Grafana ачык булак системаларын колдонуу тажрыйбам менен бөлүшкүм келип, өндүрүш линияларынын иштешин визуализациялоо үчүн. Маалымат өнөр жай автоматташтыруу же IoT долбоорлорунда чогултулган маалыматтарды визуалдык түрдө көрсөтүүнүн же талдоонун тез жолун издегендер үчүн пайдалуу болушу мүмкүн. Макала деталдуу окуу куралы эмес, тескерисинче, өндүрүштүк ишкана үчүн ачык булактуу программалык камсыздоого негизделген мониторинг тутумунун концепциясы.

аспаптар

Апенди – Биз аны көптөн бери заводдун IT-инфраструктурасын көзөмөлдөө үчүн колдонуп келебиз. Система ушунчалык ыңгайлуу жана универсалдуу болуп чыкты, биз ага өндүрүш линияларынан, сенсорлордон жана контроллерлордон маалыматтарды киргизе баштадык. Бул бардык метрикалык маалыматтарды бир жерден чогултууга, ресурстарды керектөөнүн жана жабдуулардын иштешинин жөнөкөй графиктерин түзүүгө мүмкүндүк берди, бирок бизде чындап эле аналитика жана кооз графиктер жетишпей жатты.

Графана аналитика жана маалыматтарды визуалдаштыруу үчүн күчтүү курал болуп саналат. Көптөгөн плагиндер ар кандай булактардан (zabbix, clickhouse, influxDB) маалыматтарды алууга, аны ыкчам иштеп чыгууга (орточо маанини, сумманы, айырманы ж.б. эсептөөгө) жана графиктердин бардык түрлөрүн (жөнөкөй сызыктардан, спидометрлер, татаал диаграммаларга таблицалар).

draw.io – онлайн редактордо жөнөкөй блок-схемадан кабат планына чейин тартууга мүмкүндүк берүүчү сервис. Көптөгөн даяр шаблондор жана чийилген объекттер бар. Маалыматтарды бардык негизги графикалык форматтарга же xmlге экспорттоого болот.

Баарын чогултуу

Grafana жана Zabbix орнотуу жана конфигурациялоо боюнча көптөгөн макалалар жазылган, мен негизги конфигурация пункттары жөнүндө айтып берем.

Zabbix серверинде "тармак түйүнү" (хост) түзүлөт, ал биздин сенсорлорубуздун көрсөткүчтөрү менен "маалымат элементтерине" (элементтерге) ээ болот. Түйүндөрдүн жана маалымат элементтеринин аталыштарын алдын ала ойлонуп, аларды мүмкүн болушунча структуралаштыруу сунушталат, анткени биз аларга кадимки туюнтмалар аркылуу графанадан киребиз. Бул ыкма ыңгайлуу, анткени сиз бир суроо менен элементтер тобунан маалыматтарды ала аласыз.

Графананы конфигурациялоо үчүн кошумча плагиндерди орнотуу керек:

  • Zabbix Александр Зобнин тарабынан (alexanderzobnin-zabbix-колдонмо) - zabbix менен интеграция
  • natel-discrete-panel – горизонталдуу графикте дискреттик визуализация үчүн плагин
  • pierosavi-imageit-panel – сүрөтүңүздүн үстүндө маалыматтарды көрсөтүү үчүн плагин
  • agenty-flowcharting-panel – draw.io сайтынан диаграмманы динамикалык визуалдаштыруу үчүн плагин

Zabbix менен интеграция өзү графанада, ConfigurationData sourcesZabbix меню пунктунда конфигурацияланган. Ал жерде сиз api zabbix серверинин дарегин көрсөтүшүңүз керек, бул менде бар http://zabbix.local/zabbix/api_jsonrpc.php, жана кирүү үчүн сырсөз менен кириңиз. Эгер баары туура аткарылса, орнотууларды сактоодо api версиясынын номери бар билдирүү пайда болот: zabbix API версиясы: 5.0.1

Башкаруу тактасын түзүү

Бул жерде Grafana жана анын плагиндеринин сыйкырлары башталат.

Natel-дискреттик панелдик плагин
Бизде линиялардагы моторлордун абалы жөнүндө маалыматтар бар (иштеп жатат = 1, иштебейт = 0). Дискреттик графикти колдонуу менен биз масштабды сызсак болот: кыймылдаткычтын абалы, канча мүнөт/саат же % иштегени жана канча жолу иштетилгени.

Grafana+Zabbix: Өндүрүш линиясынын визуализациясы
Мотор абалдарынын визуализациясы

Менин оюмча, бул аппараттык камсыздоонун иштешин визуалдаштыруу үчүн эң жакшы графиктердин бири. Сиз дароо анын канча убакыт иштебей турганын жана кайсы режимдерде көп иштегенин көрө аласыз. Берилиштер көп болушу мүмкүн, аларды диапазондор боюнча бириктирип, маанилери боюнча өзгөртсө болот (эгерде маани "1" болсо, анда аны "ON" катары көрсөтүңүз)

Plugin pierosavi-imageit-panel

Сүрөттү сенсорлордон алынган маалыматтарды колдонууну каалаган чийилген диаграмма же кабат планы болгондо колдонуу ыңгайлуу. Визуализация орнотууларында сиз сүрөттүн URL дарегин көрсөтүп, керектүү сенсор элементтерин кошушуңуз керек. Элемент сүрөттө пайда болот жана чычкан менен керектүү жерге жайгаштырса болот.

Grafana+Zabbix: Өндүрүш линиясынын визуализациясы
Температура жана басым көрсөткүчтөрү менен мештин диаграммасы

Agenty-flowcharting-панель плагини

Мен FlowCharting визуализациясын түзүү жөнүндө кененирээк айткым келет, анткени бул укмуштуудай функционалдуу курал. Бул динамикалык мнемоникалык диаграмманы түзүүгө мүмкүндүк берет, анын элементтери метрикалардын маанилерине жооп берет (түсү, орду, аталышы ж.б. өзгөртүү).

Маалыматтарды алуу

Grafana-да кандайдыр бир визуализация элементин түзүү булактан маалыматтарды суроо менен башталат, биздин учурда бул zabbix. Сурамдарды колдонуу менен биз диаграммада колдонгубуз келген бардык көрсөткүчтөрдү алышыбыз керек. Метрикалык маалыматтар - Zabbix'теги маалымат элементтеринин аталыштары; сиз жеке метриканы же кадимки туюнтма аркылуу чыпкаланган топтомду көрсөтө аласыз. Менин мисалымда, Элемент талаасында: “/(^1-сап)|(жеткиликтүүлүк)|(кабак)/” туюнтмасы камтылган - бул: аты “1-сап” менен башталган же “жеткиликтүүлүк” деген сөздү камтыган бардык көрсөткүчтөрдү тандоону билдирет. ” же "кабак" деген сөздү камтыйт

Grafana+Zabbix: Өндүрүш линиясынын визуализациясы
Биринчи линиядагы кыймылдаткычтар жана чийки заттардын болушу боюнча маалыматтарга суроо-талапты орнотуунун мисалы

Маалыматтарды конверсиялоо

Булак дайындары дайыма биз аны көрсөтүүгө муктаж болгон формада боло бербейт. Мисалы, бизде бир контейнердеги продуктунун салмагы (кг) боюнча мүнөт сайын маалыматтар бар жана биз толтуруу ылдамдыгын т/саат менен көрсөтүүбүз керек. Мен муну төмөнкүдөй кылам: Мен салмак маалыматтарын алып, аны метрикалык маанилердин ортосундагы айырманы эсептеген графана дельта функциясы менен өзгөртөм, ошондуктан учурдагы салмак кг/минге айланат. Андан кийин тонна/саат менен жыйынтыкты алуу үчүн 0.06га көбөйтөм. Салмак метрикасы бир нече сурамдарда колдонулгандыктан, мен ага жаңы лакап атын (setAlias) көрсөтөм жана аны визуалдаштыруу эрежесинде колдоном.

Grafana+Zabbix: Өндүрүш линиясынын визуализациясы
Суроодо дельта жана көбөйтүүчү параметрди колдонуу жана метриканын атын өзгөртүү мисалы

Бул жерде маалыматтарды конвертациялоонун дагы бир мисалы: мен партиялардын санын санашым керек болчу (циклдин башталышы = кыймылдаткычтын башталышы). Метрика кыймылдаткычтын абалынын негизинде эсептелинет "1-линия - насостун насосу 1 резервуардан (статус)". Трансформация: биз баштапкы метриканын берилиштерин дельта функциясы менен өзгөртөбүз (маанилердин айырмасы), ошондуктан метрика кыймылдаткычты иштетүү үчүн “+1”, токтотуу үчүн “-1” жана кыймылдаткыч иштегенде “0” маанисине ээ болот. анын абалын өзгөртүүгө болбойт. Андан кийин 1ден аз болгон бардык маанилерди алып салып, алардын суммасын чыгарам. Натыйжада кыймылдаткычты ишке киргизүү саны.

Grafana+Zabbix: Өндүрүш линиясынын визуализациясы
Маалыматты учурдагы абалынан башталгычтардын санына которуунун мисалы

Эми визуализациянын өзү жөнүндө

Дисплейдин жөндөөлөрүндө "Түзүүнү түзөтүү" баскычы бар, ал схеманы тарта турган редакторду ишке киргизет. Диаграммадагы ар бир объекттин өзүнүн параметрлери бар. Мисалы, редактордо шрифт жөндөөлөрүн көрсөтсөңүз, алар Grafanaдагы маалыматтарды визуалдаштырууга колдонулат.

Grafana+Zabbix: Өндүрүш линиясынын визуализациясы
Draw.io'до редактор ушундай көрүнөт

Диаграмманы сактагандан кийин, ал графанада пайда болот жана сиз элементтерди өзгөртүү үчүн эрежелерди түзө аласыз.

Parameters()де биз белгилейбиз:

  • Параметрлер — эреженин атын, маалыматтары колдонула турган көрсөткүчтүн атын же лакап атын коюңуз (Өлчөмгө колдонуу). Берилиштерди топтоо түрү (Агрегация) метриканын акыркы натыйжасына таасир этет, ошондуктан Акыркы акыркы маани тандалаарын билдирет, ort - жогорку оң бурчта тандалган мезгил үчүн орточо маани.
  • Босолор - босого маанилеринин параметри түс колдонуу логикасын сүрөттөйт, башкача айтканда, тандалган түс метрикалык маалыматтарга жараша диаграммадагы элементтерге колдонулат. Менин мисалымда, эгерде метрикалык маани "0" болсо, абал "Ok" болсо, түс жашыл болот, эгер маани ">1" болсо, абал Критикалык жана түс кызыл болот.
  • Color/Tooltip Mappings" жана "Этикетка/Текст Карталары" - схема элементин жана анын жүрүм-туруму үчүн сценарийди тандоо. Биринчи сценарийде объект сырдалат, экинчисинде метрикадан алынган маалыматтар менен текст болот. Диаграммадагы объектти тандоо үчүн схеманын белгисин басып, диаграмманы басышыңыз керек.

Grafana+Zabbix: Өндүрүш линиясынын визуализациясы
Бул мисалда мен насосту жана анын жебеси иштесе кызыл түскө боёп, иштебесе жашыл түскө боёйм.

Блокчартинг плагининин жардамы менен мен бүт сызыктын диаграммасын тарта алдым, ага:

  1. бирдиктердин түсү алардын абалына жараша өзгөрөт
  2. идиштерде продуктулардын жоктугу үчүн сигнал бар
  3. мотор жыштыгын орнотуу көрсөтүлөт
  4. биринчи резервуарды толтуруу/тампинг ылдамдыгы
  5. линиянын иштешинин (партиясынын) циклдеринин саны эсептелет

Grafana+Zabbix: Өндүрүш линиясынын визуализациясы
Өндүрүш линиясынын ишинин визуализациясы

жыйынтык

Мен үчүн эң кыйыны контролерлордон маалымат алуу болду. Zabbixтин маалыматтарды алуу жагынан ар тараптуулугу жана плагиндерден улам Grafana ийкемдүүлүгүнүн аркасында комплекстүү өндүрүш линиясын көзөмөлдөө экранын түзүү үчүн бир нече гана күн талап кылынды. Визуализация графиктерди жана мамлекеттик статистиканы көрүүгө, ошондой эле кызыккандардын бардыгына веб аркылуу оңой жетүү мүмкүнчүлүгүн берди - мунун баары тоскоолдуктарды жана бирдиктердин натыйжасыз колдонулушун тез аныктоого мүмкүндүк берди.

жыйынтыктоо

Мага Zabbix+Grafana айкалышы абдан жакты жана мен ага көңүл бурууну сунуштайм, эгерде сизге контроллерлордон же сенсорлордон алынган маалыматтарды программалоосуз же татаал коммерциялык продуктыларды ишке ашыруусуз тез иштетүү керек болсо. Албетте, бул кесипкөй SCADA системаларын алмаштыра албайт, бирок ал бүт өндүрүшкө борборлоштурулган мониторинг үчүн курал катары жетиштүү болот.

Source: www.habr.com

Комментарий кошуу