Мониторинг Geth с помощью InfluxDB и Grafana
Это руководство поможет вам настроить мониторинг для своего узла Geth, чтобы вы могли лучше понимать его производительность и выявлять потенциальные проблемы.
Предварительные условия
- У вас уже должен быть запущен экземпляр Geth.
- Большинство шагов и примеров предназначены для среды Linux, поэтому будут полезны базовые знания о работе с терминалом.
- Посмотрите этот видеообзор набора метрик Geth: Мониторинг инфраструктуры Ethereum от Петера Силадьиopens in a new tab.
Стек мониторинга
Клиент Ethereum собирает множество данных, которые можно прочитать в виде хронологической базы данных. Чтобы упростить мониторинг, вы можете передать эти данные в программное обеспечение для визуализации. Доступно несколько вариантов:
- Prometheusopens in a new tab (модель извлечения)
- InfluxDBopens in a new tab (модель передачи)
- Telegrafopens in a new tab
- Grafanaopens in a new tab
- Datadogopens in a new tab
- Chronografopens in a new tab
Также есть 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 add2source /etc/lsb-release3echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list4sudo apt update5sudo apt install influxdb -y6sudo systemctl enable influxdb7sudo systemctl start influxdb8sudo 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 geth2create user geth with password choosepasswordПроверьте созданные записи с помощью:
1show databases2show usersВыйдите из оболочки InfluxDB.
1exitInfluxDB запущен и настроен для хранения метрик из 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 geth2show 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.list3sudo apt update4sudo apt install grafana5sudo systemctl enable grafana-server6sudo 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 г.







