Grafana+Zabbix: Visualització de la línia de producció

En aquest article, vull compartir la meva experiència d'utilitzar sistemes Zabbix i Grafana de codi obert per visualitzar el treball de les línies de producció. La informació pot ser útil per a aquells que busquen una manera ràpida de mostrar o analitzar visualment les dades recopilades en projectes d'automatització industrial o IoT. L'article no és una guia detallada, sinó un concepte de sistema de monitorització basat en programari de codi obert per a una empresa de fabricació.

Kit d’eines

Zabbix – Fa temps que l'utilitzem per controlar la infraestructura informàtica de la planta. El sistema va resultar ser tan còmode i versàtil que vam començar a introduir-hi dades de línies de producció, sensors i controladors. Això ens va permetre recollir totes les dades de mètriques en un sol lloc, fer gràfics senzills de consum de recursos i rendiment de l'equip, però realment ens faltaven analítiques i gràfics bonics.

Grafana és una eina potent per a l'anàlisi i la visualització de dades. Un gran nombre de connectors permeten agafar dades de diverses fonts (zabbix, clickhouse, influxDB), processar-les sobre la marxa (calcular la mitjana, suma, diferència, etc.) i dibuixar tot tipus de gràfics (des de línies simples, velocímetres). , taules a diagrames complexos).

Draw.io - un servei que us permet dibuixar en un editor en línia des d'un simple diagrama de blocs fins a un plànol de planta. Hi ha moltes plantilles ja fetes i objectes dibuixats. Les dades es poden exportar a tots els formats gràfics principals o xml.

Tot plegat

S'han escrit molts articles sobre com instal·lar i configurar Grafana i Zabbix, parlaré dels punts principals de la configuració.

Es crea un "node de xarxa" (amfitrió) al servidor Zabbix, que serà el propietari dels "elements de dades" (element) amb mètriques dels nostres sensors. És aconsellable pensar amb antelació els noms dels nodes i els elements de dades i fer-los el més estructurats possible, ja que hi accedirem des de graphana mitjançant expressions regulars. Aquest enfocament és convenient perquè podeu obtenir dades d'un grup d'elements amb una sola sol·licitud.

Per configurar grafana, haureu d'instal·lar connectors addicionals:

  • Zabbix d'Alexander Zobnin (alexanderzobnin-zabbix-app) - integració amb zabbix
  • natel-discrete-panel: connector per a una visualització discreta en un gràfic horitzontal
  • pierosavi-imageit-panel - connector per mostrar dades a la part superior de la imatge
  • agenty-flowcharting-panel: connector per a la visualització de diagrames dinàmics de draw.io

La integració amb el mateix Zabbix es configura a grafana, element de menú Configuració fonts de dadesZabbix. Allà heu d'especificar l'adreça de l'API del servidor zabbix, tinc això http://zabbix.local/zabbix/api_jsonrpc.php, i un inici de sessió amb una contrasenya per accedir. Si tot es fa correctament, en desar la configuració, apareixerà un missatge amb el número de versió de l'API: zabbix Versió de l'API: 5.0.1

Creació d'un tauler de control

Aquí és on comença la mateixa màgia de grafana i els seus complements.

connector natel-discrete-panel
Tenim dades sobre l'estat dels motors a les línies (funcionant = 1, no funcionant =0). Mitjançant el gràfic discret, podem dibuixar una escala que ens mostrarà: l'estat del motor, quants minuts/hores o % ha funcionat i amb quina freqüència s'ha posat en marxa.

Grafana+Zabbix: Visualització de la línia de producció
Visualització de l'estat del motor

Al meu entendre, aquest és un dels millors gràfics per visualitzar el rendiment del maquinari. Podeu veure immediatament quant de temps està inactiu, en quins modes funciona més sovint. Pot haver-hi moltes dades, és possible agregar-les per intervals, convertir-les per valors (si el valor és "1", llavors es mostra com a "ON")

connector pierosavi-imageit-panel

La imatge és convenient utilitzar-la quan ja teniu un diagrama dibuixat o un plànol de l'habitació a la qual voleu aplicar les dades dels sensors. A la configuració de visualització, heu d'especificar l'adreça URL de la imatge i afegir els elements del sensor que necessiteu. L'element apareix a la imatge i es pot col·locar al lloc correcte amb el ratolí.

Grafana+Zabbix: Visualització de la línia de producció
Esquema del forn amb mètriques de temperatura i pressió

connector agenty-flowcharting-panel

M'agradaria explicar-vos més coses sobre la creació d'una visualització de diagrames de flux, ja que és una eina increïblement funcional. Permet fer una mnemotècnica dinàmica, els elements del qual respondran als valors de les mètriques (canviar de color, posició, nom, etc.).

Obtenció de dades

La creació de qualsevol element de visualització a grafana comença amb una sol·licitud de dades a la font, en el nostre cas és zabbix. Mitjançant consultes, hem d'obtenir totes les mètriques que volem utilitzar al diagrama. Els detalls de mètriques són els noms dels elements de dades a Zabbix, podeu especificar tant una mètrica separada com un conjunt amb filtratge mitjançant una expressió regular. Al meu exemple, el camp Element conté l'expressió: "/(^línia 1)|(disponibilitat)|(carbassó)/" - això vol dir: seleccioneu totes les mètriques el nom de les quals comenci estrictament per "línia 1" o conté la paraula "disponibilitat". " o conté la paraula "carbassó"

Grafana+Zabbix: Visualització de la línia de producció
Un exemple de configuració d'una sol·licitud de dades sobre els motors de primera línia i la disponibilitat de matèries primeres

Conversió de dades

És possible que les dades d'origen no sempre tinguin la forma en què les hem de mostrar. Per exemple, tenim dades minut a minut sobre el pes d'un producte en un recipient (kg) i volem mostrar la taxa d'ompliment en t/h. Ho faig d'aquesta manera: agafo les dades del pes i les converto amb la funció delta graphana, que calcula la diferència entre els valors mètrics, de manera que el pes actual es converteix en kg/min. A continuació, multiplico per 0.06 per portar el resultat a tones/hora. Com que la mètrica de pes s'utilitza en diverses consultes, li donaré un nou àlies (setAlias) i l'utilitzaré a la regla de renderització.

Grafana+Zabbix: Visualització de la línia de producció
Un exemple d'ús del paràmetre delta i d'un multiplicador i canvi de nom d'una mètrica en una consulta

Aquí hi ha un altre exemple de transformació de dades: necessitava calcular el nombre de lots (inici del cicle = arrencada del motor). La mètrica es calcula en funció de l'estat del motor "línia 1 - bomba del dipòsit 1 (estat)". Transformació: canviem les dades de la mètrica original amb la funció delta (diferència de valor), de manera que la mètrica tindrà el valor "+1" per engegar el motor, "-1" per aturar-se i "0" quan el motor no ho faci. canviar el seu estat. Llavors elimino tots els valors inferiors a 1 i els resumeixo. El resultat és el nombre d'arrencada del motor.

Grafana+Zabbix: Visualització de la línia de producció
Exemple de conversió de dades de l'estat actual al nombre d'inicis

Ara sobre la visualització en si

A la configuració de la pantalla hi ha un botó "Edita Dibuix", llança un editor en el qual pots dibuixar un diagrama. Cada objecte del diagrama té els seus propis paràmetres. Per exemple, si especifiqueu la configuració del tipus de lletra a l'editor, s'aplicaran a la visualització de dades a grafana.

Grafana+Zabbix: Visualització de la línia de producció
Així es veu l'editor a Draw.io

Després de desar l'esquema, apareixerà a la graphana i es podrà crear regles per canviar elements.

En els paràmetres () especifiquem:

  • Opcions: definiu el nom de la regla (Nom de la regla), el nom o l'àlies de la mètrica les dades de la qual s'utilitzaran (Aplica a les mètriques). El tipus d'agregació de dades (Agregació) afecta el resultat final de la mètrica, de manera que Last significa que es seleccionarà l'últim valor, avg significa el valor mitjà del període seleccionat a l'extrem superior dret.
  • Llindars: paràmetre de valor llindar, descriu la lògica de l'aplicació del color, és a dir, el color seleccionat s'aplicarà als elements del diagrama, en funció de les dades mètriques. En el meu exemple, si el valor de la mètrica és "0", l'estat serà "D'acord", el color serà verd, si el valor és ">1", l'estat serà Crític i el color serà vermell.
  • Mapes de color/informació d'eina” i “Mapatges d'etiquetes/text”: selecció d'un element de circuit i el seu escenari de comportament. En el primer escenari, l'objecte es pintarà, en el segon, tindrà text amb dades de la mètrica. Per seleccionar un objecte del diagrama, cal prémer el signe del circuit i fer clic al diagrama amb el ratolí.

Grafana+Zabbix: Visualització de la línia de producció
En aquest exemple, estic pintant la bomba i la seva fletxa vermella si funciona i verda si no.

Amb l'ajuda del connector de diagrames de flux, vaig aconseguir dibuixar un diagrama de tota la línia, on:

  1. el color dels agregats canvia segons el seu estat
  2. hi ha una alarma per la manca de producte als envasos
  3. Es mostra la configuració de freqüència del motor
  4. velocitat d'ompliment/descàrrega del primer dipòsit
  5. es compta el nombre de cicles de funcionament de línia (lot).

Grafana+Zabbix: Visualització de la línia de producció
Visualització de la línia de producció

Resultat

El més difícil per a mi va ser obtenir les dades dels controladors. Gràcies a la versatilitat de Zabbix pel que fa a l'adquisició de dades i la flexibilitat de Grafana a través de complements, només va trigar un parell de dies a crear una pantalla completa per supervisar la línia de producció. La visualització va permetre visualitzar gràfics i estadístiques d'estat, a més d'un fàcil accés via web per a qualsevol persona interessada; tot això va permetre identificar ràpidament els colls d'ampolla i l'ús ineficient dels agregats.

Conclusió

Em va agradar molt el paquet Zabbix + Grafana i us recomano parar-hi atenció si necessiteu processar ràpidament dades dels controladors o sensors sense programar ni implementar productes comercials complexos. Per descomptat, això no substituirà els sistemes SCADA professionals, però n'hi haurà prou com a eina per al control centralitzat de tota la producció.

Font: www.habr.com

Afegeix comentari