mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
nixos/prometheus-varnish-exporter: update module
This commit is contained in:
parent
4bca8f8d25
commit
cb4c2834ef
1 changed files with 68 additions and 2 deletions
|
@ -7,14 +7,80 @@ let
|
|||
in
|
||||
{
|
||||
port = 9131;
|
||||
extraOpts = {
|
||||
noExit = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Do not exit server on Varnish scrape errors.
|
||||
'';
|
||||
};
|
||||
withGoMetrics = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Export go runtime and http handler metrics.
|
||||
'';
|
||||
};
|
||||
verbose = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable verbose logging.
|
||||
'';
|
||||
};
|
||||
raw = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable raw stdout logging without timestamps.
|
||||
'';
|
||||
};
|
||||
varnishStatPath = mkOption {
|
||||
type = types.str;
|
||||
default = "varnishstat";
|
||||
description = ''
|
||||
Path to varnishstat.
|
||||
'';
|
||||
};
|
||||
instance = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
varnishstat -n value.
|
||||
'';
|
||||
};
|
||||
healthPath = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Path under which to expose healthcheck. Disabled unless configured.
|
||||
'';
|
||||
};
|
||||
telemetryPath = mkOption {
|
||||
type = types.str;
|
||||
default = "/metrics";
|
||||
description = ''
|
||||
Path under which to expose metrics.
|
||||
'';
|
||||
};
|
||||
};
|
||||
serviceOpts = {
|
||||
path = [ pkgs.varnish ];
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
ExecStart = ''
|
||||
${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \
|
||||
-web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
|
||||
${concatStringsSep " \\\n " cfg.extraFlags}
|
||||
--web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
|
||||
--web.telemetry-path ${cfg.telemetryPath} \
|
||||
--varnishstat-path ${cfg.varnishStatPath} \
|
||||
${concatStringsSep " \\\n " (cfg.extraFlags
|
||||
++ optional (cfg.healthPath != null) "--web.health-path ${cfg.healthPath}"
|
||||
++ optional (cfg.instance != null) "-n ${cfg.instance}"
|
||||
++ optional cfg.noExit "--no-exit"
|
||||
++ optional cfg.withGoMetrics "--with-go-metrics"
|
||||
++ optional cfg.verbose "--verbose"
|
||||
++ optional cfg.raw "--raw")}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue