diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index cb6932ef1026..d8384e0d35b3 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -196,6 +196,17 @@ let
be preserved.
'';
+ honor_timestamps = mkDefOpt types.bool "true" ''
+ honor_timestamps controls whether Prometheus respects the timestamps present
+ in scraped data.
+
+ If honor_timestamps is set to true, the timestamps of the metrics exposed
+ by the target will be used.
+
+ If honor_timestamps is set to false, the timestamps of the metrics exposed
+ by the target will be ignored.
+ '';
+
scheme = mkDefOpt (types.enum ["http" "https"]) "http" ''
The URL scheme with which to fetch metrics from targets.
'';
@@ -223,10 +234,30 @@ let
Optional http login credentials for metrics scraping.
'';
+ bearer_token = mkOpt types.str ''
+ Sets the `Authorization` header on every scrape request with
+ the configured bearer token. It is mutually exclusive with
+ .
+ '';
+
+ bearer_token_file = mkOpt types.str ''
+ Sets the `Authorization` header on every scrape request with
+ the bearer token read from the configured file. It is mutually
+ exclusive with .
+ '';
+
tls_config = mkOpt promTypes.tls_config ''
Configures the scrape request's TLS settings.
'';
+ proxy_url = mkOpt types.str ''
+ Optional proxy URL.
+ '';
+
+ ec2_sd_configs = mkOpt (types.listOf promTypes.ec2_sd_config) ''
+ List of EC2 service discovery configurations.
+ '';
+
dns_sd_configs = mkOpt (types.listOf promTypes.dns_sd_config) ''
List of DNS service discovery configurations.
'';
@@ -243,13 +274,15 @@ let
List of labeled target groups for this job.
'';
- ec2_sd_configs = mkOpt (types.listOf promTypes.ec2_sd_config) ''
- List of EC2 service discovery configurations.
- '';
-
relabel_configs = mkOpt (types.listOf promTypes.relabel_config) ''
List of relabel configurations.
'';
+
+ sample_limit = mkDefOpt types.int "0" ''
+ Per-scrape limit on number of scraped samples that will be accepted.
+ If more than this number of samples are present after metric relabelling
+ the entire scrape will be treated as failed. 0 means no limit.
+ '';
};
};
@@ -368,13 +401,40 @@ let
password = mkOpt types.str "Consul password";
+ tls_config = mkOpt promTypes.tls_config ''
+ Configures the Consul request's TLS settings.
+ '';
+
services = mkOpt (types.listOf types.str) ''
A list of services for which targets are retrieved.
'';
+ tags = mkOpt (types.listOf types.str) ''
+ An optional list of tags used to filter nodes for a given
+ service. Services must contain all tags in the list.
+ '';
+
+ node_meta = mkOpt (types.attrsOf types.str) ''
+ Node metadata used to filter nodes for a given service.
+ '';
+
tag_separator = mkDefOpt types.str "," ''
The string by which Consul tags are joined into the tag label.
'';
+
+ allow_stale = mkOpt types.bool ''
+ Allow stale Consul results
+ (see ).
+
+ Will reduce load on Consul.
+ '';
+
+ refresh_interval = mkDefOpt types.str "30s" ''
+ The time after which the provided names are refreshed.
+
+ On large setup it might be a good idea to increase this value
+ because the catalog will change all the time.
+ '';
};
};
@@ -416,6 +476,10 @@ let
Regular expression against which the extracted value is matched.
'';
+ modulus = mkOpt types.int ''
+ Modulus to take of the hash of the source label values.
+ '';
+
replacement = mkDefOpt types.str "$1" ''
Replacement value against which a regex replace is performed if the
regular expression matches.