Нет сбора метрик при установке пароля в mosquitto

Добрый день! Решил сконфигурировать Mosquitto для большей безопасности.

Для слушателя на порте 1883 добавил ACL и пароль, анонинмные подключения выключил.
С порта 18883 убрал подключение этих конфигов и добавил работу только с 127.0.0.1.

# This file should be used to define external mosquitto listeners
# (which are not used by internal services).

# Default MQTT port listener.
#
# It allows anonymous listeners by default to be compatible with
# old Wiren Board mosquitto configuration.
#
# It is recommended to add password authentication and TLS for security.

listener 1883
allow_anonymous false
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

# Default Websockets listener.
#
# It is used by Wiren Board Web interface.
#
# It allows anonymous listeners by default to be compatible with
# old Wiren Board mosquitto configuration.
#
# It is recommended to add password authentication for security.

listener 18883 127.0.0.1
protocol websockets
allow_anonymous true

После старта контроллера в лог выводятся ошибки от wb-cloud-agent (telegraf).

Как я понимаю он подключается через 1883 порт, на котором стоит пароль.

Установка свежая, из доп. действий кроме установки SprutHub было только это

Вопрос: где можно изменить порт 1883 → 18883 для отправки метрик в облако?

приложен диагностический архив, доступен только сотрудникам поддержки
(514,3 КБ)

Понял что порт не поменять, так как на 18883 используется websocket.

Пошел по другому пути - разрешил анонимные подключения на 1883 и вначале прописал топики которые уходят в качестве метрик. Получился следующий acl файл:

topic read /devices/hwmon/#
topic read /devices/metrics/#
topic read /devices/power_status/#
topic read /devices/system/#

user admin

topic readwrite #
topic readwrite $SYS/#

Думаю стоит вынести куда в конфиг возможность указания логина/пароля для телеграфа чтобы полноценно выдать данные в grafana при необходимости.

Нет, путь возможный но нецелесообразный.
Оставлять анонимные подключения надо только с localhost. Ну и собственно слушать брокер на 1883 должен только этот самый localhost, в большинстве случаев.

Не могу не согласится. Но вики на тему MQTT рассказывает как это сделать, но не описывает возможные «неудобства» и «нецелесообразности»:cry:

Суть я понял - сделать отдельного слушателя и реализовывать внешнее подключение через него.

1 лайк