Моніторинг Geth за допомогою InfluxDB і Grafana
Цей посібник допоможе вам налаштувати моніторинг для вашого вузла Geth, щоб краще зрозуміти його продуктивність та визначити потенційні проблеми.
Передумови
- Ви вже повинні мати запущений екземпляр Geth.
- Більшість кроків і прикладів призначені для середовища Linux, тому базові знання терміналу будуть корисними.
- Перегляньте цей відеоогляд набору метрик Geth: Моніторинг інфраструктури Ethereum від Péter Szilágyi (opens in a new tab).
Стек моніторингу
Клієнт Ethereum збирає багато даних, які можна прочитати у вигляді хронологічної бази даних. Щоб спростити моніторинг, ви можете передати ці дані в програмне забезпечення для візуалізації. Існує декілька доступних варіантів:
- Prometheus (opens in a new tab) (модель витягування)
- InfluxDB (opens in a new tab) (модель передавання)
- Telegraf (opens in a new tab)
- Grafana (opens in a new tab)
- Datadog (opens in a new tab)
- Chronograf (opens in a new tab)
Також існує Geth Prometheus Exporter (opens in a new tab) — варіант, попередньо налаштований для роботи з InfluxDB і Grafana.
У цьому посібнику ми налаштуємо ваш клієнт Geth для передавання даних в InfluxDB для створення бази даних і в Grafana для створення графічної візуалізації цих даних. Виконання цих кроків вручну допоможе вам краще зрозуміти процес, змінювати його та розгортати в різних середовищах.
Налаштування InfluxDB
Спочатку давайте завантажимо та встановимо InfluxDB. Різні варіанти завантаження можна знайти на сторінці випусків Influxdata (opens 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"Тепер за допомогою цього користувача ви можете увійти в оболонку InfluxDB (opens in a new tab), використовуючи клієнт influx.
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. Після збереження інформаційна панель повинна мати такий вигляд:
Ви можете змінювати свої інформаційні панелі. Кожну панель можна редагувати, переміщувати, видаляти або додавати. Ви можете змінювати свої конфігурації. Усе залежить від вас! Щоб дізнатися більше про те, як працюють інформаційні панелі, зверніться до документації Grafana (opens in a new tab). Вас також може зацікавити розділ Сповіщення (opens in a new tab). Це дає змогу налаштувати сповіщення, які спрацьовуватимуть, коли метрики досягають певних значень. Підтримуються різні канали зв'язку.
Останні оновлення сторінки: 26 лютого 2026 р.







