Grafana: различия между версиями

Строка 208: Строка 208:


=== MQTT-брокер ===
=== MQTT-брокер ===
Выполняем на сервере Grafanа (или на отдельном): [[MQTT#Создание своего брокера MQTT]]
Теперь настроим MQTT-брокер, куда контроллер Wiren Board будет отправлять данные.
И настраиваем bridge (мост) между брокером контроллера и только что установленным: [[MQTT#Настройка моста на контроллере]]


Для теста создаем такую конфигурацию моста:
Установите на сервер с Grafana '''mosquitto''' по инструкции [[MQTT#mosquitto | Установка брокера]].
<syntaxhighlight lang="bash">
cat << EOFcommand > /etc/mosquitto/conf.d/bridge1.conf
connection bridge1
#address of server
address 10.0.0.105
notifications true
notification_topic /client/ACAX3M6K/bridge1_status
remote_username test
remote_password test11test
topic /wb-msw-v3_98/# both 2 /devices /client/ACAX3M6K/devices
 
EOFcommand


Настройте на контроллере Wiren Board подключение к внешнему MQTT-брокеру:
# Подключитесь к контроллеру по [[SSH]].
# Создайте файл конфигурации <code>bridge1.conf</code>:
#: <syntaxhighlight lang="bash">
mcedit /etc/mosquitto/conf.d/bridge1.conf
</syntaxhighlight>
</syntaxhighlight>
 
# Вставьте в него строки, в которых замените в двух местах '''AWQBNTYP''' на серийный номер контроллера, а '''192.168.2.36''' на IP-адрес брокера:
Для того чтобы отправить в influx '''все''' топики контроллера надо сделать
#:<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cat << EOFcommand > /etc/mosquitto/conf.d/bridge1.conf
connection bridge1
connection bridge1
#address of server
#address of server
address 10.0.0.105
address 10.0.0.105
notifications true
notifications true
notification_topic /client/ACAX3M6K/bridge1_status
notification_topic /client/AWQBNTYP/bridge1_status
remote_username test
remote_username test
remote_password test11test
remote_password test11test
topic /# both 2 /devices /client/ACAX3M6K/devices
topic /hwmon/# both 2 /devices /client/AWQBNTYP/devices
 
EOFcommand
 
</syntaxhighlight>
</syntaxhighlight>
 
#: в конфигурации выше мы отправляем в MQTT-брокер все подтопики устройства '''hwmon''', чтобы передать все топики контроллера, замените путь <code>/hwmon/#</code> на <code>/#</code>
''Замените параметры (адрес, топик) на свои''
# Сохраните изменения и закройте файл.
 
# Перезапустите mosquitto:
Перезапускаем mosquitto на контроллере
#:<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
service mosquitto restart
systemctl restart mosquitto
</syntaxhighlight>
</syntaxhighlight>


И для проверки подписываемся на топик '''на сервере'''
Теперь проверим, что контроллер отправляет данные во внешний MQTT-брокер, подпишитесь в консоли сервера, где установлен брокер на топики контроллера.
<syntaxhighlight lang="bash">
#Замените в команде ниже '''AWQBNTYP''' на серийный номер контроллера, '''wbpassword''' на пароль MQTT-брокера:
mosquitto_sub -v -h 10.0.0.105 -u test -P test11test -t /ontrollerACAX3M6K/wb-msw-v3_98/#
#:<syntaxhighlight lang="console">
$ mosquitto_sub -v -h localhost -u test -P wbpassword -t /client/AWQBNTYP/devices/#
/client/AWQBNTYP/devices/hwmon/meta/driver wb-rules
/client/AWQBNTYP/devices/hwmon/meta/name HW Monitor
/client/AWQBNTYP/devices/hwmon/controls/Board Temperature 35.875
/client/AWQBNTYP/devices/hwmon/controls/Board Temperature/meta/type temperature
/client/AWQBNTYP/devices/hwmon/controls/Board Temperature/meta/order 1
/client/AWQBNTYP/devices/hwmon/controls/Board Temperature/meta/readonly 1
/client/AWQBNTYP/devices/hwmon/controls/CPU Temperature 67.516
/client/AWQBNTYP/devices/hwmon/controls/CPU Temperature/meta/type temperature
/client/AWQBNTYP/devices/hwmon/controls/CPU Temperature/meta/order 2
/client/AWQBNTYP/devices/hwmon/controls/CPU Temperature/meta/readonly 1
/client/AWQBNTYP/devices/hwmon/controls/CPU Temperature 66.917
</syntaxhighlight>
</syntaxhighlight>
#:Если после выполнения команды вы получите список топиков — контролер успешно отправляет данные во внешний брокер.
# Завершите команду клавишами <kbd>Ctrl</kbd>+<kbd>C</kbd>.


Если данные идут, как на скриншоте — все сделано верно.
=== Скрипт на сервере Grafana ===
[[Файл:Gragana_bridge_data_1.png|800px|thumb|none|Вход в настройку источника данных]]
 
 
Скачиваем на сервере скрипт
Скачиваем на сервере скрипт
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">