nixos/prometheus: add gce_sd_configs scrapeConfig option
This commit is contained in:
parent
fe0ee326e0
commit
7958dbb8a7
@ -370,6 +370,14 @@ let
|
||||
List of file service discovery configurations.
|
||||
'';
|
||||
|
||||
gce_sd_configs = mkOpt (types.listOf promTypes.gce_sd_config) ''
|
||||
List of Google Compute Engine service discovery configurations.
|
||||
|
||||
See <link
|
||||
xlink:href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config">the
|
||||
relevant Prometheus configuration docs</link> for more detail.
|
||||
'';
|
||||
|
||||
static_configs = mkOpt (types.listOf promTypes.static_config) ''
|
||||
List of labeled target groups for this job.
|
||||
'';
|
||||
@ -555,6 +563,48 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
promTypes.gce_sd_config = types.submodule {
|
||||
options = {
|
||||
# Use `mkOption` instead of `mkOpt` for project and zone because they are
|
||||
# required configuration values for `gce_sd_config`.
|
||||
project = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
The GCP Project.
|
||||
'';
|
||||
};
|
||||
|
||||
zone = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
The zone of the scrape targets. If you need multiple zones use multiple
|
||||
gce_sd_configs.
|
||||
'';
|
||||
};
|
||||
|
||||
filter = mkOpt types.str ''
|
||||
Filter can be used optionally to filter the instance list by other
|
||||
criteria Syntax of this filter string is described here in the filter
|
||||
query parameter section: <link
|
||||
xlink:href="https://cloud.google.com/compute/docs/reference/latest/instances/list"
|
||||
/>.
|
||||
'';
|
||||
|
||||
refresh_interval = mkDefOpt types.str "60s" ''
|
||||
Refresh interval to re-read the instance list.
|
||||
'';
|
||||
|
||||
port = mkDefOpt types.int "80" ''
|
||||
The port to scrape metrics from. If using the public IP address, this
|
||||
must instead be specified in the relabeling rule.
|
||||
'';
|
||||
|
||||
tag_separator = mkDefOpt types.str "," ''
|
||||
The tag separator is used to separate the tags on concatenation.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
promTypes.relabel_config = types.submodule {
|
||||
options = {
|
||||
source_labels = mkOpt (types.listOf types.str) ''
|
||||
|
Loading…
Reference in New Issue
Block a user