Merge pull request #48307 from delroth/prom-tor
prometheus-tor-exporter: init at 0.3
This commit is contained in:
commit
df2696c430
@ -986,6 +986,11 @@
|
||||
github = "deepfire";
|
||||
name = "Kosyrev Serge";
|
||||
};
|
||||
delroth = {
|
||||
email = "delroth@gmail.com";
|
||||
github = "delroth";
|
||||
name = "Pierre Bourdon";
|
||||
};
|
||||
deltaevo = {
|
||||
email = "deltaduartedavid@gmail.com";
|
||||
github = "DeltaEvo";
|
||||
|
@ -30,6 +30,7 @@ let
|
||||
postfix = import ./exporters/postfix.nix { inherit config lib pkgs; };
|
||||
snmp = import ./exporters/snmp.nix { inherit config lib pkgs; };
|
||||
surfboard = import ./exporters/surfboard.nix { inherit config lib pkgs; };
|
||||
tor = import ./exporters/tor.nix { inherit config lib pkgs; };
|
||||
unifi = import ./exporters/unifi.nix { inherit config lib pkgs; };
|
||||
varnish = import ./exporters/varnish.nix { inherit config lib pkgs; };
|
||||
};
|
||||
|
@ -0,0 +1,40 @@
|
||||
{ config, lib, pkgs }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.prometheus.exporters.tor;
|
||||
in
|
||||
{
|
||||
port = 9130;
|
||||
extraOpts = {
|
||||
torControlAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
description = ''
|
||||
Tor control IP address or hostname.
|
||||
'';
|
||||
};
|
||||
|
||||
torControlPort = mkOption {
|
||||
type = types.int;
|
||||
default = 9051;
|
||||
description = ''
|
||||
Tor control port.
|
||||
'';
|
||||
};
|
||||
};
|
||||
serviceOpts = {
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
ExecStart = ''
|
||||
${pkgs.prometheus-tor-exporter}/bin/prometheus-tor-exporter \
|
||||
-b ${cfg.listenAddress} \
|
||||
-p ${toString cfg.port} \
|
||||
-a ${cfg.torControlAddress} \
|
||||
-c ${toString cfg.torControlPort} \
|
||||
${concatStringsSep " \\\n " cfg.extraFlags}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
37
pkgs/servers/monitoring/prometheus/tor-exporter.nix
Normal file
37
pkgs/servers/monitoring/prometheus/tor-exporter.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ lib, fetchFromGitHub, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
name = "tor-exporter-${version}";
|
||||
version = "0.3";
|
||||
|
||||
# Just a single .py file to use as the application's main entry point.
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "atx";
|
||||
repo = "prometheus-tor_exporter";
|
||||
sha256 = "0d7pk8s8ya2pm8b4ijbfdniqcbd3vqy15dlhnmaf4wgb51pmm5yv";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ prometheus_client stem retrying ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/
|
||||
cp prometheus-tor-exporter.py $out/share/
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
makeWrapper "${python3Packages.python.interpreter}" "$out/bin/prometheus-tor-exporter" \
|
||||
--set PYTHONPATH "$PYTHONPATH" \
|
||||
--add-flags "$out/share/prometheus-tor-exporter.py"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Prometheus exporter that exposes metrics from a Tor daemon";
|
||||
homepage = https://github.com/atx/prometheus-tor_exporter;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ delroth ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -13528,6 +13528,7 @@ with pkgs;
|
||||
prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix {
|
||||
buildGoPackage = buildGo110Package;
|
||||
};
|
||||
prometheus-tor-exporter = callPackage ../servers/monitoring/prometheus/tor-exporter.nix { };
|
||||
prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-bridge.nix { };
|
||||
prometheus-surfboard-exporter = callPackage ../servers/monitoring/prometheus/surfboard-exporter.nix { };
|
||||
prometheus-unifi-exporter = callPackage ../servers/monitoring/prometheus/unifi-exporter { };
|
||||
|
Loading…
Reference in New Issue
Block a user