mirror of
https://github.com/XRPLF/rippled.git
synced 2026-07-24 07:30:30 +00:00
Update the transform/cloudlabels processor to set service_instance_id instead of exported_instance, matching the local Prometheus path where resource_to_telemetry_conversion promotes service.instance.id with that exact label name. Also update source comments and documentation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
142 lines
3.5 KiB
INI
142 lines
3.5 KiB
INI
# xrpld configuration for Mainnet with full OpenTelemetry tracing.
|
|
#
|
|
# Connects to XRP Ledger Mainnet as an observer-only tracking node
|
|
# (no validator credentials) and exercises ALL instrumented workflows:
|
|
# RPC, transactions, consensus, peer overlay, ledger ops, and
|
|
# pathfinding.
|
|
#
|
|
# Usage:
|
|
# 1. Start the observability stack:
|
|
# docker compose -f docker/telemetry/docker-compose.yml up -d
|
|
# 2. Run xrpld:
|
|
# ./xrpld --conf docker/telemetry/xrpld-telemetry.cfg
|
|
# 3. Wait for sync (server_state=full), then exercise workflows:
|
|
# curl -s http://localhost:5005 -d '{"method":"server_info"}'
|
|
# 4. View traces in Grafana Explore -> Tempo: http://localhost:3000
|
|
|
|
# --- Server ports -----------------------------------------------------------
|
|
|
|
[server]
|
|
port_rpc_admin_local
|
|
port_ws_admin_local
|
|
port_ws_public
|
|
port_peer
|
|
|
|
[port_rpc_admin_local]
|
|
port = 5005
|
|
ip = 127.0.0.1
|
|
admin = 127.0.0.1
|
|
protocol = http
|
|
|
|
[port_ws_admin_local]
|
|
port = 6006
|
|
ip = 127.0.0.1
|
|
admin = 127.0.0.1
|
|
protocol = ws
|
|
|
|
[port_ws_public]
|
|
port = 6005
|
|
ip = 0.0.0.0
|
|
protocol = ws
|
|
|
|
[port_peer]
|
|
port = 51235
|
|
ip = 0.0.0.0
|
|
protocol = peer
|
|
|
|
# --- Network ----------------------------------------------------------------
|
|
|
|
[network_id]
|
|
main
|
|
|
|
# [ips] omitted on purpose. xrpld uses its built-in mainnet hub list
|
|
# (r.ripple.com, sahyadri.isrdc.in, hubs.xrpkuwait.com,
|
|
# hub.xrpl-commons.org) for peer discovery.
|
|
|
|
[validators_file]
|
|
validators-mainnet.txt
|
|
|
|
[peer_private]
|
|
0
|
|
|
|
[peers_max]
|
|
21
|
|
|
|
# --- Pathfinding (exercises ripple_path_find / path_find workflows) ---------
|
|
|
|
[path_search]
|
|
7
|
|
|
|
[path_search_fast]
|
|
2
|
|
|
|
[path_search_max]
|
|
10
|
|
|
|
# --- Signing (allows sign/sign_for RPC for test tx submission) --------------
|
|
|
|
[signing_support]
|
|
true
|
|
|
|
# --- Database ---------------------------------------------------------------
|
|
|
|
[node_db]
|
|
type=NuDB
|
|
path=docker/telemetry/data/nudb
|
|
online_delete=2000
|
|
advisory_delete=0
|
|
|
|
[database_path]
|
|
docker/telemetry/data
|
|
|
|
[ledger_history]
|
|
1000
|
|
|
|
# --- Logging ----------------------------------------------------------------
|
|
|
|
# Path is resolved relative to this config file's directory (docker/telemetry),
|
|
# so this writes to docker/telemetry/data/logs/mainnet/debug.log — the same
|
|
# dir the compose stack bind-mounts into the collector as /var/log/xrpld.
|
|
[debug_logfile]
|
|
data/logs/mainnet/debug.log
|
|
|
|
[rpc_startup]
|
|
{ "command": "log_level", "severity": "warning" }
|
|
|
|
# --- SSL --------------------------------------------------------------------
|
|
|
|
[ssl_verify]
|
|
0
|
|
|
|
# --- Insight (native OTel metrics via beast::insight) -----------------------
|
|
|
|
[insight]
|
|
server=otel
|
|
endpoint=http://localhost:4318/v1/metrics
|
|
prefix=xrpld
|
|
# Sets the OTel service.instance.id resource attribute, which Prometheus
|
|
# exposes as the `service_instance_id` label. Dashboards filter on it via the
|
|
# $node template variable, so without this every insight-backed panel is
|
|
# empty. Matches [telemetry] service_instance_id for a single node identity.
|
|
service_instance_id=xrpld-mainnet
|
|
|
|
# --- OpenTelemetry tracing --------------------------------------------------
|
|
|
|
[telemetry]
|
|
enabled=1
|
|
service_instance_id=xrpld-mainnet
|
|
endpoint=http://localhost:4318/v1/traces
|
|
metrics_endpoint=http://localhost:4318/v1/metrics
|
|
exporter=otlp_http
|
|
# Mainnet has high span throughput across peer/ledger/consensus. Head
|
|
# sampling is fixed at 1.0 (sample everything) and not configurable;
|
|
# reduce Tempo/collector load with collector-side tail sampling.
|
|
batch_size=512
|
|
batch_delay_ms=5000
|
|
max_queue_size=2048
|
|
trace_rpc=1
|
|
trace_transactions=1
|
|
trace_consensus=1
|
|
trace_peer=1
|
|
trace_ledger=1
|