
Комментарии 6
vmagent из коробки умеет (то есть решает описанные вами проблемы):
распределять скрейпинг между разными агентами (чтобы несколько агентов не долбили один таргет) https://docs.victoriametrics.com/victoriametrics/vmagent/#scraping-big-number-of-targets
дедуплицировать и аггрегировать данные https://docs.victoriametrics.com/victoriametrics/stream-aggregation/#deduplication
Плюс, появляется дополнительная точка отказа в виде самописного прокси, имеющего еще и внешнюю зависимость в виде редиса.
В целом то как практика нестандартного подхода к решению проблемы это хорошо, за статью плюсик. Но рекомендую более детально ознакомится с документацией, там много полезного.
А вы точно внимательно ознакомились с материалом? Все верно vmagent умеет, описанное вами (и мной), но не решает x2-x3 ценник за запросы, о чем собственно и описано в самом начале и для чего по сути был сделан кешер. На счет зависимости от redis - ее нет, в случае любых проблем, кешер становится просто прозрачным proxy, отказоустойчивость, которого обеспечивает k8s. Последнее было еще оттестировано на прерываемых нодах кластера.
почему не использовать nginx для кеширования?
как пример https://github.com/VictoriaMetrics/prometheus-benchmark/blob/main/chart/templates/vmagent/nginx-cm.yaml
Схема работы метрик кешера подразумевает, что их минимум 2+. В метрик кешере кеш общий для нескольких запущенных подов, у каждого пода Nginx кеш будет свой.
Как экономить на сборе метрик: кеширующий прокси для VictoriaMetrics