Покопавшись в Google пару дней, я обнаружил, что есть много неиспользуемых метрик, для которых мы можем отбросить образцы [1].
Поиск в каталоге prometheus на предмет использования метрик, выборка которых очень высока - Запрос для поиска prometheus metrics-
topk(20, count by (__name__, job)({__name__=~".+"}))
Если вы нашли здесь, в списке, метрики tcp или udp. Попробуйте выполнить эти метрики на prometheus, если значение равно нулю, их можно безопасно удалить, поскольку эти метрики уже отключены на уровне CAdvisor, поскольку они производят большое количество выборок.
bash команд для проверки использования этих метрик где угодно в prometheus или grafana-
cd <prometheus dir>
grep -irn <metric_name>
, если нигде не используется, просто добавьте действие drop для этого конкретного задания.
Примечание - вы получите jobname
в запросе promQL, выполненном вначале.
Я использую оператор prometheus, поэтому для этого мне нужно отредактировать соответствующее определение servicemonitor. Если вы развертываете prometheus обычным способом, вам может потребоваться отредактировать файл prometheus.yaml.
metric_relabel_configs:
- source_labels: [ __name__ ]
regex: 'metric_name'
action: drop
Ссылка: - .
[1] https://www.robustperception.io/dropping-metrics-at-scrape-time-with-prometheus
[ 2] Формула для расчета необходимого RAM-
https://www.robustperception.io/how-much-ram-does-prometheus-2-x-need-for-cardinality-and-ingestion