Přeskočit na hlavní obsah

Monitorování Gethu s InfluxDB a Grafanou

klienti
uzly
Středně pokročilý
Mario Havel
13. ledna 2021
5 minuta čtení

Tento tutoriál vám pomůže nastavit monitorování pro váš Geth uzel, abyste mohli lépe porozumět jeho výkonu a identifikovat případné problémy.

Předpoklady

Sada pro monitorování

Klient Etherea shromažďuje spoustu dat, která lze číst ve formě chronologické databáze. Pro usnadnění monitorování je můžete vložit do softwaru pro vizualizaci dat. K dispozici je více možností:

Existuje také Geth Prometheus Exporter (opens in a new tab), možnost předkonfigurovaná s InfluxDB a Grafanou.

V tomto tutoriálu nastavíme vašeho klienta Geth tak, aby odesílal data do InfluxDB k vytvoření databáze a Grafanu k vytvoření grafické vizualizace dat. Ruční provedení vám pomůže lépe porozumět procesu, měnit ho a nasazovat v různých prostředích.

Nastavení InfluxDB

Nejprve si stáhněme a nainstalujme InfluxDB. Různé možnosti stažení naleznete na stránce s verzemi Influxdata (opens in a new tab). Vyberte si tu, která vyhovuje vašemu prostředí. Můžete ji také nainstalovat z úložiště (opens in a new tab). Například v distribuci založené na Debianu:

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

Po úspěšné instalaci InfluxDB se ujistěte, že běží na pozadí. Ve výchozím nastavení je dostupná na localhost:8086. Před použitím klienta influx musíte vytvořit nového uživatele s oprávněními správce. Tento uživatel bude sloužit pro správu na vysoké úrovni, vytváření databází a uživatelů.

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

Nyní můžete použít klienta influx pro vstup do InfluxDB shellu (opens in a new tab) s tímto uživatelem.

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

Přímou komunikací s InfluxDB v jeho shellu můžete vytvořit databázi a uživatele pro metriky Geth.

1create database geth
2create user geth with password choosepassword

Ověřte vytvořené položky pomocí:

1show databases
2show users

Opusťte InfluxDB shell.

1exit

InfluxDB běží a je nakonfigurována pro ukládání metrik z Gethu.

Příprava Gethu

Po nastavení databáze musíme v Gethu povolit sběr metrik. Věnujte pozornost METRICS AND STATS OPTIONS v geth --help. Naleznete zde několik možností, v tomto případě chceme, aby Geth odesílal data do InfluxDB. Základní nastavení specifikuje koncový bod, kde je InfluxDB dostupná, a ověření pro databázi.

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

Tyto příznaky mohou být připojeny k příkazu spouštějícímu klienta nebo uloženy do konfiguračního souboru.

Můžete ověřit, že Geth úspěšně odesílá data, například výpisem metrik v databázi. V InfluxDB shellu:

1use geth
2show measurements

Nastavení Grafany

Dalším krokem je instalace Grafany, která bude interpretovat data graficky. Postupujte podle instalačního procesu pro vaše prostředí v dokumentaci Grafany. Ujistěte se, že instalujete verzi OSS, pokud nechcete jinak. Příklad instalačních kroků pro distribuce Debian s použitím úložiště:

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

Když máte Grafanu spuštěnou, měla by být dostupná na localhost:3000. Použijte preferovaný prohlížeč pro přístup k této cestě, poté se přihlaste s výchozími přihlašovacími údaji (uživatel: admin a heslo: admin). Po zobrazení výzvy změňte výchozí heslo a uložte.

Snímek obrazovky řídicího panelu Grafana pro monitorování Geth (panel 1)

Budete přesměrováni na domovskou stránku Grafany. Nejprve nastavte svá zdrojová data. Klikněte na ikonu konfigurace v levém panelu a vyberte „Zdroje dat“.

Snímek obrazovky řídicího panelu Grafana pro monitorování Geth (panel 2)

Zatím nejsou vytvořeny žádné zdroje dat, klikněte na „Přidat zdroj dat“ pro definování jednoho.

Snímek obrazovky řídicího panelu Grafana pro monitorování Geth (panel 3)

Pro toto nastavení vyberte „InfluxDB“ a pokračujte.

Snímek obrazovky řídicího panelu Grafana pro monitorování Geth (panel 4)

Konfigurace zdroje dat je poměrně jednoduchá, pokud spouštíte nástroje na stejném stroji. Musíte nastavit adresu InfluxDB a podrobnosti pro přístup k databázi. Viz obrázek níže.

Snímek obrazovky řídicího panelu Grafana pro monitorování Geth (panel 5)

Pokud je vše kompletní a InfluxDB je dostupná, klikněte na „Uložit a testovat“ a počkejte, až se zobrazí potvrzení.

Snímek obrazovky řídicího panelu Grafana pro monitorování Geth (panel 6)

Grafana je nyní nastavena ke čtení dat z InfluxDB. Nyní musíte vytvořit panel, který je bude interpretovat a zobrazovat. Vlastnosti panelů jsou kódovány v souborech JSON, které může kdokoli vytvořit a snadno importovat. V levém panelu klikněte na „Vytvořit a importovat“.

Snímek obrazovky řídicího panelu Grafana pro monitorování Geth (panel 7)

Pro monitorovací panel Geth zkopírujte ID tohoto panelu (opens in a new tab) a vložte jej na stránku „Importovat“ v Grafaně. Po uložení panelu by měl vypadat takto:

Snímek obrazovky řídicího panelu Grafana pro monitorování Geth (panel 8)

Své panely můžete upravovat. Každý panel lze upravovat, přesouvat, odstraňovat nebo přidávat. Můžete měnit své konfigurace. Je to na vás! Chcete-li se dozvědět více o tom, jak panely fungují, podívejte se do dokumentace Grafany (opens in a new tab). Mohlo by vás také zajímat Upozorňování (opens in a new tab). To vám umožní nastavit upozornění pro případy, kdy metriky dosáhnou určitých hodnot. Jsou podporovány různé komunikační kanály.

Stránka naposledy aktualizována: 26. února 2026

Byl tento tutoriál užitečný?