InfluxDB ve Grafana ile Geth'i İzleme
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
- Zaten bir Geth örneği çalıştırıyor olmalısınız.
- Adımların ve örneklerin çoğu linux ortamı içindir, temel terminal bilgisi yardımcı olacaktır.
- Geth'in ölçüm paketine dair bu genel bakış videosuna göz atın: Bir Ethereum altyapısını izleme - Péter Szilágyi(opens in a new tab).
İ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:
- Prometheus(opens in a new tab) (çekme modeli)
- InfluxDB(opens in a new tab) (itme modeli)
- Telegraf(opens in a new tab)
- Grafana(opens in a new tab)
- Datadog(opens in a new tab)
- Chronograf(opens in a new tab)
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 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'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 geth2create user geth with password choosepassword
Oluşturulan girdileri şöyle doğrulayın:
1show databases2show 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 geth2show 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.list3sudo apt update4sudo apt install grafana5sudo systemctl enable grafana-server6sudo 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: @nhsz(opens in a new tab), 15 Ağustos 2023