Grafana+Zabbix: Visualisasi operasi lini produksi

Pada artikel ini saya ingin berbagi pengalaman saya menggunakan sistem open source Zabbix dan Grafana untuk memvisualisasikan pengoperasian jalur produksi. Informasi ini mungkin berguna bagi mereka yang mencari cara cepat untuk menampilkan atau menganalisis data yang dikumpulkan secara visual dalam proyek otomasi industri atau IoT. Artikel ini bukanlah tutorial mendetail, melainkan konsep sistem pemantauan berbasis perangkat lunak sumber terbuka untuk pabrik.

Toolkit

Zabbix – kami telah menggunakannya sejak lama untuk memantau infrastruktur TI pabrik. Sistem ini ternyata sangat nyaman dan serbaguna sehingga kami mulai memasukkan data dari jalur produksi, sensor, dan pengontrol ke dalamnya. Hal ini memungkinkan kami mengumpulkan semua data metrik di satu tempat, membuat grafik sederhana mengenai konsumsi sumber daya dan kinerja peralatan, namun kami benar-benar kekurangan analitik dan grafik yang indah.

grafana adalah alat yang ampuh untuk analitik dan visualisasi data. Sejumlah besar plugin memungkinkan Anda mengambil data dari berbagai sumber (zabbix, clickhouse, influxDB), memprosesnya dengan cepat (menghitung nilai rata-rata, jumlah, selisih, dll.) dan menggambar semua jenis grafik (dari garis sederhana, speedometer, tabel hingga diagram kompleks ).

Draw.io – layanan yang memungkinkan Anda menggambar dari diagram blok sederhana hingga denah lantai di editor online. Ada banyak template siap pakai dan objek gambar. Data dapat diekspor ke semua format grafik utama atau xml.

Menyatukan semuanya

Ada banyak artikel yang ditulis tentang cara menginstal dan mengkonfigurasi Grafana dan Zabbix, saya akan memberi tahu Anda tentang poin-poin konfigurasi utama.

Sebuah "node jaringan" (host) dibuat di server Zabbix, yang akan memiliki "elemen data" (item) dengan metrik dari sensor kami. Dianjurkan untuk memikirkan nama node dan elemen data terlebih dahulu dan membuatnya terstruktur mungkin, karena kita akan mengaksesnya dari grafana melalui ekspresi reguler. Pendekatan ini nyaman karena Anda bisa mendapatkan data dari sekelompok elemen dengan satu permintaan.

Untuk mengkonfigurasi grafana Anda perlu menginstal plugin tambahan:

  • Zabbix oleh Alexander Zobnin (alexanderzobnin-zabbix-app) – integrasi dengan zabbix
  • natel-discrete-panel – plugin untuk visualisasi diskrit pada grafik horizontal
  • pierosavi-imageit-panel – plugin untuk menampilkan data di atas gambar Anda
  • agenty-flowcharting-panel – plugin untuk visualisasi dinamis diagram dari draw.io

Integrasi dengan Zabbix sendiri dikonfigurasi di grafana, item menu ConfigurationData sourceZabbix. Di sana Anda perlu menentukan alamat server api zabbix, ini yang saya punya http://zabbix.local/zabbix/api_jsonrpc.php, dan login dengan kata sandi untuk akses. Jika semuanya dilakukan dengan benar, saat menyimpan pengaturan akan ada pesan dengan nomor versi api: zabbix API version: 5.0.1

Membuat Dasbor

Di sinilah keajaiban Grafana dan pluginnya dimulai.

Plugin panel diskrit Natel
Kami memiliki data tentang status motor di saluran (berfungsi = 1, tidak berfungsi =0). Dengan menggunakan grafik diskrit, kita dapat menggambar skala yang menunjukkan: status mesin, berapa menit/jam atau % mesin bekerja dan seberapa sering dihidupkan.

Grafana+Zabbix: Visualisasi operasi lini produksi
Visualisasi status mesin

Menurut pendapat saya, ini adalah salah satu grafik terbaik untuk memvisualisasikan kinerja perangkat keras. Anda dapat langsung melihat sudah berapa lama tidak digunakan dan dalam mode apa ia lebih sering bekerja. Datanya bisa banyak, bisa diagregasi berdasarkan rentang, diubah berdasarkan nilai (jika nilainya β€œ1”, maka tampilkan sebagai β€œON”)

Plugin pierosavi-imageit-panel

Gambarlebih mudah digunakan ketika Anda sudah memiliki diagram atau denah lantai tempat Anda ingin menerapkan data dari sensor. Dalam pengaturan visualisasi, Anda perlu menentukan URL ke gambar dan menambahkan elemen sensor yang Anda perlukan. Elemen tersebut muncul dalam gambar dan dapat ditempatkan di tempat yang diinginkan dengan mouse.

Grafana+Zabbix: Visualisasi operasi lini produksi
Diagram tungku dengan metrik suhu dan tekanan

plugin panel diagram alur agen

Saya ingin berbicara lebih detail tentang pembuatan visualisasi FlowCharting, karena ini adalah alat yang sangat fungsional. Ini memungkinkan Anda membuat diagram mnemonik dinamis, yang elemennya akan bereaksi terhadap nilai metrik (mengubah warna, posisi, nama, dll.).

Menerima data

Pembuatan elemen visualisasi apa pun di Grafana dimulai dengan permintaan data dari sumbernya, dalam kasus kami adalah zabbix. Dengan menggunakan kueri, kita perlu mendapatkan semua metrik yang ingin kita gunakan dalam diagram. Detail metrik adalah nama elemen data di Zabbix; Anda dapat menentukan metrik individual atau kumpulan yang difilter melalui ekspresi reguler. Dalam contoh saya, bidang Item berisi ekspresi: β€œ/(^baris 1)|(ketersediaan)|(zucchini)/” - ini berarti: pilih semua metrik yang namanya dimulai dengan β€œbaris 1” atau berisi kata β€œketersediaan ” atau mengandung kata "zucchini"

Grafana+Zabbix: Visualisasi operasi lini produksi
Contoh setting permintaan data mesin lini pertama dan ketersediaan bahan baku

Konversi data

Sumber data mungkin tidak selalu dalam bentuk yang kita perlukan untuk menampilkannya. Misalnya, kita memiliki data menit demi menit tentang berat suatu produk dalam sebuah wadah (kg), dan kita perlu menampilkan kecepatan pengisian dalam t/jam. Saya melakukannya dengan cara berikut: Saya mengambil data berat dan mengubahnya dengan fungsi grafana delta, yang menghitung selisih antara nilai metrik, sehingga berat saat ini berubah menjadi kg/mnt. Lalu saya kalikan dengan 0.06 untuk mendapatkan hasilnya dalam ton/jam. Karena metrik bobot digunakan dalam beberapa kueri, saya menentukan alias baru untuknya (setAlias) dan akan menggunakannya dalam aturan visualisasi.

Grafana+Zabbix: Visualisasi operasi lini produksi
Contoh penggunaan parameter delta dan pengali serta mengganti nama metrik dalam kueri

Berikut contoh lain dari konversi data: Saya perlu menghitung jumlah batch (awal siklus = mesin menyala). Metrik dihitung berdasarkan status mesin "jalur 1 - pompa pompa dari tangki 1 (status)". Transformasi: kita mengubah data metrik asli dengan fungsi delta (selisih nilai), sehingga metrik tersebut akan bernilai β€œ+1” untuk menghidupkan mesin, β€œ-1” untuk berhenti dan β€œ0” ketika mesin mati. tidak mengubah statusnya. Lalu saya menghapus semua nilai yang kurang dari 1 dan menjumlahkannya. Hasilnya adalah jumlah mesin dihidupkan.

Grafana+Zabbix: Visualisasi operasi lini produksi
Contoh konversi data dari status saat ini ke jumlah permulaan

Sekarang tentang visualisasi itu sendiri

Ada tombol "Edit Gambar" dalam pengaturan tampilan, yang meluncurkan editor tempat Anda dapat menggambar diagram. Setiap objek pada diagram memiliki parameternya sendiri. Misalnya, jika Anda menentukan pengaturan font di editor, pengaturan tersebut akan diterapkan pada visualisasi data di Grafana.

Grafana+Zabbix: Visualisasi operasi lini produksi
Seperti inilah tampilan editor di Draw.io

Setelah diagram disimpan, diagram tersebut akan muncul di grafana dan Anda dapat membuat aturan untuk mengubah elemen.

Dalam parameter() kami menentukan:

  • Opsiβ€”tetapkan nama aturan, nama atau alias metrik yang datanya akan digunakan (Berlaku untuk metrik). Jenis agregasi data (Agregasi) mempengaruhi hasil akhir metrik, jadi Last artinya nilai terakhir yang akan dipilih, avg adalah nilai rata-rata periode yang dipilih di pojok kanan atas.
  • Ambang batas - parameter nilai ambang batas menjelaskan logika penerapan warna, yaitu warna yang dipilih akan diterapkan ke elemen pada diagram tergantung pada data metrik. Pada contoh saya, jika nilai metriknya β€œ0”, maka statusnya adalah β€œOk”, maka warnanya akan menjadi hijau, jika nilainya β€œ>1”, maka statusnya adalah Kritis dan warnanya akan menjadi merah.
  • Pemetaan Warna/Tooltip" dan "Pemetaan Label/Teks" - memilih elemen skema dan skenario perilakunya. Dalam skenario pertama, objek akan dicat, pada skenario kedua, akan ada teks dengan data dari metrik. Untuk memilih objek pada diagram, Anda perlu mengklik tanda sirkuit dan mengklik diagram.

Grafana+Zabbix: Visualisasi operasi lini produksi
Dalam contoh ini, saya mengecat pompa dan panahnya dengan warna merah jika berfungsi dan hijau jika tidak.

Dengan menggunakan plugin flowchart, saya dapat menggambar diagram seluruh baris, di mana:

  1. warna unit berubah sesuai dengan statusnya
  2. ada alarm jika produk tidak ada di dalam wadah
  3. pengaturan frekuensi motor ditampilkan
  4. kecepatan pengisian/pembuangan tangki pertama
  5. jumlah siklus operasi jalur (batch) dihitung

Grafana+Zabbix: Visualisasi operasi lini produksi
Visualisasi operasi lini produksi

Hasil

Hal tersulit bagi saya adalah mendapatkan data dari pengontrol. Berkat keserbagunaan Zabbix dalam hal penerimaan data dan fleksibilitas Grafana karena plugin, hanya butuh beberapa hari untuk membuat layar pemantauan lini produksi yang komprehensif. Visualisasi memungkinkan untuk melihat grafik dan statistik negara, ditambah akses mudah melalui web untuk semua orang yang berkepentingan - semua ini memungkinkan untuk dengan cepat mengidentifikasi kemacetan dan penggunaan unit yang tidak efisien.

Kesimpulan

Saya sangat menyukai kombinasi Zabbix+Grafana dan saya sarankan untuk memperhatikannya jika Anda perlu memproses data dengan cepat dari pengontrol atau sensor tanpa memprogram atau mengimplementasikan produk komersial yang rumit. Tentu saja, hal ini tidak akan menggantikan sistem SCADA profesional, namun akan cukup sebagai alat untuk pemantauan terpusat terhadap keseluruhan produksi.

Sumber: www.habr.com

Tambah komentar