bitcoin-prometheus-exporter
bitcoin-prometheus-exporter copied to clipboard
err 403
Hi
I'm trying to connect to the exporter from grafana dashboard but getting this error
✔ Container exporter-exporter-1 Recreated 0.2s Attaching to exporter-1 exporter-1 | 2025-02-11T13:09:48Z DEBUG RPC call: uptime exporter-1 | 2025-02-11T13:09:48Z INFO Using environment configuration exporter-1 | 2025-02-11T13:09:48Z DEBUG Bitcoin RPC error refresh exporter-1 | Traceback (most recent call last): exporter-1 | File "/usr/local/lib/python3.8/site-packages/bitcoin/rpc.py", line 270, in _get_response exporter-1 | return json.loads(rdata, parse_float=decimal.Decimal) exporter-1 | File "/usr/local/lib/python3.8/json/init.py", line 370, in loads exporter-1 | return cls(**kw).decode(s) exporter-1 | File "/usr/local/lib/python3.8/json/decoder.py", line 337, in decode exporter-1 | obj, end = self.raw_decode(s, idx=_w(s, 0).end()) exporter-1 | File "/usr/local/lib/python3.8/json/decoder.py", line 355, in raw_decode exporter-1 | raise JSONDecodeError("Expecting value", s, err.value) from None exporter-1 | json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) exporter-1 | exporter-1 | During handling of the above exception, another exception occurred: exporter-1 | exporter-1 | Traceback (most recent call last): exporter-1 | File "/monitor/bitcoind-monitor.py", line 381, in refresh_app exporter-1 | refresh_metrics() exporter-1 | File "/monitor/bitcoind-monitor.py", line 267, in refresh_metrics exporter-1 | uptime = int(bitcoinrpc("uptime")) exporter-1 | File "/usr/local/lib/python3.8/site-packages/riprova/retry.py", line 129, in wrapper exporter-1 | return retrier.run(fn, *args, **_kw) exporter-1 | File "/usr/local/lib/python3.8/site-packages/riprova/retrier.py", line 291, in run exporter-1 | self._handle_error(err) exporter-1 | File "/usr/local/lib/python3.8/site-packages/riprova/retrier.py", line 232, in _handle_error exporter-1 | raise err exporter-1 | File "/usr/local/lib/python3.8/site-packages/riprova/retrier.py", line 288, in run exporter-1 | return self._call(fn, *args, **kw) exporter-1 | File "/usr/local/lib/python3.8/site-packages/riprova/retrier.py", line 162, in _call exporter-1 | res = fn(*args, **kw) exporter-1 | File "/monitor/bitcoind-monitor.py", line 199, in bitcoinrpc exporter-1 | result = rpc_client().call(*args) exporter-1 | File "/usr/local/lib/python3.8/site-packages/bitcoin/rpc.py", line 361, in call exporter-1 | return self._call(service_name, *args) exporter-1 | File "/usr/local/lib/python3.8/site-packages/bitcoin/rpc.py", line 233, in _call exporter-1 | response = self._get_response() exporter-1 | File "/usr/local/lib/python3.8/site-packages/bitcoin/rpc.py", line 272, in _get_response exporter-1 | raise JSONRPCError({ exporter-1 | bitcoin.rpc.JSONRPCError: {'code': -342, 'message': "non-JSON HTTP response with '403 Forbidden' from server: ''"} exporter-1 | 2025-02-11T13:09:48Z INFO Refresh took 0:00:00.005028 seconds
this is my docker file, I'm not using username/password for RPC but cookie docker is hosted on the same btc node
services: exporter: image: jvstein/bitcoin-prometheus-exporter:latest build: . ports: - "9332:9332" environment: BITCOIN_RPC_HOST: 192.168.88.2 BITCOIN_RPC_USER: BITCOIN_RPC_PASSWORD:
BITCOIN_CONF_PATH: /etc/bitcoin/bitcoin.conf
BITCOIN_CONF_PATH: /home/btc/bitcoin-core/.bitcoin/bitcoin.conf
REFRESH_SECONDS: 1
LOG_LEVEL: "DEBUG"
volumes:
# For explicit config file path (with BITCOIN_CONF_PATH above).
- /home/btc/bitcoin-core/.bitcoin/bitcoin.conf:/etc/bitcoin/bitcoin.conf
# For default bitcoin config location (nobody user).
# - ./test-bitcoin.conf:/.bitcoin/bitcoin.conf
any idea? thanks