Adaptive Metrics, входящая в состав пакета Adaptive Telemetry, анализирует фактическое использование ваших метрик и дает рекомендации относительно того, какой уровень детализации следует сохранять для каждой из них. Это помогает сократить расходы, сохраняя при этом данные, которые вам действительно нужны.
В прошлом году мы добавили функции автоприменения, которые позволяют внедрять эти рекомендации автоматически, но только в режиме «приоритет покрытия», максимизируя охват того, что вы запрашиваете. Если вашей команде требовалось что-то иное, единственным вариантом было просматривать и применять рекомендации вручную.
Теперь, с выходом общедоступной версии автоприменения, мы добавили второй режим: «приоритет затрат». Это встроенный механизм защиты, который применяет только те рекомендации, которые не увеличат общее количество ваших активных серий, гарантируя, что оптимизация не приведет к резкому росту затрат.
Функция автоприменения непрерывно применяет рекомендации в любом из режимов без участия человека, при этом ваши существующие дашборды, алерты и запросы продолжают работать без изменений.
Как режим «приоритет затрат» решает, что применять
Каждая рекомендация, генерируемая Adaptive Metrics, сопровождается прогнозируемым изменением количества ваших серий — некоторые рекомендации уменьшают его, другие увеличивают. Режим «приоритет затрат» теперь может учитывать эти прогнозируемые изменения, подобно тщательному ручному анализу, в три этапа:
- Рекомендации по сокращению количества серий применяются всегда. Все, что снижает прогнозируемое количество серий, внедряется немедленно, включая совершенно новые рекомендации.
Рекомендации по сокращению количества серий применяются всегда. Все, что снижает прогнозируемое количество серий, внедряется немедленно, включая совершенно новые рекомендации.
- Рекомендации по увеличению количества серий ранжируются. Все, что может увеличить прогнозируемое количество серий, сортируется от наименее значимого к наиболее значимому.
Рекомендации по увеличению количества серий ранжируются. Все, что может увеличить прогнозируемое количество серий, сортируется от наименее значимого к наиболее значимому.
- Adaptive Metrics останавливается на текущем значении. Система проходит по ранжированному списку, применяя рекомендации до тех пор, пока следующая из них не приведет к превышению прогнозируемого количества серий по сравнению с началом цикла.
Adaptive Metrics останавливается на текущем значении. Система проходит по ранжированному списку, применяя рекомендации до тех пор, пока следующая из них не приведет к превышению прогнозируемого количества серий по сравнению с началом цикла.
Как режим «приоритет покрытия» решает, что применять
Режим «приоритет покрытия» работает проще, чем «приоритет затрат»: каждая рекомендация применяется сразу после генерации, независимо от того, уменьшает она количество серий или увеличивает.
- Применяется каждая рекомендация, ранжирование не требуется. «Приоритет покрытия» не взвешивает рекомендации друг относительно друга и не проверяет бюджет. Он просто применяет то, что находит Adaptive Metrics.
Применяется каждая рекомендация, ранжирование не требуется. «Приоритет покрытия» не взвешивает рекомендации друг относительно друга и не проверяет бюджет. Он просто применяет то, что находит Adaptive Metrics.
- Увеличения применяются немедленно. Если поступает запрос на данные, которые уже были агрегированы, рекомендация по их восстановлению в полном разрешении применяется сразу, поскольку кому-то эти данные явно нужны.
Увеличения применяются немедленно. Если поступает запрос на данные, которые уже были агрегированы, рекомендация по их восстановлению в полном разрешении применяется сразу, поскольку кому-то эти данные явно нужны.
- Ваши метрики остаются в синхронизации с использованием. Поскольку то, что вы запрашиваете, меняется от недели к неделе, «приоритет покрытия» адаптируется автоматически, поэтому ничто из того, что вы действительно используете, не теряет в разрешении.
Ваши метрики остаются в синхронизации с использованием. Поскольку то, что вы запрашиваете, меняется от недели к неделе, «приоритет покрытия» адаптируется автоматически, поэтому ничто из того, что вы действительно используете, не теряет в разрешении.
Компромисс заключается в том, что именно для решения этой проблемы существует «приоритет затрат»: поскольку каждая рекомендация на увеличение также применяется, всплеск запросов к ранее агрегированным данным приводит к всплеску количества серий.
Упрощенный пример делает это наглядным. Допустим, цикл генерирует три рекомендации:
Рекомендация
Влияние на количество серий
Применено в «приоритете затрат»?
Применено в «приоритете покрытия»?
Почему
-10
Да
Да
Уменьшает количество серий
Да
Да
Итоговое значение остается на уровне или ниже начального
+10
Да
Привело бы к превышению итогового значения по сравнению с начальным
Чистый эффект заключается в том, что количество ваших серий остается неизменным или снижается. Оно никогда не превышает значение, с которого вы начали цикл, — именно на этой гарантии построен режим «приоритет затрат».
«Приоритет затрат» против «приоритета покрытия»: когда применять каждый из них
Первоначальное поведение автоприменения в Adaptive Metrics, «приоритет покрытия», максимизирует охват того, что вы действительно запрашиваете. Оно по-прежнему доступно и лучше подходит для некоторых ваших данных. Если набор данных критически важен для бизнеса, а ваша команда точно знает, что и зачем запрашивает, вы не хотите, чтобы что-то стояло между реальным запросом и исходными данными. Именно этот режим мы в Grafana Labs используем внутри компании для нашей собственной критической телеметрии.
Режим «приоритет затрат» лучше подходит там, где затраты важнее гарантированного полного покрытия. Например, он хорошо подойдет для запроса PromptQL, который запрашивает больше данных, чем предполагал автор, или для агента, выполняющего запросы от вашего имени без понимания влияния на затраты в будущем. Это становится все более распространенным явлением, поскольку менее опытные пользователи получают доступ к большим наборам данных, не осознавая потенциального влияния своих запросов. В таких случаях лучше позволить Adaptive Metrics сдерживать расходы, а затем просмотреть и восстановить конкретные данные позже, чем позволять системе автоматически деагрегировать их каждый раз, когда что-то запрашивается непреднамеренно.
Вам также не обязательно выбирать один режим для всех своих данных. Функция сегментов в Adaptive Metrics позволяет разделять телеметрию по выбранному вами измерению (например, по команде, среде или кластеру) и устанавливать разный режим для каждого сегмента независимо. Оставьте «приоритет покрытия» для сегментов, которыми управляют эксперты, и включите режим «приоритет затрат» для сегментов, где важнее предсказуемость затрат. Это одна и та же система; вы просто указываете ей, какую гарантию вы хотите и где.
Попробуйте автоприменение в Adaptive Metrics
Если вы уже используете Adaptive Metrics в Grafana Cloud, обе версии автоприменения доступны уже сегодня, дополнительная настройка не требуется. Перейдите в конфигурацию Adaptive Metrics, выберите сегмент и включите функцию, чтобы увидеть, как выбранный режим применяется в следующем цикле рекомендаций.
Полное описание механики и параметров конфигурации см. в документации по автоприменению. Стоит сначала создать исключения для всего, что вы не можете позволить себе потерять, и для внесения изменений вам потребуется роль администратора.
Вы также можете проверить свою экономию в Adaptive Telemetry, чтобы увидеть влияние на ваш счет в Grafana Cloud.
Впервые используете автоприменение? Пройдите полный путь обучения в нашей документации: Включение автоприменения в Grafana Adaptive Metrics.
Grafana Assistant — это самый простой способ начать работу с метриками, логами, трассировками, дашбордами и многим другим в Grafana Cloud. У нас есть щедрый бесплатный тарифный план и варианты для любого сценария использования.
/)






/)
/)
/)
/)