Перейти к основному содержанию

Мониторинг Geth с помощью InfluxDB и Grafana

клиенты
узлы
Intermediate
Mario Havel
13 января 2021 г.
4 минута прочтения

Это руководство поможет вам настроить мониторинг для своего узла Geth, чтобы вы могли лучше понимать его производительность и выявлять потенциальные проблемы.

Предварительные условия

Стек мониторинга

Клиент Ethereum собирает множество данных, которые можно прочитать в виде хронологической базы данных. Чтобы упростить мониторинг, вы можете передать эти данные в программное обеспечение для визуализации. Доступно несколько вариантов:

Также есть Geth Prometheus Exporteropens in a new tab — вариант, предварительно настроенный для InfluxDB и Grafana.

В этом руководстве мы настроим ваш клиент Geth для передачи данных в InfluxDB, чтобы создать базу данных, и Grafana для создания графической визуализации данных. Выполнение этой операции вручную поможет вам лучше понять процесс, изменить его и развернуть в различных средах.

Настройка InfluxDB

Сначала скачаем и установим InfluxDB. Различные варианты загрузки можно найти на странице релизов Influxdataopens in a new tab. Выберите тот, который подходит для вашей среды. Вы также можете установить его из репозиторияopens in a new tab. Например, в дистрибутиве на базе Debian:

1curl -tlsv1.3 --proto =https -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add
2source /etc/lsb-release
3echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
4sudo apt update
5sudo apt install influxdb -y
6sudo systemctl enable influxdb
7sudo systemctl start influxdb
8sudo apt install influxdb-client

После успешной установки InfluxDB убедитесь, что он работает в фоновом режиме. По умолчанию он доступен по адресу localhost:8086. Перед использованием клиента influx вы должны создать нового пользователя с правами администратора. Этот пользователь будет использоваться для управления высокого уровня, создания баз данных и пользователей.

1curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER username WITH PASSWORD 'password' WITH ALL PRIVILEGES"

Теперь вы можете использовать клиент influx для входа в оболочку InfluxDBopens in a new tab с этим пользователем.

1influx -username 'username' -password 'password'

Взаимодействуя с InfluxDB напрямую в его оболочке, вы можете создать базу данных и пользователя для метрик geth.

1create database geth
2create user geth with password choosepassword

Проверьте созданные записи с помощью:

1show databases
2show users

Выйдите из оболочки InfluxDB.

1exit

InfluxDB запущен и настроен для хранения метрик из Geth.

Подготовка Geth

После настройки базы данных необходимо включить сбор метрик в Geth. Обратите внимание на METRICS AND STATS OPTIONS в geth --help. Там можно найти несколько опций, в данном случае мы хотим, чтобы Geth передавал данные в InfluxDB. Базовая настройка указывает конечную точку, по которой доступен InfluxDB, и аутентификацию для базы данных.

1geth --metrics --metrics.influxdb --metrics.influxdb.endpoint "http://0.0.0.0:8086" --metrics.influxdb.username "geth" --metrics.influxdb.password "chosenpassword"

Эти флаги можно добавить к команде, запускающей клиент, или сохранить в файле конфигурации.

Вы можете убедиться, что Geth успешно передает данные, например, выведя список метрик в базе данных. В оболочке InfluxDB:

1use geth
2show measurements

Настройка Grafana

Следующий шаг — установка Grafana, которая будет интерпретировать данные графически. Следуйте процессу установки для вашей среды в документации Grafana. Убедитесь, что вы устанавливаете версию OSS, если не хотите иного. Пример шагов установки для дистрибутивов Debian с использованием репозитория:

1curl -tlsv1.3 --proto =https -sL https://packages.grafana.com/gpg.key | sudo apt-key add -
2echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
3sudo apt update
4sudo apt install grafana
5sudo systemctl enable grafana-server
6sudo systemctl start grafana-server

Когда Grafana будет запущена, она должна быть доступна по адресу localhost:3000. Используйте предпочитаемый браузер для доступа к этому пути, затем войдите в систему с учетными данными по умолчанию (пользователь: admin и пароль: admin). При появлении запроса измените пароль по умолчанию и сохраните.

Вы будете перенаправлены на домашнюю страницу Grafana. Сначала настройте источник данных. Нажмите на значок конфигурации на левой панели и выберите "Источники данных".

Источники данных еще не созданы, нажмите "Добавить источник данных", чтобы определить один.

Для этой настройки выберите "InfluxDB" и продолжайте.

Конфигурация источника данных довольно проста, если вы запускаете инструменты на одной и той же машине. Вам нужно указать адрес InfluxDB и данные для доступа к базе данных. Обратитесь к изображению ниже.

Если все заполнено и InfluxDB доступен, нажмите "Сохранить и протестировать" и дождитесь появления подтверждения.

Теперь Grafana настроена на чтение данных из InfluxDB. Теперь вам нужно создать панель мониторинга, которая будет интерпретировать и отображать данные. Свойства панелей мониторинга кодируются в JSON-файлах, которые могут быть созданы кем угодно и легко импортированы. На левой панели нажмите "Создать и импортировать".

Для панели мониторинга Geth скопируйте ID этой панели мониторингаopens in a new tab и вставьте его на странице "Импорт" в Grafana. После сохранения панели мониторинга она должна выглядеть так:

Вы можете изменять свои панели мониторинга. Каждую панель можно редактировать, перемещать, удалять или добавлять. Вы можете изменять свои конфигурации. Все зависит от вас! Чтобы узнать больше о том, как работают панели мониторинга, обратитесь к документации Grafanaopens in a new tab. Вас также могут заинтересовать Оповещенияopens in a new tab. Это позволяет настроить уведомления на случаи, когда метрики достигают определенных значений. Поддерживаются различные каналы связи.

Последнее обновление страницы: 25 августа 2025 г.

Было ли это руководство полезным?