Вот и заопенсорсил свой метрик кешер: https://github.com/spions/metric-cacher-exporter — будет полезно тем, у кого в облаках берут денежки за каждый запрос при скрипинге метрик, а отказоустойчивость с несколькими зонами делать нужно. Экономия порядка 80%. Из особенностей — писался/вайбкодился проект пол дня, на языке, который не знаю, я больше по python. Opensource обвязка, инструкции, тесты и т.п. делалась еще 2 дня, так как я больше по gitlab стеку, да и helm chart пишу и использую с учетом нашей рабочей специфики. На агентах потратил примерно 5$ из 10$ подписки jetbrains.
metric-cacher-exporter — это прокси-сервис для кэширования метрик в формате Prometheus. Он предназначен для снижения нагрузки на системы и сервисы мониторинга путем кэширования дублирующих запросов в Redis.
Пример использования:
Для отказоустойчивости зонального VMStack применяют шардирование или репликацию.
Шардированный режим работы VMAgent не обеспечивает полноценной отказоустойчивости, так как при падении одной шарды (пода) в зоне данные от таргетов, которые эта шарда обрабатывала — потеряются.
Перевод VMAgent в режим репликации, например 2 и более реплик (как правило, ставят по количеству зон доступности), приводит:
Указанные проблемы решает metric-cacher-exporter. Подтвержденная экономия составила порядка 70-80% на итоговой стоимости услуги сбора метрик.
Основные возможности:
Установка и использование:
По умолчанию metric-cacher-exporter слушает HTTP-порт 8080.
docker run -d \ --name metric-cacher-exporter \ -p 8080:8080 \ -e REDIS_ADDR=redis:6379 \ spions/metric-cacher-exporter:latest
Использование:
Сервис работает как прокси. Вы передаете целевой адрес (upstream) в параметре target.
В конфигурации scrape config используйте relabelConfigs для перенаправления запросов через кэшер:
spec:
path: "/metrics"
scrape_interval: 60s
params:
cacheTTL:
- "45"
staticConfigs:
- targets: ["my-service:9090"]
relabelConfigs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: metric-cacher-exporter:8080
RSS
Твиттер
G+
Категория: 
