Monitorowanie Geth za pomocą InfluxDB i Grafana
Ten samouczek pomoże Ci skonfigurować monitorowanie węzła Geth, aby lepiej zrozumieć jego wydajność i zidentyfikować potencjalne problemy.
Wymagania wstępne
- Powinieneś mieć już uruchomioną instancję Geth.
- Większość kroków i przykładów dotyczy środowiska Linux, więc podstawowa znajomość terminala będzie pomocna.
- Obejrzyj ten przegląd wideo pakietu metryk Geth: Monitoring an Ethereum infrastructure autorstwa Pétera Szilágyi (opens in a new tab).
Stos monitorowania
Klient Ethereum zbiera mnóstwo danych, które można odczytać w postaci chronologicznej bazy danych. Aby ułatwić monitorowanie, możesz przesłać je do oprogramowania do wizualizacji danych. Dostępnych jest wiele opcji:
- Prometheus (opens in a new tab) (model pull)
- InfluxDB (opens in a new tab) (model push)
- Telegraf (opens in a new tab)
- Grafana (opens in a new tab)
- Datadog (opens in a new tab)
- Chronograf (opens in a new tab)
Istnieje również Geth Prometheus Exporter (opens in a new tab), opcja wstępnie skonfigurowana z InfluxDB i Grafana.
W tym samouczku skonfigurujemy Twojego klienta Geth tak, aby wypychał dane do InfluxDB w celu utworzenia bazy danych oraz do Grafana w celu utworzenia wizualizacji danych na wykresach. Ręczne wykonanie tego zadania pomoże Ci lepiej zrozumieć proces, modyfikować go i wdrożyć w różnych środowiskach.
Konfiguracja InfluxDB
Najpierw pobierzmy i zainstalujmy InfluxDB. Różne opcje pobierania można znaleźć na stronie wydań Influxdata (opens in a new tab). Wybierz tę, która pasuje do Twojego środowiska. Możesz również zainstalować go z repozytorium (opens in a new tab). Na przykład w dystrybucji opartej na Debianie:
Po pomyślnym zainstalowaniu InfluxDB upewnij się, że działa w tle. Domyślnie jest on dostępny pod adresem localhost:8086.
Przed użyciem klienta influx musisz utworzyć nowego użytkownika z uprawnieniami administratora. Ten użytkownik będzie służył do zarządzania na wysokim poziomie, tworzenia baz danych i użytkowników.
Teraz możesz użyć klienta influx, aby wejść do powłoki InfluxDB (opens in a new tab) jako ten użytkownik.
Komunikując się bezpośrednio z InfluxDB w jego powłoce, możesz utworzyć bazę danych i użytkownika dla metryk Geth.
Zweryfikuj utworzone wpisy za pomocą:
Opuść powłokę InfluxDB.
InfluxDB jest uruchomiony i skonfigurowany do przechowywania metryk z Geth.
Przygotowanie Geth
Po skonfigurowaniu bazy danych musimy włączyć zbieranie metryk w Geth. Zwróć uwagę na METRICS AND STATS OPTIONS w geth --help. Można tam znaleźć wiele opcji, w tym przypadku chcemy, aby Geth wypychał dane do InfluxDB.
Podstawowa konfiguracja określa punkt końcowy, w którym dostępny jest InfluxDB, oraz uwierzytelnianie dla bazy danych.
Te flagi można dołączyć do polecenia uruchamiającego klienta lub zapisać w pliku konfiguracyjnym.
Możesz sprawdzić, czy Geth pomyślnie wypycha dane, na przykład wyświetlając listę metryk w bazie danych. W powłoce InfluxDB:
Konfiguracja Grafana
Następnym krokiem jest instalacja Grafana, która będzie graficznie interpretować dane. Postępuj zgodnie z procesem instalacji dla swojego środowiska w dokumentacji Grafana. Upewnij się, że instalujesz wersję OSS, chyba że wolisz inaczej. Przykładowe kroki instalacji dla dystrybucji Debiana przy użyciu repozytorium:
Gdy Grafana jest już uruchomiona, powinna być dostępna pod adresem localhost:3000.
Użyj preferowanej przeglądarki, aby uzyskać dostęp do tej ścieżki, a następnie zaloguj się przy użyciu domyślnych danych uwierzytelniających (użytkownik: admin i hasło: admin). Po wyświetleniu monitu zmień domyślne hasło i zapisz.
Zostaniesz przekierowany na stronę główną Grafana. Najpierw skonfiguruj dane źródłowe. Kliknij ikonę konfiguracji na lewym pasku i wybierz „Data sources” (Źródła danych).
Nie utworzono jeszcze żadnych źródeł danych, kliknij „Add data source” (Dodaj źródło danych), aby je zdefiniować.
W tej konfiguracji wybierz „InfluxDB” i kontynuuj.
Konfiguracja źródła danych jest dość prosta, jeśli uruchamiasz narzędzia na tej samej maszynie. Musisz ustawić adres InfluxDB i szczegóły dostępu do bazy danych. Zapoznaj się z poniższym obrazkiem.
Jeśli wszystko jest gotowe, a InfluxDB jest dostępny, kliknij „Save and test” (Zapisz i przetestuj) i poczekaj na pojawienie się potwierdzenia.
Grafana jest teraz skonfigurowana do odczytu danych z InfluxDB. Teraz musisz utworzyć pulpit nawigacyjny (dashboard), który będzie je interpretował i wyświetlał. Właściwości pulpitów nawigacyjnych są kodowane w plikach JSON, które mogą być tworzone przez każdego i łatwo importowane. Na lewym pasku kliknij „Create and Import” (Utwórz i importuj).
W przypadku pulpitu nawigacyjnego do monitorowania Geth skopiuj identyfikator tego pulpitu (opens in a new tab) i wklej go na stronie „Import” w Grafana. Po zapisaniu pulpit nawigacyjny powinien wyglądać tak:
Możesz modyfikować swoje pulpity nawigacyjne. Każdy panel można edytować, przenosić, usuwać lub dodawać. Możesz zmieniać swoje konfiguracje. Wszystko zależy od Ciebie! Aby dowiedzieć się więcej o tym, jak działają pulpity nawigacyjne, zapoznaj się z dokumentacją Grafana (opens in a new tab). Może Cię również zainteresować Alerting (opens in a new tab) (Alerty). Pozwala to na skonfigurowanie powiadomień o alertach, gdy metryki osiągną określone wartości. Obsługiwane są różne kanały komunikacji.







