Ana içeriğe geç

InfluxDB ve Grafana ile Geth'i İzleme

istemcilerdüğümler
Orta düzey
Mario Havel
13 Ocak 2021
4 dakikalık okuma minute read

Bu öğretici, Geth düğümünüzün performansını daha iyi anlayabilmeniz ve olası sorunları belirleyebilmeniz için izleme kurmanıza yardımcı olacaktır.

Ön koşullar

İzleme yığını

Bir Ethereum istemcisi, kronolojik bir veri tabanı şeklinde okunabilecek çok sayıda veri toplar. İzlemeyi kolaylaştırmak için bunu veri görselleştirme yazılımına aktarabilirsiniz. Birden fazla seçenek mevcuttur:

Ayrıca InfluxDB ve Grafana ile önceden yapılandırılmış olan bir seçenek olan Geth Prometheus Exporter(opens in a new tab) bulunmaktadır. RPi 4 için docker ve Ethbian OS(opens in a new tab) kullanarak kolayca kurabilirsiniz.

Bu öğreticide, Geth istemcinizi bir veri tabanı oluşturmak için InfluxDB'ye ve verilerin grafik görselleştirmesini oluşturmak için Grafana'ya veri gönderecek şekilde ayarlayacağız. Bunu manuel olarak yapmak; süreci daha iyi anlamanıza, değiştirmenize ve farklı ortamlarda dağıtmanıza yardımcı olacaktır.

InfluxDB kurulumu

Öncelikle InfluxDB'yi indirip kuralım. Influxdata yayın sayfasında(opens in a new tab) çeşitli indirme seçenekleri bulunabilir. Ortamınıza uygun olanı seçin. Ayrıca bir depodan(opens in a new tab) da indirebilirsiniz. Örnek olarak Debian temelli bir dağıtımda:

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'yi başarıyla yükledikten sonra, arka planda çalıştığından emin olun. Varsayılan olarak, localhost:8086'da erişilebilir. influx istemcisini kullanmadan önce, admin yetkileri olan yeni bir kullanıcı yaratmalısınız. Bu kullanıcı, üst düzey yönetim, veri tabanları ve kullanıcılar oluşturmaya hizmet edecektir.

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

Şimdi influx istemcisini bu kullanıcı ile InfluxDB kabuğuna(opens in a new tab) girmek için kullanabilirsiniz.

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

Kabuğunun içinden InfluxDB ile doğrudan iletişim kurarak, geth ölçümleri için veri tabanı ve kullanıcı oluşturabilirsiniz.

1create database geth
2create user geth with password choosepassword

Oluşturulan girdileri şöyle doğrulayın:

1show databases
2show users

InfluxDB kabuğundan çıkın.

1exit

InfluxDB, Geth'ten gelen ölçümleri depolamak için çalışıyor ve yapılandırıldı.

Geth'i hazırlama

Veri tabanını kurduktan sonra Geth'te ölçüm toplamayı etkinleştirmemiz gerekiyor. geth --help içindeki METRICS AND STATS OPTIONS'a dikkat edin. Orada birden fazla seçenek bulunabilir, bu durumda Geth'in verileri InfluxDB'ye göndermesini istiyoruz. Temel kurulum, InfluxDB'nin erişilebilir olduğu uç noktayı ve veri tabanı için kimlik doğrulamasını belirtir.

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

Bu bayraklar, istemciyi başlatan bir komuta eklenebilir veya yapılandırma dosyasına kaydedilebilir.

Geth'in verileri başarıyla ilettiğini, örneğin veri tabanındaki ölçümleri listeleyerek doğrulayabilirsiniz. InfluxDB kabuğunda:

1use geth
2show measurements

Grafana kurulumu

Bir sonraki adım, verileri grafiksel olarak yorumlayacak olan Grafana'yı kurmaktır. Grafana belgelerinde ortamınız için kurulum sürecini takip edin. Başka türlü istemiyorsanız, OSS sürümünü yüklediğinizden emin olun. Depo kullanan Debian dağıtımları için örnek kurulum adımları:

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'yı çalıştırdığınızda, localhost:3000 adresinden erişilebilir olmalıdır. Bu yola erişmek için tercih ettiğiniz tarayıcıyı kullanın, ardından varsayılan kimlik bilgileriyle oturum açın (kullanıcı: admin ve şifre: admin). İstendiğinde, varsayılan şifreyi değiştirin ve kaydedin.

Grafana ana sayfasına yönlendirileceksiniz. İlk olarak, kaynak verinizi hazırlayın. Sol çubuktaki yapılandırma simgesine tıklayın ve "Data sources"'ı (Veri kaynakları) seçin.

Henüz oluşturulmuş veri kaynağı yok, birini tanımlamak için "Add data source"a (Veri kaynağı ekle) tıklayın.

Bu kurulum için "InfluxDB"yi seçin ve devam edin.

Araçları aynı makinede çalıştırıyorsanız, veri kaynağı yapılandırması oldukça basittir. Veri tabanına erişmek için InfluxDB adresini ve ayrıntılarını ayarlamanız gerekir. Aşağıdaki resme başvurun.

Her şey tamamlandıysa ve InfluxDB erişilebilir durumdaysa, "Save and test"e (Kaydet ve test et) tıklayın ve onayın görünmesini bekleyin.

Grafana artık InfluxDB'den veri okumak üzere ayarlanmıştır. Şimdi, onu yorumlayacak ve gösterecek bir gösterge paneli oluşturmanız gerekiyor. Gösterge paneli özellikleri, herkes tarafından oluşturulabilen ve kolayca içe aktarılabilen JSON dosyalarında kodlanmıştır. Sol çubukta, "Create and Import"a (Oluştur ve İçe Aktar) tıklayın.

Bir Geth izleme gösterge paneli için bu gösterge panelinin(opens in a new tab) kimliğini kopyalayın ve Grafana'daki "Import page"e (İçe Aktarma sayfası) yapıştırın. Gösterge panelini kaydettikten sonra şöyle görünmelidir:

Gösterge panellerinizi değiştirebilirsiniz. Her panel düzenlenebilir, taşınabilir, kaldırılabilir veya eklenebilir. Yapılandırmalarınızı değiştirebilirsiniz. Size kalmış! Eğer gösterge panellerin nasıl çalıştığı hakkında dahasını öğrenmek istiyorsanız, Grafana'nın belgelerine(opens in a new tab) başvurun. Ayrıca Alerting(opens in a new tab) ilginizi çekebilir. Bu, ölçümler belirli değerlere ulaştığında uyarı bildirimleri ayarlamanıza olanak tanır. Çeşitli iletişim kanalları desteklenir.

Son düzenleme: @kaanmetu(opens in a new tab), 23 Kasım 2023

Bu rehber yararlı oldu mu?