Skip to content

Commit 53bfae8

Browse files
committed
Reduce container metrics cardinality
Adds support for passing extra runtime options to cAdvisor. By default new options disable exporting rarely useful metrics and labels by cAdvisor. This helps reducing the load on Prometheus and cAdvisor itself. Change-Id: Id0144e8fa518e3236cb94ba2e3961fb455d36443
1 parent b32935e commit 53bfae8

File tree

4 files changed

+15
-1
lines changed

4 files changed

+15
-1
lines changed

ansible/roles/prometheus/defaults/main.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,3 +249,5 @@ prometheus_openstack_exporter_disabled_dns: "{{ '--disable-service.dns' if not e
249249
prometheus_openstack_exporter_disabled_object: "{{ '--disable-service.object-store' if not enable_swift | bool else '' }}"
250250
prometheus_openstack_exporter_disabled_lb: "{{ '--disable-service.load-balancer --disable-metric=neutron-loadbalancers --disable-metric=neutron-loadbalancers_not_active' if not enable_octavia | bool else '' }}"
251251
prometheus_openstack_exporter_disabled_items: "{{ [prometheus_openstack_exporter_disabled_volume, prometheus_openstack_exporter_disabled_dns, prometheus_openstack_exporter_disabled_object, prometheus_openstack_exporter_disabled_lb|trim]|join(' ')|trim }}"
252+
253+
prometheus_cadvisor_cmdline_extras: "--docker_only --store_container_labels=false"

ansible/roles/prometheus/templates/prometheus-cadvisor.json.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"command": "/opt/cadvisor --port={{ prometheus_cadvisor_port }} --log_dir=/var/log/kolla/prometheus",
2+
"command": "/opt/cadvisor {{ prometheus_cadvisor_cmdline_extras }} --port={{ prometheus_cadvisor_port }} --log_dir=/var/log/kolla/prometheus",
33
"config_files": [],
44
"permissions": [
55
{

etc/kolla/globals.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,10 @@
668668
# List of extra parameters passed to prometheus. You can add as many to the list.
669669
#prometheus_cmdline_extras:
670670

671+
# List of extra parameters passed to cAdvisor. By default system cgroups
672+
# and container labels are not exposed to reduce time series cardinality.
673+
#prometheus_cadvisor_cmdline_extras: "--docker_only --store_container_labels=false"
674+
671675
# Example of setting endpoints for prometheus ceph mgr exporter.
672676
# You should add all ceph mgr's in your external ceph deployment.
673677
#prometheus_ceph_mgr_exporter_endpoints:
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
features:
3+
- |
4+
Adds support for passing extra runtime options to cAdvisor via
5+
``prometheus_cadvisor_cmdline_extras`` new variable. By default
6+
system cgroups' metrics are disabled, plus container labels
7+
don't get exposed to Prometheus. This creates savings in resources
8+
usage by both cAdvisor and Prometheus.

0 commit comments

Comments
 (0)