Grafana + Zabbix: تصور خط الإنتاج

في هذه المقالة ، أريد أن أشارك تجربتي في استخدام أنظمة Zabbix و Grafana مفتوحة المصدر لتصور عمل خطوط الإنتاج. قد تكون المعلومات مفيدة لأولئك الذين يبحثون عن طريقة سريعة لعرض أو تحليل البيانات المجمعة بصريًا في الأتمتة الصناعية أو مشاريع إنترنت الأشياء. المقالة ليست دليلاً مفصلاً ، بل هي مفهوم لنظام مراقبة يعتمد على برنامج مفتوح المصدر لمؤسسة تصنيع.

أدوات

Zabbix - لقد استخدمناه لفترة طويلة لمراقبة البنية التحتية لتكنولوجيا المعلومات في المصنع. اتضح أن النظام مريح للغاية ومتعدد الاستخدامات لدرجة أننا بدأنا في إدخال البيانات من خطوط الإنتاج وأجهزة الاستشعار ووحدات التحكم فيه. سمح لنا ذلك بجمع جميع بيانات المقاييس في مكان واحد ، وإنشاء رسوم بيانية بسيطة لاستهلاك الموارد وأداء المعدات ، لكننا افتقرنا حقًا إلى التحليلات والرسوم البيانية الجميلة.

جرافانا هي أداة قوية للتحليلات وتصور البيانات. يسمح لك عدد كبير من المكونات الإضافية بأخذ البيانات من مصادر مختلفة (zabbix ، clickhouse ، influxDB) ، ومعالجتها على الفور (حساب المتوسط ​​، والجمع ، والفرق ، وما إلى ذلك) ورسم جميع أنواع الرسوم البيانية (من خطوط بسيطة ، وعدادات السرعة) والجداول إلى المخططات المعقدة).

Draw.io - خدمة تسمح لك برسم محرر عبر الإنترنت من مخطط كتلة بسيط إلى مخطط طابق. هناك العديد من القوالب الجاهزة والأشياء المرسومة. يمكن تصدير البيانات إلى جميع تنسيقات الرسوم الرئيسية أو xml.

وضع كل ذلك معا

تمت كتابة الكثير من المقالات حول كيفية تثبيت وتهيئة Grafana و Zabbix ، سأتحدث عن النقاط الرئيسية للتكوين.

يتم إنشاء "عقدة الشبكة" (مضيف) على خادم Zabbix ، والذي سيمتلك "عناصر البيانات" (عنصر) مع مقاييس من أجهزة الاستشعار لدينا. يُنصح بالتفكير في أسماء العقد وعناصر البيانات مسبقًا وجعلها منظمة قدر الإمكان ، حيث سنصل إليها من graphana من خلال التعبيرات العادية. هذا الأسلوب مناسب لأنه يمكنك الحصول على بيانات من مجموعة عناصر بطلب واحد.

لتكوين برنامج grafana ، ستحتاج إلى تثبيت مكونات إضافية:

  • Zabbix بواسطة Alexander Zobnin (alexanderzobnin-zabbix-app) - التكامل مع zabbix
  • natel-discrete-panel - البرنامج المساعد للتصور المنفصل على مخطط أفقي
  • pierosavi-imageit-panel - مكون إضافي لعرض البيانات أعلى صورتك
  • agenty-flowcharting-panel - البرنامج المساعد لتصور الرسم التخطيطي الديناميكي من 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
لدينا بيانات عن حالات المحركات على الخطوط (العمل = 1 ، لا يعمل = 0). باستخدام الرسم البياني المنفصل ، يمكننا رسم مقياس يوضح: حالة المحرك ، وعدد الدقائق / الساعات أو النسبة المئوية التي تم تشغيلها ، وعدد مرات بدء تشغيله.

Grafana + Zabbix: تصور خط الإنتاج
تصور حالة المحرك

في رأيي ، يعد هذا أحد أفضل الرسوم البيانية لتصور أداء الأجهزة. يمكنك أن ترى على الفور مدة الخمول ، وفي أي أوضاع تعمل في كثير من الأحيان. يمكن أن يكون هناك الكثير من البيانات ، ومن الممكن تجميعها حسب النطاقات ، والتحويل حسب القيم (إذا كانت القيمة "1" ، ثم عرضها على أنها "تشغيل")

المكوّن الإضافي pierosavi-imageit-panel

يعد Imageit مناسبًا للاستخدام عندما يكون لديك بالفعل رسم تخطيطي مرسوم أو مخطط للغرفة التي تريد تطبيق البيانات عليها من أجهزة الاستشعار. في إعدادات التصور ، تحتاج إلى تحديد عنوان url للصورة وإضافة عناصر الاستشعار التي تحتاجها. يظهر العنصر في الصورة ويمكن وضعه في المكان المناسب باستخدام الماوس.

Grafana + Zabbix: تصور خط الإنتاج
مخطط الفرن مع مقاييس درجة الحرارة والضغط

agenty-flowcharting-panel plugin

أود أن أخبركم المزيد عن إنشاء تصور مخطط FlowCharting ، لأنه أداة وظيفية بشكل لا يصدق. يتيح لك إنشاء ذاكرة ديناميكية ، ستستجيب عناصرها لقيم المقاييس (تغيير اللون ، والموضع ، والاسم ، وما إلى ذلك).

الحصول على البيانات

يبدأ إنشاء أي عنصر مرئي في grafana بطلب للحصول على بيانات من المصدر ، وفي حالتنا هو zabbix. باستخدام الاستعلامات ، نحتاج إلى الحصول على جميع المقاييس التي نريد استخدامها في الرسم التخطيطي. تفاصيل المقاييس هي أسماء عناصر البيانات في Zabbix ، يمكنك تحديد كل من مقياس منفصل ومجموعة مع التصفية من خلال تعبير عادي. في المثال الخاص بي ، يحتوي حقل العنصر على التعبير: "/ (^ سطر 1) | (مدى التوفر) | (كوسة) /" - وهذا يعني: حدد جميع المقاييس التي يبدأ اسمها بصرامة بـ "السطر 1" أو يحتوي على كلمة "التوفر" "أو يحتوي على كلمة" كوسة "

Grafana + Zabbix: تصور خط الإنتاج
مثال على إعداد طلب بيانات عن محركات الخط الأول وتوافر المواد الخام

تحويل البيانات

قد لا تكون بيانات المصدر دائمًا بالشكل الذي نحتاج إلى عرضها به. على سبيل المثال ، لدينا بيانات دقيقة بدقيقة عن وزن منتج في حاوية (كجم) ، ونريد عرض معدل التعبئة بوحدة t / h. أفعل ذلك بهذه الطريقة: آخذ بيانات الوزن وأقوم بتحويلها باستخدام دالة delta graphana التي تحسب الفرق بين القيم المترية ، بحيث يتم تحويل الوزن الحالي إلى kg / min. ثم أضرب في 0.06 ليصبح الناتج طن / ساعة. نظرًا لاستخدام مقياس الوزن في استعلامات متعددة ، سأعطيه اسمًا مستعارًا جديدًا (setAlias) وأستخدمه في قاعدة العرض.

Grafana + Zabbix: تصور خط الإنتاج
مثال على استخدام معلمة دلتا ومضاعف وإعادة تسمية مقياس في استعلام

فيما يلي مثال آخر لتحويل البيانات: كنت بحاجة لحساب عدد الدُفعات (بدء الدورة = بدء المحرك). يتم حساب المقياس بناءً على حالة المحرك "السطر 1 - مضخة الخزان 1 (الحالة)". التحول: نقوم بتغيير بيانات المقياس الأصلي باستخدام دالة دلتا (فرق القيمة) ، لذلك سيكون للمقياس القيمة "+1" لبدء تشغيل المحرك ، و "-1" للتوقف و "0" عندما لا يكون المحرك تغيير وضعها. ثم أزيل جميع القيم الأقل من 1 وألخصها. والنتيجة هي عدد مرات بدء تشغيل المحرك.

Grafana + Zabbix: تصور خط الإنتاج
مثال على تحويل البيانات من الحالة الحالية إلى عدد البدايات

الآن حول التصور نفسه

في إعدادات العرض يوجد زر "تحرير الرسم" ، يقوم بتشغيل محرر يمكنك من خلاله رسم مخطط. كل كائن في الرسم التخطيطي له معلماته الخاصة. على سبيل المثال ، إذا حددت إعدادات الخط في المحرر ، فسيتم تطبيقها على تصور البيانات في grafana.

Grafana + Zabbix: تصور خط الإنتاج
هذا ما يبدو عليه المحرر في Draw.io

بعد حفظ المخطط ، سيظهر في graphana وسيكون من الممكن إنشاء قواعد لتغيير العناصر.

في المعلمات () نحدد:

  • الخيارات - عيّن اسم القاعدة (اسم القاعدة) ، الاسم أو الاسم المستعار للمقياس الذي ستُستخدم بياناته (تنطبق على المقاييس). يؤثر نوع تجميع البيانات (التجميع) على النتيجة النهائية للمقياس ، لذا فإن القيمة الأخيرة تعني أنه سيتم تحديد القيمة الأخيرة ، يعني متوسط ​​قيمة الفترة المحددة في الزاوية اليمنى العليا.
  • العتبات - معلمة قيم العتبة ، تصف منطق تطبيق اللون ، أي ، سيتم تطبيق اللون المحدد على العناصر الموجودة في الرسم التخطيطي ، اعتمادًا على البيانات المترية. في المثال الخاص بي ، إذا كانت قيمة المقاييس هي "0" ، فستكون الحالة "موافق" ، وسيكون اللون أخضر ، وإذا كانت القيمة "> 1" ، فستكون الحالة حرجة واللون أحمر.
  • تعيينات اللون / تلميح الأدوات "و" تعيينات التسمية / النص "- اختيار عنصر الدائرة وسيناريو سلوكه. في السيناريو الأول ، سيتم رسم الكائن ، في السيناريو الثاني - سيكون به نص يحتوي على بيانات من المقياس. لتحديد كائن في الرسم التخطيطي ، تحتاج إلى الضغط على علامة الدائرة والنقر فوق الرسم التخطيطي بالماوس.

Grafana + Zabbix: تصور خط الإنتاج
في هذا المثال ، أرسم المضخة وسهمها باللون الأحمر إذا كانت تعمل والأخضر إذا لم تكن تعمل.

بمساعدة المكوّن الإضافي flowcharting ، تمكنت من رسم رسم تخطيطي للخط بأكمله ، حيث:

  1. يتغير لون المجاميع حسب حالتها
  2. هناك إنذار لنقص المنتج في الحاويات
  3. يتم عرض إعداد تردد المحرك
  4. معدل تعبئة / تفريغ الخزان الأول
  5. يتم حساب عدد دورات تشغيل الخط (الدُفعة)

Grafana + Zabbix: تصور خط الإنتاج
تصور خط الإنتاج

نتيجة

كان الجزء الأصعب بالنسبة لي هو الحصول على البيانات من وحدات التحكم. بفضل تعدد استخدامات Zabbix من حيث الحصول على البيانات ومرونة Grafana من خلال المكونات الإضافية ، استغرق الأمر يومين فقط لإنشاء شاشة شاملة لمراقبة خط الإنتاج. أتاح التصور إمكانية عرض الرسوم البيانية وإحصائيات الحالة ، بالإضافة إلى سهولة الوصول عبر الويب لأي شخص مهتم - كل هذا جعل من الممكن تحديد الاختناقات والاستخدام غير الفعال للتجمعات بسرعة.

اختتام

لقد أحببت حقًا حزمة Zabbix + Grafana وأوصي بالاهتمام بها إذا كنت بحاجة إلى معالجة البيانات بسرعة من وحدات التحكم أو أجهزة الاستشعار دون برمجة أو تنفيذ منتجات تجارية معقدة. بالطبع ، لن يحل هذا محل أنظمة SCADA الاحترافية ، ولكنه سيكون كافيًا كأداة للمراقبة المركزية للإنتاج بأكمله.

المصدر: www.habr.com

إضافة تعليق