Поделиться через


Выборка в Azure Monitor Application Insights с помощью OpenTelemetry

Application Insights включает в себя пользовательский образец и интегрируется с OpenTelemetry для уменьшения объема данных телеметрии, снижения затрат и хранения диагностических данных, о которые вы заботитесь.

Это важно

Сведения о выборке при использовании классических пакетов SDK для классических API Application Insights см. в разделе "Классическая выборка API".

Предпосылки

Прежде чем продолжить, убедитесь, что у вас есть:

Почему выборка имеет значение

Выборка необходима для приложений, создающих большие объемы телеметрии. Без использования выборки чрезмерное поступление данных может увеличить затраты на хранение и обработку, а также привести к тому, что Application Insights будет ограничивать телеметрию. Эффективная выборка сохраняет достаточно данных для смысленной диагностики при управлении затратами.

Выборка не включена по умолчанию в дистрибутивах Application Insights OpenTelemetry. Вы должны явно включить и настроить фильтрацию для управления объемом телеметрии.

Замечание

Если вы видите непредвиденные расходы или высокие затраты в Application Insights, это руководство может помочь. В ней рассматриваются распространенные причины, такие как высокий объем телеметрии, пики приема данных и неправильно настроенная выборка. Особенно полезно, если вы устраняете проблемы, связанные с резким увеличением затрат, объемом телеметрии, неисправной выборкой, ограничениями данных, высокой нагрузкой на прием данных или неожиданными счетами. Чтобы начать, ознакомьтесь с материалом по устранению неполадок в случае высокого объёма поступающих данных в Application Insights.

Пользовательский семплер Application Insights

Дистрибутив Azure Monitor, основанный на OpenTelemetry, включает настраиваемый сэмплер.

  • По умолчанию семплер отключен. Необходимо явно включить и настроить выборку для использования примера.
  • Application Insights использует этот отборщик, чтобы показать полные трассировки и избежать сломанных.
  • Живые метрики и классические SDK API Application Insights требуют этого семплера для обеспечения совместимости.

Параметры выборки

Application Insights поддерживает две стратегии выборки:

  • Фиксированная ставка (процент): Задайте коэффициент выборки от 0 до 1.

    Пример: 0.1 отправляет около 10% трассировки в Azure Monitor.

  • Ограничение скорости: Задайте максимальное количество трассировок в секунду.

    Пример: 0.5 ≈ одну трассировку каждые две секунды; 5.0 = пять трассировок в секунду.

Необязательная функция выборки на основе трассировки для журналов доступна для поддерживаемых языков, которая сбрасывает журналы, привязанные к невыборочным трассировкам. Эта функция включена по умолчанию, если выборка включена.

Сведения о настройке выборки см. в статье "Включение выборки в Application Insights" с помощью OpenTelemetry.

Преимущества настраиваемого сэмплера

  • Уменьшает сломанные трассировки и помогает обеспечить согласованные решения по выборке
  • Поддерживает совместимость с динамическими метриками и может использоваться вместе с классическими пакетами SDK

Для более подробной информации и изучения редких случаев выборки см. Часто задаваемые вопросы.

Общие рекомендации по выборке

Используйте следующие общие рекомендации, если вы не уверены, где начать работу.

  • Метрики не выборочные данные. Используйте их для надежного оповещения о ключевых сигналах служб и зависимостей.

  • Журналы: Настройте ведение журнала приложений для экспорта только журналов ОШИБок. Добавьте WARN только в том случае, если это осуществимо. Трассировочная выборка журналов включена по умолчанию и удаляет журналы, связанные с трассировками без выборки.

  • Следы: Примеры следов, как показано в наших стандартных примерах. Если ошибки и процессы производительности кажутся неполными, увеличьте частоту.

Выборка приема — это резервная версия, когда управление уровнем источника невозможно. Он удаляет данные в точке приема Azure Monitor и не обеспечивает контроль над сохранением трассировок и диапазонов. Это повышает вероятность встречи с поврежденными следами.

В сценариях, где это единственный жизнеспособный или наиболее практический вариант:

  • Невозможно изменить исходный код приложения.
  • Необходимо немедленно сократить объем данных телеметрии без повторного развертывания приложений.
  • Вы получаете данные телеметрии из нескольких источников с несогласованными или неизвестными конфигурациями выборки.

Чтобы настроить выборку данных при приеме:

  1. Перейдите к использованию Application Insights>и предполагаемым затратам.
  2. Выберите выборку данных.
  3. Выберите процент сохраненных данных.

Установка ежедневного ограничения

Установите ежедневное ограничение, чтобы предотвратить непредвиденные затраты. Это ограничение останавливает прием телеметрии при достижении порогового значения.

Используйте эту крышку в качестве элемента управления последнего использования, а не замены для выборки. Внезапное увеличение объема данных может вызвать срабатывание ограничения, создав разрыв в телеметрии, который исчезнет на следующий день после сброса.

Сведения о настройке ограничения см. Установление лимита на день для Azure Monitor.

Дальнейшие шаги