Kufuatilia Geth kwa kutumia InfluxDB na Grafana
Mafunzo haya yatakusaidia kuweka ufuatiliaji wa nodi yako ya Geth ili uweze kuelewa vyema utendaji wake na kutambua matatizo yanayoweza kutokea.
Mahitaji ya awali
- Unapaswa kuwa tayari unaendesha mfano wa Geth.
- Hatua na mifano mingi ni kwa ajili ya mazingira ya linux, ujuzi wa msingi wa terminal utasaidia.
- Angalia muhtasari huu wa video wa seti ya vipimo vya Geth: Monitoring an Ethereum infrastructure by Péter Szilágyiopens in a new tab.
Rundo la ufuatiliaji
Mteja wa Ethereum hukusanya data nyingi ambayo inaweza kusomwa katika mfumo wa hifadhidata ya mpangilio wa matukio. Ili kurahisisha ufuatiliaji, unaweza kuiingiza katika programu ya kuonesha data. Kuna chaguo nyingi zinazopatikana:
- Prometheusopens in a new tab (mfumo wa kuvuta)
- InfluxDBopens in a new tab (mfumo wa kusukuma)
- Telegrafopens in a new tab
- Grafanaopens in a new tab
- Datadogopens in a new tab
- Chronografopens in a new tab
Pia kuna Geth Prometheus Exporteropens in a new tab, chaguo lililowekwa tayari na InfluxDB na Grafana.
Katika mafunzo haya, tutaweka mteja wako wa Geth ili kusukuma data kwenda InfluxDB ili kuunda hifadhidata na Grafana ili kuunda taswira ya grafu ya data. Kufanya hivi mwenyewe kutakusaidia kuelewa mchakato vizuri zaidi, kuubadilisha, na kuupeleka katika mazingira tofauti.
Inasanidi InfluxDB
Kwanza, hebu tupakue na kusakinisha InfluxDB. Chaguo mbalimbali za upakuaji zinaweza kupatikana kwenye ukurasa wa matoleo wa Influxdataopens in a new tab. Chagua ile inayoendana na mazingira yako. Unaweza pia kuisakinisha kutoka kwenye repositoryopens in a new tab. Kwa mfano katika usambazaji unaotegemea 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-clientBaada ya kusakinisha InfluxDB kwa mafanikio, hakikisha inaendeshwa chinichini. Kwa chaguo-msingi, inapatikana katika localhost:8086.
Kabla ya kutumia mteja wa influx, unapaswa kuunda mtumiaji mpya mwenye haki za msimamizi. Mtumiaji huyu atatumiwa kwa usimamizi wa ngazi ya juu, kuunda hifadhidata na watumiaji.
1curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER username WITH PASSWORD 'password' WITH ALL PRIVILEGES"Sasa unaweza kutumia mteja wa influx kuingia shell ya InfluxDBopens in a new tab na mtumiaji huyu.
1influx -username 'username' -password 'password'Kwa kuwasiliana moja kwa moja na InfluxDB kwenye shell yake, unaweza kuunda hifadhidata na mtumiaji kwa vipimo vya geth.
1unda hifadhidata geth2unda mtumiaji geth na nenosiri chaguapasswordThibitisha viingilio vilivyoundwa na:
1onyesha hifadhidata2onyesha watumiajiToka kwenye shell ya InfluxDB.
1tokaInfluxDB inaendeshwa na imesanidiwa kuhifadhi vipimo kutoka Geth.
Inatayarisha Geth
Baada ya kusanidi hifadhidata, tunahitaji kuwezesha ukusanyaji wa vipimo katika Geth. Zingatia METRICS AND STATS OPTIONS katika geth --help. Chaguo nyingi zinaweza kupatikana hapo, katika kesi hii tunataka Geth isukume data kwenye InfluxDB.
Usanidi wa msingi unabainisha kituo ambapo InfluxDB inapatikana na uthibitishaji wa hifadhidata.
1geth --metrics --metrics.influxdb --metrics.influxdb.endpoint "http://0.0.0.0:8086" --metrics.influxdb.username "geth" --metrics.influxdb.password "chosenpassword"Bendera hizi zinaweza kuongezwa kwenye amri inayoanzisha mteja au kuhifadhiwa kwenye faili ya usanidi.
Unaweza kuthibitisha kwamba Geth inasukuma data kwa mafanikio, kwa mfano kwa kuorodhesha vipimo katika hifadhidata. Katika shell ya InfluxDB:
1tumia geth2onyesha vipimoInasanidi Grafana
Hatua inayofuata ni kusakinisha Grafana ambayo itatafsiri data kwa njia ya picha. Fuata mchakato wa usakinishaji kwa mazingira yako katika nyaraka za Grafana. Hakikisha unasakinisha toleo la OSS ikiwa hutaki vinginevyo. Mfano wa hatua za usakinishaji kwa usambazaji wa Debian kwa kutumia 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-serverUkishafanikiwa kuendesha Grafana, inapaswa kupatikana kwenye localhost:3000.
Tumia kivinjari chako unachopendelea kufikia njia hii, kisha ingia na vitambulisho vya chaguo-msingi (mtumiaji: admin na nenosiri: admin). Unapoombwa, badilisha nenosiri la chaguo-msingi na uhifadhi.
Utaelekezwa kwenye ukurasa wa nyumbani wa Grafana. Kwanza, sanidi data yako chanzo. Bofya kwenye ikoni ya usanidi kwenye upau wa kushoto na uchague "Vyanzo vya data".
Bado hakuna vyanzo vya data vilivyoundwa, bofya kwenye "Ongeza chanzo cha data" ili kufafanua kimoja.
Kwa usanidi huu, chagua "InfluxDB" na uendelee.
Usanidi wa chanzo cha data ni rahisi sana ikiwa unaendesha zana kwenye mashine moja. Unahitaji kuweka anwani ya InfluxDB na maelezo ya kufikia hifadhidata. Rejelea picha hapa chini.
Ikiwa kila kitu kimekamilika na InfluxDB inapatikana, bofya kwenye "Hifadhi na ujaribu" na usubiri uthibitisho utokee.
Sasa Grafana imesanidiwa kusoma data kutoka InfluxDB. Sasa unahitaji kuunda dashibodi ambayo itatafsiri na kuionyesha. Sifa za dashibodi zimesimbwa katika faili za JSON ambazo zinaweza kuundwa na mtu yeyote na kuingizwa kwa urahisi. Kwenye upau wa kushoto, bofya kwenye "Unda na Ingiza".
Kwa dashibodi ya ufuatiliaji ya Geth, nakili ID ya dashibodi hiiopens in a new tab na uibandike kwenye "Ukurasa wa kuingiza" katika Grafana. Baada ya kuhifadhi dashibodi, inapaswa kuonekana kama hivi:
Unaweza kurekebisha dashibodi zako. Kila paneli inaweza kuhaririwa, kuhamishwa, kuondolewa au kuongezwa. Unaweza kubadilisha usanidi wako. Ni juu yako! Ili kujifunza zaidi kuhusu jinsi dashibodi zinavyofanya kazi, rejelea nyaraka za Grafanaopens in a new tab. Unaweza pia kupendezwa na Kuarifuopens in a new tab. Hii inakuwezesha kuweka arifa za tahadhari kwa wakati vipimo vinafikia thamani fulani. Njia mbalimbali za mawasiliano zinatumika.
Ukurasa ulihaririwa mwisho: 25 Agosti 2025







