Saya menjalankan emqttd ( emqtt.io ). Saya ingin memantau koneksi klien dan pemutusan dari proses terpisah yang akan berlangganan ke topik sistem di mana kelahiran dan pesan akan diposting. Apa cara yang tepat untuk melakukan itu?
Saya menjalankan emqttd ( emqtt.io ). Saya ingin memantau koneksi klien dan pemutusan dari proses terpisah yang akan berlangganan ke topik sistem di mana kelahiran dan pesan akan diposting. Apa cara yang tepat untuk melakukan itu?
Jawaban:
Saya ingin memantau koneksi klien dan pemutusan dari proses terpisah yang akan berlangganan ke topik sistem di mana kelahiran dan pesan akan diposting.
Panduan Pengguna emqtt menunjukkan topik sistem yang menawarkan beberapa Statistik Broker, yaitu $SYS/brokers/${node}/stats/clients/count
memberikan hitungan klien yang terhubung saat ini. Perhatikan bahwa ini tidak akan mencantumkan spesifik tentang klien yang terhubung - jadi saya menganggapnya bukan yang dibutuhkan di sini.
Pesan Last Will (LWT, Last Will dan Testament) bukan merupakan topik sistem melainkan topik biasa yang diatur oleh klien saat terhubung. Jika Anda ingin memantau topik itu, cukup berlangganan saja. Namun perlu dicatat bahwa pesan LWT dibuang jika klien terputus dengan anggun dengan mengirimkan pesan PUTUSKAN (lihat blog hiveMQ , btw baca bagus).
Panduan Pengguna emqtt menyajikan cara yang lebih baik untuk memantau menghubungkan dan memutuskan klien:
Baris
./bin/emqttd_ctl
perintah dapat digunakan untuk permintaan dan administrasi broker EMQ (tidak bekerja pada Windows).
Saya pikir pemantauan clients list
- daftarkan semua klien MQTT - dan clients show <ClientId>
- tampilkan Klien MQTT - paling membantu di sini. Karena itu proses terpisah yang direncanakan untuk memantau klien tidak perlu berlangganan ke pialang tetapi hanya memanfaatkannya ./bin/emqttd_ctl
.
$ ./bin/emqttd_ctl clients list Client(mosqsub/43832-airlee.lo, clean_sess=true, username=test, peername=127.0.0.1:64896, connected_at=1452929113) Client(mosqsub/44011-airlee.lo, clean_sess=true, username=test, peername=127.0.0.1:64961, connected_at=1452929275)
Yah, tidak yakin tentang pesan lahir dan LWT (Last Will and Testament) adalah opsional sesuai spesifikasi. Jadi, Anda tidak perlu menerima pesan kecuali broker Anda menyesuaikan dengan persyaratan tersebut.