Viimeksi päivitetty: 2025-08-22
Kora Metrics Crate tarjoaa kattavan mittaritiedon keräämisen ja seurannan Kora RPC -palvelimelle.
Kora tarjoaa /metrics-päätepisteen, joka antaa reaaliaikaista
suorituskykytietoa Prometheus-muodossa.
Konfigurointi
Mittarit konfiguroidaan kora.toml-tiedostosi [metrics]-osiossa.
[metrics]-osio määrittää mittaritiedon keräämisen ja seurannan. Tämä osio on
valinnainen ja oletusarvoisesti mittarit ovat poistettu käytöstä.
[metrics]enabled = trueendpoint = "/metrics"port = 8080scrape_interval = 60[metrics.fee_payer_balance]enabled = trueexpiry_seconds = 30
| Asetus | Kuvaus | Pakollinen | Tyyppi |
|---|---|---|---|
enabled | Ota mittaritiedon kerääminen käyttöön | ✅ | boolean |
endpoint | Mukautettu mittareiden päätepistereitti | ✅ | string |
port | Mittareiden päätepisteportti | ✅ | number |
scrape_interval | Prometheusin tiedonkeruutiheys (sekuntia) | ✅ | number |
Maksusuorittajan saldon seuranta
[metrics.fee_payer_balance]-osio konfiguroi maksusuorittajasi SOL-saldon
automaattisen seurannan:
| Asetus | Kuvaus | Pakollinen | Tyyppi |
|---|---|---|---|
enabled | Ota maksusuorittajan saldon seuranta käyttöön | ❌ (oletus: false) | boolean |
expiry_seconds | Taustapalvelun seuranta-aikaväli sekunteina | ❌ (oletus: 30) | number |
Kun tämä on käytössä, Kora seuraa automaattisesti maksusuorittajasi SOL-saldoa
ja näyttää sen fee_payer_balance_lamports Prometheus-mittarin kautta. Tämä
auttaa kapasiteettisuunnittelussa ja alhaisen saldon hälytyksessä.
Pikaopas
Käytä mittareita:
curl http://localhost:8080/metrics
Mitä näet
Mittarit näyttävät, miten RPC-palvelimesi suoriutuu:
# Total requests by method and statuskora_http_requests_total{method="signTransaction",status="200"} 42kora_http_requests_total{method="signTransaction",status="400"} 3# Request duration (in seconds) by methodkora_http_request_duration_seconds{method="signTransaction"} 0.045# Signer balances (for multi-signer setups)signer_balance_lamports{signer_name="primary_signer",signer_pubkey="4gBe...xyz"} 500000000signer_balance_lamports{signer_name="backup_signer",signer_pubkey="7XyZ...abc"} 300000000
Jos et ole vielä kutsunut RPC-palvelinta, et näe mittareita. Voit suorittaa
yksinkertaisen testin kutsumalla getConfig-metodia:
curl -X POST http://localhost:8080 \-H "Content-Type: application/json" \-d '{"jsonrpc": "2.0", "method": "getConfig", "id": 1}'
ja tarkista sitten mittarit:
curl http://localhost:8080/metrics
Keskeiset mittarit selitettynä
-
kora_http_requests_total- Kuinka monta pyyntöä olet käsitellytmethod: Mikä RPC-metodi kutsuttiinstatus: HTTP-tilakoodi (200=onnistui, 400=virhe, jne.)- Käytä tätä käyttömallien ja virheprosenttien seuraamiseen
-
kora_http_request_duration_seconds- Kuinka nopeita pyyntösi ovat- Näyttää prosenttiarvot (p50, p95, p99) vastausajoille
- Käytä tätä hitaiden päätepisteiden tunnistamiseen
-
signer_balance_lamports- Kunkin allekirjoittajan nykyinen SOL-saldo- Näyttää saldon lamporteina (1 SOL = 1 000 000 000 lamportia) kullekin allekirjoittajalle
- Tunnisteet:
signer_name(ihmisluettava nimi) jasigner_pubkey(julkinen avain) - Päivittyy automaattisesti taustalla, kun se on käytössä
- Käytä tätä kapasiteettisuunnitteluun ja matalan saldon hälytyksiin kaikille allekirjoittajille
Datan käyttäminen
Vaihtoehto 1: Nopea terveystarkistus
# See all metricscurl http://localhost:8080/metrics# Check specific method performancecurl http://localhost:8080/metrics | grep signTransaction
Vaihtoehto 2: Prometheus + Grafana (Suositeltu)
Kaavioita ja hälytyksiä varten aja koko valvontapino:
# from kora root directoryjust run-metrics
Sitten siirry:
- Prometheus: http://localhost:9090 (kyselymittarit)
- Grafana Esivalmisteltu Kora-kojelauta: http://localhost:3000
- Oletuskirjautuminen: admin/admin (tai käytä
GF_SECURITY_ADMIN_PASSWORD- jaGF_SECURITY_ADMIN_USER-tunnuksia.env-tiedostostasi)
- Oletuskirjautuminen: admin/admin (tai käytä
Vaihtoehto 3: Oma valvontajärjestelmäsi
Osoita mikä tahansa Prometheus-yhteensopiva työkalu osoitteeseen
http://your-server:8080/metrics:
- Datadog
- New Relic
- CloudWatch
- VictoriaMetrics
Esimerkkikyselyt (Prometheus)
# Requests per second by methodrate(kora_http_requests_total[1m])# 95th percentile response timehistogram_quantile(0.95, kora_http_request_duration_seconds_bucket)# Error raterate(kora_http_requests_total{status!="200"}[5m])# Balance of specific signer by namesigner_balance_lamports{signer_name="primary_signer"} / 1000000000# Balance of specific signer by public keysigner_balance_lamports{signer_pubkey="4gBe...xyz"} / 1000000000# Total balance across all signerssum(signer_balance_lamports) / 1000000000# Minimum balance across all signers (useful for alerts)min(signer_balance_lamports) / 1000000000
Monen allekirjoittajan valvonta
Kun käytät useita allekirjoittajia, voit valvoa kutakin allekirjoittajaa erikseen tai seurata yhteenlaskettuja mittareita:
Yksittäisen allekirjoittajan mittarit
# Check balance of specific signercurl http://localhost:8080/metrics | grep 'signer_balance_lamports{signer_name="primary_signer"}'# View all signer balancescurl http://localhost:8080/metrics | grep signer_balance_lamports
Prometheus-kyselyt moniallekirjoittajaympäristöille
# Alert if any signer has low balance (< 0.05 SOL)min(signer_balance_lamports) < 50000000# Monitor balance distribution across signerssigner_balance_lamports / on() group_left() sum(signer_balance_lamports)# Track signer with lowest balancemin_over_time(signer_balance_lamports[1h])# Count number of healthy signers (> 0.01 SOL)count(signer_balance_lamports > 10000000)# Average balance across all signersavg(signer_balance_lamports) / 1000000000
Turvallisuushuomautus
/metrics-päätepiste on oletuksena julkinen. Tuotantoympäristössä harkitse:
- Sen sijoittamista palomuurin taakse
- Erillisen metriikoiden portin käyttöä
- Autentikoinnin lisäämistä käänteisvälipalvelimen kautta
Miten metriikoiden kerääminen toimii
-
HTTP-väliohjelmistokerros – Sieppaa kaikki pyynnöt ja kerää:
- Pyyntöjen määrän JSON-RPC-metodin ja tilan mukaan
- Pyynnön keston metodin mukaan
-
Metriikoiden päätepiste –
/metrics-päätepiste avataan automaattisesti, kun ominaisuus on käytössä- Käsittelee
MetricsHandlerLayer - Palauttaa Prometheus-muotoisia metriikoita
- Käsittelee
-
Prometheusin kerääminen – Määritetty keräämään Korasta tietoja 60 sekunnin välein (katso
crates/lib/src/metrics/prometheus.yml)
Is this page helpful?