Если хранимые в prometheus метрики занимают много места, то можно хранить только нужное!!!
Начнем с самого прометея. Ниже пример конфига:
global:
evaluation_interval: 1m
scrape_interval: 10s
scrape_timeout: 10s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets:
- localhost:9090
metric_relabel_configs:
- source_labels: [__name__]
regex: 'go_.*|net_conntrack_.*|process_.*|prometheus_http_.*|prometheus_sd_(azure|consul|dns|kubernetes|kuma|nomad)_.*'
action: drop
Удаляет добрую половину на мой взгляд ненужных метрик.
Если у вас есть что-то из prometheus_sd_
, то поменяйте как необходимо.
Для достижения цели нужна версия выше v1.2.0 для collector.disable-defaults
,
но речь пойдет о node-exporter v1.5.0.
В аргументах к node-exporter пишем такое:
--web.config.file=/etc/default/prometheus-web-config.yml
--web.disable-exporter-metrics
--collector.disable-defaults
Практически полностью убирает все метрики, кроме бага. Чтож, поправим эту ситуацию.
- job_name: 'node'
metric_relabel_configs:
- source_labels: [__name__]
regex: 'promhttp_metric_handler_errors_total'
action: drop
Далее добавляем коллекторы и смотрим что нужно / не нужно.
Например в collector.cpu
можно убрать node_cpu_guest_seconds_total
.