Установка и использование платформы
Настройка мониторинга ноды в ознакомительном режиме¶
Нода, запущенная в ознакомительном режиме, имеет возможность подключения мониторинга ее показателей при помощи InfluxDB и Grafana.
Для установки и конфигурации мониторинга прежде всего остановите запущенные контейнеры при помощи команды docker-compose down
.
Установите Docker-образ Grafana:
docker run -d --name=grafana -p 3000:3000 grafana/grafana
Установите Docker-образ InfluxDB:
docker run -d --name influxdb -p 8086:8086 -e INFLUXDB_DB=sandbox_influxdb -e INFLUXDB_ADMIN_USER=sandbox_influxdb_admin -e INFLUXDB_ADMIN_PASSWORD=sandbox_influxdb_pass quay.io/influxdb/influxdb:v2.0.3
Подсказка
Обратите внимание, что эти шаги необходимы для предварительной установки Grafana и InfluxDB. Если вы намерены использовать Docker Compose, их можно пропустить: после приведенного ниже изменения файла docker-compose.yml и запуска контейнеров образы обоих сервисов будут скачаны и установлены автоматически, если не были установлены ранее.
Перейдите в директорию
./configs/nodes/node-0
и откройте файл конфигурации ноды node.conf с правами администратора. В конец конфигурационного файла добавьте следующие параметры сервисов мониторинга:
# Performance metrics kamon { # Set to "yes", if you want to report metrics enable = yes # An interval within metrics are aggregated. After it, them will be sent to the server metric.tick-interval = 1 second # Reporter settings influxdb { hostname = "localhost" port = 8086 database = "sandbox_influxdb" time-units = "ms" authentication { user = "sandbox_influxdb_admin" password = "sandbox_influxdb_pass" } environment.host = "node-0" } } # Non-aggregated data (information about blocks, transactions, ...) metrics { enable = yes node-id = "node-0" influx-db { uri = "http://localhost:8086" db = "sandbox_influxdb" username = "sandbox_influxdb_admin" password = "sandbox_influxdb_pass" batch-actions = 100 batch-flash-duration = 1s } }
Откройте файл docker-compose.yml и добавьте параметры развертывания сервисов мониторинга.
Полный листинг файла docker-compose.yml
Запустите платформу и войдите в клиентское приложение Grafana. Для этого запустите контейнеры платформы при помощи команды
docker-compose up -d
и дождитесь завершения развертывания.
Затем откройте клиент Grafana, доступный на порту 3000:
Для аутентификации в клиенте используйте данные, установленные в подкатегории environment раздела services: grafana: файла docker-compose.yml:
services: grafana: image: grafana/grafana:latest hostname: grafana container_name: grafana environment: GF_SECURITY_ADMIN_USER: 'admin' GF_SECURITY_ADMIN_PASSWORD: 'pass'
Подключите базу данных платформы к Grafana. Для этого нажмите на вкладку Configuration (Конфигурация) и перейдите в категорию Data Sources (Источники данных):
Добавьте новый источник данных, нажав на кнопку Add Data Source, и из предложенного списка выберите InfluxDB.
Затем настройте базу данных, используемую платформой.
Секция HTTP, поле URL: http://influxdb:8086
Секция InfluxDB Details: введите данные, установленные в подкатегории environment раздела services: influxdb: файла docker-compose.yml:
influxdb: image: influxdb hostname: influxdb container_name: influxdb environment: - INFLUXDB_DB=influxdb // database field - INFLUXDB_ADMIN_USER=admin // user field - INFLUXDB_ADMIN_PASSWORD=pass // password field
Нажмите кнопку Save & Test. При успешном подключении базы данных появится сообщение Data source is working.
Настройте визуализацию данных в Grafana
Для этого нажмите на кнопку + (Добавить) на левой панели клиента и перейдите на вкладку Import (Импортировать).
В окно Import via panel json (Импортировать через json панели) вставьте файл json, содержащий параметры визуализации данных.
Затем нажмите кнопку Load (Загрузить). В окне Options выберите желаемое имя панели, либо оставьте название sandbox, установленное по умолчанию.
Нажмите кнопку Import (Импортировать).
После этого вы сможете просматривать показатели вашей демо-платформы на созданной панели. Перейдите во вкладку Dashboard/Manage и выберите панель sandbox для ее открытия.