Adaptive Metrics, часть пакета Adaptive Telemetry, анализирует фактическое использование ваших метрик и рекомендует, какой уровень детализации следует сохранять для каждой из них. Это помогает сократить расходы, сохраняя при этом данные, которые вам действительно нужны.
В прошлом году мы добавили возможности автоматического применения, которые позволяют внедрять эти рекомендации автоматически, но только в режиме «приоритет покрытия», максимизируя охват того, что вы запрашиваете. Если вашей команде требовалось что-то иное, единственным вариантом было просматривать и применять рекомендации вручную.
Теперь, с выходом функции автоматического применения в общедоступную версию (General Availability), мы добавили второй режим: «приоритет затрат» — встроенный механизм защиты, который применяет только те рекомендации, которые не увеличат общее количество ваших активных серий, гарантируя, что оптимизация не приведет к резкому росту затрат.
Функция автоматического применения непрерывно внедряет рекомендации в любом из режимов без участия человека, при этом ваши существующие дашборды, алерты и запросы продолжают работать без изменений.
Как режим «приоритет затрат» решает, что применять
Каждая рекомендация, создаваемая 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. У нас есть щедрый бесплатный тарифный план навсегда и планы для любого варианта использования.
/)



/)


/)
/)