Collects statistics from parity or geth node via JSON-RPC and exports it in prometheus metrics format.
Example metrics data.
Tested with ethereum RPC clients:
- Geth
v1.8.27 - Parity-Ethereum
v2.5.5
Put in your docker-compose.yml
exporter:
image: 4ops/ethereum-exporter:v0.1.0
ports:
- '9133:9133'
environment:
ETHEREUM_API_URL: http://geth:8545See full example in docker directory.
Example spec for ethereum-exporter container:
- env:
- name: ETHEREUM_API_URL
valueFrom:
secretKeyRef:
name: geth-credentials
key: ETHEREUM_API_URL
image: 4ops/ethereum-exporter:v0.1.0
readinessProbe:
httpGet:
path: /metrics
port: http-metrics
timeoutSeconds: 3
initialDelaySeconds: 5
periodSeconds: 10
name: metrics-exporter
ports:
- containerPort: 9144
name: http-metrics
protocol: TCP
resources:
requests:
cpu: 100m
memory: 200Mi
limits:
cpu: 100m
memory: 200Mi
securityContext:
allowPrivilegeEscalation: false
runAsGroup: 1000
runAsUser: 1000
procMount: DefaultSee full example in kubernetes directory.
Ethereum exporter reads environments variables at startup. No more config files are required.
ETHEREUM_API_URL- path to http(s) api interface.
METRICS_URL- path for prometheus scrapes. Default:/metricsMETRICS_PORT- metrics server port number. Default:9144METRICS_PREFIX- prefix for naming metrics. Default:ethereum_
LOG_LEVEL- logging verbosity level. Maybe on of:debug,info,notice,warn,warning,error.LOG_TIME- timestamp format in logs. Default - none. Any non-empty value prints timestamps (ISO 8601 format).