Mengawasi Geth dengan InfluxDB dan Grafana
Tutorial ini akan menolong Anda menyiapkan node Geth Anda sehingga Anda dapat lebih baik memahami kinerjanya dan mengenali masalah yang mungkin muncul.
Prasyarat
- Anda seharusnya telah menjalankan instance Geth.
- Kebanyakan langkah dan contoh adalah untuk lingkungan linux, pengetahuan terminal dasar akan menolong.
- Lihat tinjauan luas video dari rangkaian metrik Geth ini: Mengawasi infrastruktur Ethereum oleh Péter Szilágyi(opens in a new tab).
Mengawasi tumpukan
Klien Ethereum mengumpulkan banyak data yang dapat dibaca dalam bentuk basis data kronologis. Untuk mempermudah pengawasan, Anda dapat mem-feed ini ke dalam perangkat lunak visualisasi data. Ada beberapa opsi yang tersedia:
- Prometheus(opens in a new tab) (model penarikan)
- InfluxDB(opens in a new tab) (model pendorongan)
- Telegraf(opens in a new tab)
- Grafana(opens in a new tab)
- Datadog(opens in a new tab)
- Chronograf(opens in a new tab)
Ada juga Pengekspor Prometheus Geth(opens in a new tab), suatu opsi yang dikonfigurasi sebelumnya dengan InfluxDB dan Grafana. Anda dapat menyiapkannya dengan mudah menggunakan docker dan Sistem Operasi Ethbian(opens in a new tab) untuk RPi 4.
Dalam tutorial ini, kita akan menyiapkan klien Geth Anda untuk mendorong data ke InfluxDB untuk membuat basis data dan Grafana untuk membuat visualisasi grafik datanya. Melakukan ini secara manual akan membantu Anda untuk dengan lebih baik memahami prosesnya, mengubahnya, dan menyebarkannya di lingkungan yang berbeda.
Menyiapkan InfluxDB
Pertama - tama, mari kita unduh dan instal InfluxDB. Berbagai opsi pengunduhan dapat ditemukan di halaman rilis influxdata(opens in a new tab). Pilih salah satu yang cocok dengan lingkungan Anda. Anda juga dapat menginstalnya dari suatu repository(opens in a new tab). Sebagai contoh dalam distribusi berbasis 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
Setelah berhasil menginstal InfluxDB, pastikan program itu beroperasi di latar belakang. Secara default, ia dapat ditemukan pada localhost:8086
. Sebelum menggunakan klien influx
, Anda harus membuat pengguna baru dengan hak istimewa administrator. Pengguna ini akan berguna untuk manajemen tingkat tinggi, yang membuat basis data dan pengguna.
1curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER username WITH PASSWORD 'password' WITH ALL PRIVILEGES"
Sekarang Anda dapat menggunakan klien influx untuk masuk ke shell InfluxDB(opens in a new tab) dengan pengguna ini.
1influx -username 'username' -password 'password'
Dengan berkomunikasi secara langsung dengan InfluxDB dalam shell-nya, Anda dapat membuat basis data dan pengguna untuk metrik geth.
1create database geth2create user geth with password choosepassword
Verifikasi entri yang dibuat dengan:
1show databases2show users
Biarkan shell InfluxDB.
1exit
InfluxDB beroperasi dan dikonfigurasi untuk menyimpan metrik dari Geth.
Menyiapkan Geth
Setelah menyiapkan basis data, kita perlu mengaktifkan pengumpulan metrik di Geth. Perhatikan METRICS AND STATS OPTIONS
dalam geth --help
. Beberapa opsi dapat ditemukan di sana, dalam kasus ini kita ingin Geth mendorong data ke dalam InfluxDB. Penyiapan dasar menentukan endpoint di mana InfluxDB dapat dijangkau dan otentikasi untuk basis data.
1geth --metrics --metrics.influxdb --metrics.influxdb.endpoint "http://0.0.0.0:8086" --metrics.influxdb.username "geth" --metrics.influxdb.password "chosenpassword"
Bendera ini dapat ditambahkan ke command yang memulai klien atau yang disimpan ke dalam berkas konfigurasi.
Anda dapat memverifikasi bahwa Geth berhasil mendorong data, sebagai contoh dengan merincikan metrik dalam basis data. Dalam shell InfluxDB:
1use geth2show measurements
Menyiapkan Grafana
Langkah berikutnya adalah menginstal Grafana yang akan mengartikan data secara grafis. Ikuti proses instalasi untuk lingkungan Anda dalam dokumentasi Grafana. Sebaliknya, pastikan menginstal versi OSS jika Anda tidak ingin menggunakan cara sebelumnya. Langkah instalasi percontohan untuk distribusi Debian yang menggunakan repository:
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
Ketika Anda telah membuat Grafana beroperasi, ia seharusnya dapat dicapai di localhost:3000
. Gunakan peramban yang Anda inginkan untuk mengakses jalur ini, lalu masuk dengan kredensial default (pengguna: admin
dan kata sandi: admin
). Ketika diminta, ubah kata sandi defaultnya dan simpan.
Anda akan diarahkan kembali ke halaman beranda Grafana. Pertama - tama, siapkan data sumber Anda. Klik pada ikon konfigurasi di bar kiri dan pilih "Sumber data".
Tidak ada sumber data mana pun yang dibuat, klik pada "Tambahkan sumber data" untuk menentukan satu sumber.
Untuk penyiapan ini, pilih "InfluxDB" dan lanjutkan.
Konfigurasi sumber data cukup mudah jika Anda menjalankan perangkat pada mesin yang sama. Anda perlu menyiapkan alamat dan detail InfluxDB untuk mengakses basis data. Lihat gambar di bawah.
Jika semuanya lengkap dan InfluxDB dapat dicapai, klik pada "Simpan dan uji" dan tunggu hingga konfirmasinya muncul.
Grafana sekarang telah disiapkan untuk membaca data dari InfluxDB. Sekarang Anda perlu membuat dasbor yang akan mengartikan dan menampilkannya. Properti dasbor dikodekan dalam berkas JSON yang dapat dibuat oleh siapa pun dan dengan mudah diimpor. Pada bar kiri, klik pada "Buat dan Impor".
Untuk dasbor pengawasan Geth, salin ID dasbor ini(opens in a new tab) dan tempelkan pada "Impor halaman" di Grafana. Setelah menyimpan dasbor, ia seharusnya tampak seperti ini:
Anda dapat memodifikasi dasbor Anda. Setiap panel dapat diedit, dipindahkan, dihilangkan atau ditambahkan. Anda dapat mengubah konfigurasi Anda. Terserah Anda! Untuk mempelajari lebih lanjut tentang bagaimana dasbor bekerja, lihat Dokumentasi Grafana(opens in a new tab). Anda juga mungkin tertarik dengan Memperingatkan(opens in a new tab). Ini memungkinkan Anda menyiapkan pemberitahuan ketika metrik mencapai nilai tertentu. Berbagai kanal komunikasi didukung.
Terakhir diedit: @nhsz(opens in a new tab), 15 Agustus 2023