Emqttd ( emqtt.io ) çalıştırıyorum . Doğum ve irade mesajlarının gönderildiği bir sistem konusuna abone olacak ayrı bir sürece bağlanan ve bağlantıyı kesen istemcileri izlemek istiyorum. Bunu yapmanın doğru yolu nedir?
Emqttd ( emqtt.io ) çalıştırıyorum . Doğum ve irade mesajlarının gönderildiği bir sistem konusuna abone olacak ayrı bir sürece bağlanan ve bağlantıyı kesen istemcileri izlemek istiyorum. Bunu yapmanın doğru yolu nedir?
Yanıtlar:
Doğum ve irade mesajlarının gönderildiği bir sistem konusuna abone olacak ayrı bir sürece bağlanan ve bağlantıyı kesen istemcileri izlemek istiyorum.
emqtt Kullanıcı Kılavuzu , bazı Aracı İstatistikleri sunan, yani $SYS/brokers/${node}/stats/clients/count
mevcut bağlı istemcilerin sayısını sağlayan bir sistem konusunu gösterir . Bu, bağlı istemcilerle ilgili herhangi bir ayrıntıyı listelemeyeceğini unutmayın - bu yüzden burada gerekli olan şey değildir.
Son irade (LWT, Son İrade ve Ahit) mesajları bir sistem konusu değil, bağlantı sırasında istemci tarafından ayarlanan normal bir konudur. Bu konuyu izlemek istiyorsanız konuya abone olmanız yeterlidir. Ancak, bir istemci DISCONNECT mesajı göndererek bağlantının kesilmesi durumunda LWT mesajlarının atıldığını unutmayın (bkz. HiveMQ blogu , harika okuma btw).
emqtt Kullanıcı Kılavuzu , istemcilere bağlanma ve bağlantıyı kesmenin izlenmesi için daha iyi bir yol sunar:
./bin/emqttd_ctl
Komut satırı sorgu ve Yönetmek EMQ komisyoncu (Windows üzerinde çalışmıyor) için kullanılabilir.
İzlemenin clients list
- tüm MQTT istemcilerini listele ve clients show <ClientId>
bir MQTT İstemcisi göster - burada en yararlı olduğunu düşünüyorum. Bu nedenle, istemcileri izlemek için planlanan ayrı işlemin aracıya abone olması gerekmez, ./bin/emqttd_ctl
bunun yerine basitçe kullanılması gerekir .
$ ./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)
Doğum mesajından ve LWT'den (Son İrade ve Ahit) emin değilim. Bu nedenle, acentanızı bu tür gereksinimlere göre özelleştirmediyseniz, ileti almanız gerekmez.