2017-08-15 55 views
2

我的設置有使用TLS和用戶/身份驗證的mosquitto 1.4.12,它在Ubuntu 14.04下工作很長時間沒有問題。

問題是沒有數據發佈到任何$SYS代理狀態主題。我已檢查配置,sys_interval設置爲10.是否有其他需要使其工作?

我試過很多客戶端(mosquitto_sub,paho-mqtt,mqtt.fx),所以它看起來像一個錯誤的蚊子配置,而不是客戶端問題。

mosquitto.conf看起來是這樣的:

sys_interval 10 

max_queued_messages 10000 
max_inflight_messages 100 
max_connections -1 

connection_messages true 
log_dest stderr 
log_type error 
log_type warning 
log_type notice 
log_type information 
log_type all 
log_timestamp true 

password_file /etc/mosquitto/conf.d/jp.pw 
acl_file /etc/mosquitto/conf.d/acl.conf 

persistence true 
persistence_location /var/lib/mosquitto/ 
persistence_file mosquitto.db 
persistent_client_expiration 1m 
autosave_interval 600 
retained_persistence true 

listener 8883 
tls_version tlsv1.2 

cafile /etc/mosquitto/ca_certificates/ca.crt 
certfile /etc/mosquitto/ca_certificates/cert.crt 
keyfile /etc/mosquitto/ca_certificates/cert.key 
require_certificate false 
allow_anonymous false 

acl.conf有這個,可能是不必要的:

user test 
topiC# 
+0

究竟是什麼,你訂閱? '$ SYS'主題不會顯示在'#'訂閱中。您必須訂閱'$ SYS /#'來查看所有數據 – hardillb

+0

yes @hardillb,我正在訂閱特定的主題,例如'$ SYS/broker/clients/active'或'$ SYS/broker/uptime' – gcw

+0

請編輯問題以包含您的mosquitto.conf和您已設置的任何ACL,以便我們可以看到您已設置 – hardillb

回答

2

在ACL中的主題過濾器適用相同的規則,正常的通配符處理等等只允許訪問#不會涵蓋`$ SYS /#'主題。

你需要一個額外的topic行添加到ACL來包括$SYS主題:

user test 
topiC# 
topic $SYS/#