Filtering Enabled Collectors
The Prometheus node exporter does not have a simple way to disable all default metrics without passing 20 flags to the process. In the documentation it looks like there might be an easier way to fetch only the relevant metrics:
Filtering enabled collectors
...
For advanced use the node_exporter can be passed an optional list of collectors to filter metrics. The collect parameter may be used multiple times. In Prometheus configuration you can use this syntax under the scrape config.
params:
collect:
- foo
- bar
This can be useful for having different Prometheus servers collect specific metrics from nodes.
My assumption is you put the params directly under your scrape_config because there's a matching params field. However, what exactly is supposed to go under collect? The examples foo and bar couldn't be any less descriptive. Is it the command-line argument (e.g., "--collector.cpu"), the collector name (e.g., "cpu"), the collector metric name (e.g., "node_cpu"), the actual metric (e.g., "node_cpu_seconds_total"), or something else?
prometheus prometheus-node-exporter
add a comment |
The Prometheus node exporter does not have a simple way to disable all default metrics without passing 20 flags to the process. In the documentation it looks like there might be an easier way to fetch only the relevant metrics:
Filtering enabled collectors
...
For advanced use the node_exporter can be passed an optional list of collectors to filter metrics. The collect parameter may be used multiple times. In Prometheus configuration you can use this syntax under the scrape config.
params:
collect:
- foo
- bar
This can be useful for having different Prometheus servers collect specific metrics from nodes.
My assumption is you put the params directly under your scrape_config because there's a matching params field. However, what exactly is supposed to go under collect? The examples foo and bar couldn't be any less descriptive. Is it the command-line argument (e.g., "--collector.cpu"), the collector name (e.g., "cpu"), the collector metric name (e.g., "node_cpu"), the actual metric (e.g., "node_cpu_seconds_total"), or something else?
prometheus prometheus-node-exporter
add a comment |
The Prometheus node exporter does not have a simple way to disable all default metrics without passing 20 flags to the process. In the documentation it looks like there might be an easier way to fetch only the relevant metrics:
Filtering enabled collectors
...
For advanced use the node_exporter can be passed an optional list of collectors to filter metrics. The collect parameter may be used multiple times. In Prometheus configuration you can use this syntax under the scrape config.
params:
collect:
- foo
- bar
This can be useful for having different Prometheus servers collect specific metrics from nodes.
My assumption is you put the params directly under your scrape_config because there's a matching params field. However, what exactly is supposed to go under collect? The examples foo and bar couldn't be any less descriptive. Is it the command-line argument (e.g., "--collector.cpu"), the collector name (e.g., "cpu"), the collector metric name (e.g., "node_cpu"), the actual metric (e.g., "node_cpu_seconds_total"), or something else?
prometheus prometheus-node-exporter
The Prometheus node exporter does not have a simple way to disable all default metrics without passing 20 flags to the process. In the documentation it looks like there might be an easier way to fetch only the relevant metrics:
Filtering enabled collectors
...
For advanced use the node_exporter can be passed an optional list of collectors to filter metrics. The collect parameter may be used multiple times. In Prometheus configuration you can use this syntax under the scrape config.
params:
collect:
- foo
- bar
This can be useful for having different Prometheus servers collect specific metrics from nodes.
My assumption is you put the params directly under your scrape_config because there's a matching params field. However, what exactly is supposed to go under collect? The examples foo and bar couldn't be any less descriptive. Is it the command-line argument (e.g., "--collector.cpu"), the collector name (e.g., "cpu"), the collector metric name (e.g., "node_cpu"), the actual metric (e.g., "node_cpu_seconds_total"), or something else?
prometheus prometheus-node-exporter
prometheus prometheus-node-exporter
asked Nov 15 '18 at 18:06
cpburnzcpburnz
9,1542077106
9,1542077106
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
There is another solution that is generic and can work with all exporters. relabel_map_config is a configuration option that can be set inside the prometheus config file. As specified in the documentation:
One use for this is to blacklist time series that are too expensive to
ingest.
Thus you can drop or keep metrics that match a regex. For instance, to only store the cpu metrics collected by the node exporter, you can use the following inside the prometheus.yml
file:
scrape_configs:
- job_name: node
static_configs:
- targets:
- localhost:9100
metric_relabel_configs:
- source_labels: [__name__]
regex: node_cpu_.*
action: keep
1
That feature looks more useful.
– cpburnz
Nov 17 '18 at 15:17
add a comment |
From testing the node collector the collect parameter must be the collector name. E.g., the name from --collector.cpu
is cpu
.
If you specify an invalid collector such as foo
, you'll receive the following HTTP "400 Bad Request" message:
Couldn't create missing collector: foo
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53325478%2ffiltering-enabled-collectors%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
There is another solution that is generic and can work with all exporters. relabel_map_config is a configuration option that can be set inside the prometheus config file. As specified in the documentation:
One use for this is to blacklist time series that are too expensive to
ingest.
Thus you can drop or keep metrics that match a regex. For instance, to only store the cpu metrics collected by the node exporter, you can use the following inside the prometheus.yml
file:
scrape_configs:
- job_name: node
static_configs:
- targets:
- localhost:9100
metric_relabel_configs:
- source_labels: [__name__]
regex: node_cpu_.*
action: keep
1
That feature looks more useful.
– cpburnz
Nov 17 '18 at 15:17
add a comment |
There is another solution that is generic and can work with all exporters. relabel_map_config is a configuration option that can be set inside the prometheus config file. As specified in the documentation:
One use for this is to blacklist time series that are too expensive to
ingest.
Thus you can drop or keep metrics that match a regex. For instance, to only store the cpu metrics collected by the node exporter, you can use the following inside the prometheus.yml
file:
scrape_configs:
- job_name: node
static_configs:
- targets:
- localhost:9100
metric_relabel_configs:
- source_labels: [__name__]
regex: node_cpu_.*
action: keep
1
That feature looks more useful.
– cpburnz
Nov 17 '18 at 15:17
add a comment |
There is another solution that is generic and can work with all exporters. relabel_map_config is a configuration option that can be set inside the prometheus config file. As specified in the documentation:
One use for this is to blacklist time series that are too expensive to
ingest.
Thus you can drop or keep metrics that match a regex. For instance, to only store the cpu metrics collected by the node exporter, you can use the following inside the prometheus.yml
file:
scrape_configs:
- job_name: node
static_configs:
- targets:
- localhost:9100
metric_relabel_configs:
- source_labels: [__name__]
regex: node_cpu_.*
action: keep
There is another solution that is generic and can work with all exporters. relabel_map_config is a configuration option that can be set inside the prometheus config file. As specified in the documentation:
One use for this is to blacklist time series that are too expensive to
ingest.
Thus you can drop or keep metrics that match a regex. For instance, to only store the cpu metrics collected by the node exporter, you can use the following inside the prometheus.yml
file:
scrape_configs:
- job_name: node
static_configs:
- targets:
- localhost:9100
metric_relabel_configs:
- source_labels: [__name__]
regex: node_cpu_.*
action: keep
answered Nov 17 '18 at 15:03
yamenkyamenk
13.9k31733
13.9k31733
1
That feature looks more useful.
– cpburnz
Nov 17 '18 at 15:17
add a comment |
1
That feature looks more useful.
– cpburnz
Nov 17 '18 at 15:17
1
1
That feature looks more useful.
– cpburnz
Nov 17 '18 at 15:17
That feature looks more useful.
– cpburnz
Nov 17 '18 at 15:17
add a comment |
From testing the node collector the collect parameter must be the collector name. E.g., the name from --collector.cpu
is cpu
.
If you specify an invalid collector such as foo
, you'll receive the following HTTP "400 Bad Request" message:
Couldn't create missing collector: foo
add a comment |
From testing the node collector the collect parameter must be the collector name. E.g., the name from --collector.cpu
is cpu
.
If you specify an invalid collector such as foo
, you'll receive the following HTTP "400 Bad Request" message:
Couldn't create missing collector: foo
add a comment |
From testing the node collector the collect parameter must be the collector name. E.g., the name from --collector.cpu
is cpu
.
If you specify an invalid collector such as foo
, you'll receive the following HTTP "400 Bad Request" message:
Couldn't create missing collector: foo
From testing the node collector the collect parameter must be the collector name. E.g., the name from --collector.cpu
is cpu
.
If you specify an invalid collector such as foo
, you'll receive the following HTTP "400 Bad Request" message:
Couldn't create missing collector: foo
answered Nov 16 '18 at 14:56
cpburnzcpburnz
9,1542077106
9,1542077106
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53325478%2ffiltering-enabled-collectors%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown