a 200 line patch to add prometheus exports to https://github.com/purplei2p/i2pd
i2pd_router_*- router status, uptime, version, bandwidth limitsi2pd_tunnels_*- tunnel counts, queue sizes, success ratesi2pd_transport_*- peer counts, bandwidth, bytes transferredi2pd_netdb_*- known routers, floodfills, leasesetsi2pd_client_*- client destinations, tunnels, SAM sessions
{
inputs.i2pd-metrics.url = "github:raquentin/i2pd-metrics-inproc";
outputs = { nixpkgs, i2pd-metrics, ... }: {
nixosConfigurations.yourhost = nixpkgs.lib.nixosSystem {
modules = [
i2pd-metrics.nixosModules.default
{
services.i2pd.metrics = {
enable = true;
address = "127.0.0.1";
port = 9600;
};
}
];
};
};
}git clone --recursive https://github.com/raquentin/i2pd-metrics-inproc
cd i2pd-metrics-inproc
# generate patch
./generate-patch.sh
# apply patch to i2pd
cd /path/to/i2pd
git apply /path/to/i2pd-metrics.patch
# build i2pd
makeadd to i2pd.conf:
[metrics]
enabled = true
address = 127.0.0.1
port = 9600or via command-line arguments:
i2pd --metrics.enabled=1 --metrics.address=127.0.0.1 --metrics.port=9600add to prometheus.yml:
scrape_configs:
- job_name: 'i2pd'
static_configs:
- targets: ['localhost:9600']
scrape_interval: 15snix develop
# or install dependencies manually
# - g++
# - Boost (system, asio)
# - OpenSSL
# - zlib
make test
./generate-patch.shmake test- version: 2.59.0
- commit:
896f548175aa605efd15ecbfb744588e0c14f64f
BSD-3-Clause (matches i2pd license)