Концепции распределенных трассировок
Распределенные трассировки PurePath — это сквозные транзакции, захваченные ЕдинымАгентом. Каждую минуту статистически значимое количество сквозных распределенных трассировок записывается в каждом отслеживаемом процессе. Каждая трассировка содержит информацию на уровне кода и бизнес-информацию, полученную из вызовов уровня обслуживания на нескольких уровнях. Поскольку каждая трассировка записывается полностью, уровни второго и третьего уровня часто захватывают больше общих вызовов обслуживания, чем процессы точки входа.
При большом объеме транзакций захват всех трассировок может привести к увеличению требований к пропускной способности сети. ЕдиныйАгент предоставляет встроенный ограничитель для управления такими случаями. Каждому процессу, отслеживаемому ЕдинымАгентом, разрешено запускать только определенное количество распределенных трассировок в минуту. После достижения квоты отслеживаемый трафик используется максимально эффективным способом с помощью интеллектуального механизма адаптивного управления трафиком.
Чем адаптивное управление отличается от других механизмов выборки?
В типичных приложениях распределение запросов неравномерно. Скорее, это комбинация: большого количества уникальных URL, среднего количества важных запросов и, наконец, нескольких видов запросов, которые составляют большую часть трафика (например, запросы изображений или проверки статуса).
Благодаря адаптивному управлению трафиком ЕдиныйАгент сначала рассчитывает список самых популярных запросов, начиная с каждой минуты, а затем извлекает из него:
- Большинство следов уникальных и редких запросов.
- Значительный, но меньший объем очень частых запросов.
Поскольку выборка не является случайной, все важные данные собираются, сохраняя при этом статистически достоверный набор выборки.
Пример
В следующей таблице представлен пример расчета основных запросов, а также соответствующие показатели захвата.
Запрос | Количество обработанных приложением запросов | Фактор захвата | Захваченные распределенные следы |
---|---|---|---|
URI А | 900 | 1/2 | 450 |
URI-код B | 440 | 1/2 | 220 |
URI-код C | 250 | 1 | 250 |
URI D | 60 | 1 | 60 |
…50 других URI | 100 | 1 | 100 |
Общий: | 1500 | 1080 |
В этом примере ЕдиныйАгент захватывает чуть больше 1000 запросов/мин, в соответствии с настроенным целевым числом запросов. В зависимости от фактора захвата URI захватываются каждый раз (URI C, D и 50 других URI) или только 50% времени (URI A и B). В этом последнем случае запросы отслеживаются ЕдинымАгентом сквозным образом более 600 раз/мин.
Эффект адаптивного управления трафиком можно увидеть в распределенном списке трассировки. Если ЕдиныйАгент выполняет выборку и не все запросы захвачены, то захваченные трассировки укажут, что похожие запросы не были захвачены с сообщением [amount] more like this
в распределенном списке трассировки.
Таким образом, ЕдиныйАгент сокращает объем данных, отправляемых в вашу среду, гарантируя, что объем зафиксированных трассировок останется в пределах вашего соглашения Ключ-АСТРОМ.
Использование адаптивного управления трафиком для сокращения объема обрабатываемых данных позволяет существенно сэкономить пропускную способность сети, а в случае управляемых сред Ключ-АСТРОМ — ценные ресурсы ЦП, памяти, сети и хранилища, которые в противном случае потребовались бы для обработки и хранения дополнительных данных.
Затраты на процесс
В Ключ-АСТРОМ Managed затраты новых распределенных трассировок/мин, которые каждый процесс может отправить в Ключ-АСТРОМ, составляет 1000. Поскольку управление трафиком зависит от архитектуры вашего приложения, сетевой трафик ограничен для точек входа с большим объемом данных (таких как балансировщик нагрузки или NGINX), и могут возникать пики.
Адаптивное управление захватом
Вы можете управлять затратами новых распределенных трассировок точек входа, захватываемых в минуту, с помощью адаптивного управления захватом , как на уровне среды, так и для каждого процесса или группы процессов.
Настройка адаптивного управления захватом может помочь вам в определенных случаях; например, если управляемая среда Ключ-АСТРОМ для нагрузочного тестирования потребляет слишком много сетевых, дисковых и процессорных ресурсов, вы вместо этого используете эти ресурсы для мониторинга производства. Все анализы прозрачно рассматривают корректировки, не влияя на функции анализа услуг, за исключением списка распределенных трассировок или метрик.
Для управления квотой новых распределенных трасс/мин,
- Перейдите в Консоль управления кластером > Окружение и выберите свое окружение.
- необязательный В настройках предотвращения перегрузки кластера можно задать квоту среды Количество новых отслеживаемых трассировок точек входа, захваченных на процесс/минуту . Значение по умолчанию — 1000, однако квоту среды можно увеличить до 100 000.
- Нажмите на кнопку Перейти к окружению .
- Перейдите в Настройки > Мониторинг серверных сервисов > Глубокий мониторинг > Адаптивное управление захватом .
- Выберите Глобальное или Переопределение группы процессов . Вы можете уменьшить или увеличить квоту, чтобы соответственно уменьшить процент контролируемого входящего трафика или обеспечить более высокую точность. Если квота вашей среды установлена на уровне 100 000 и вы устанавливаете адаптивное управление захватом на максимальное значение, OneAgent фактически получает указание захватывать все запросы, даже редкие, в средах с большим объемом данных.
Слишком высокие значения квоты среды и адаптивного управления захватом могут привести к нехватке ресурсов и увеличению расходов на оборудование.
Мониторинг
Вы можете использовать предустановленную панель мониторинга ЕдиныйАгент Traces - Адаптивное управление трафиком для отслеживания использования и пороговых значений адаптивного управления трафиком.
Адаптивное снижение нагрузки
Адаптивное снижение нагрузки — это динамический механизм, который нацелен на среды с большим объемом трафика по сравнению с назначенными им хост-юнитами. Поскольку среды Ключ-АСТРОМ Managed могут обрабатывать ограниченное количество вызовов служб в минуту (в зависимости от количества ЦП узла и доступности памяти), это особенно полезно для управления спорадическими всплесками в объеме обработанных распределенных трасс.
Когда количество вызовов служб, которые может обработать среда, превышается, запускается адаптивное снижение нагрузки:
- Новые входящие распределенные трассировки пропускаются случайным образом, постепенно уменьшая количество обработанных распределенных трассировок. Обратите внимание, что вызовы обслуживания полных распределенных трассировок, которые уже находятся в процессе, не являются целевыми.
- Количество пропущенных распределенных трассировок учитывается для обеспечения стабильной статистической достоверности всех показателей, диаграмм, базовых уровней и событий.
- Вы проинформированы о сокращении обрабатываемых данных
- Предупреждающее сообщение в веб-интерфейсе Ключ-АСТРОМ:
Server [amount] activated adaptive load reduction
- Сообщение в распределенном списке трассировки:
[amount] more like this
- Предупреждающее сообщение в веб-интерфейсе Ключ-АСТРОМ:
Качество данных
Адаптивное снижение нагрузки защищает вашу среду Ключ-АСТРОМ от случайных скачков трафика.
Хотя периодическая активация (например, для покрытия пиков) не повлияет на точность данных мониторинга, постоянное использование в течение интервалов в 15 минут или дольше может повлиять на точность данных и показателей мониторинга, поскольку не все данные обрабатываются.
Если ваша среда часто испытывает перегрузки, мы рекомендуем рассмотреть долгосрочные решения.
Варианты включают в себя:
- Добавление оборудования и нового узла кластера Ключ-АСТРОМ Managed для обеспечения вашего кластера Ключ-АСТРОМ Managed необходимыми ресурсами для обработки дополнительных данных.
- Изменение настроек ЕдиногоАгента для уменьшения входящего трафика.
Эти варианты следует рассматривать всякий раз, когда статистическая точность сбора данных недостаточна.
Часто задаваемые вопросы
Почему я не вижу определенный запрос?
Если ваш кластер Ключ-АСТРОМ Managed имеет недостаточный размер или если конкретный интересующий вас запрос поступает с уровня с большим объемом (более 1000 запросов в минуту), Ключ-АСТРОМ может не успеть обработать этот запрос.
- Вы можете увеличить объем, доступный для важных запросов, уменьшив объем трафика, связанного с неважными запросами. Чтобы исключить неважные запросы из захвата, используйте атрибуты веб-запросов и правила исключения URL.
- Вы также можете увеличить квоту собираемых распределенных трассировок.
Адаптивное управление влияет на диаграммы, базовые показатели и оповещения?
Короткий ответ — нет.
Формирование трафика учитывается прозрачно и выполняется таким образом, чтобы гарантировать статистическую достоверность при захвате редких запросов с высокой вероятностью. Все диаграммы показывают общее реальное количество запросов, которые обрабатывает ваше приложение, как и все специальные анализы, которые вы можете выполнять. Вы не увидите разницы в диаграммах или данных анализа вызовов служб, если только вы не смотрите на одну распределенную трассировку. Действительно, единственное место, где видно это формирование трафика, — это список распределенных трассировок, который отображает сообщение типа [number of traces] more like this
.
Влияет ли адаптивное управление на настройки сервиса или (глобальные) настройки мониторинга запросов?
Нет, адаптивное управление фокусируется только на количестве трассировок. Ни настройки сервиса, ни (глобальные) настройки запроса не изменяются адаптивным управлением трафиком. В зависимости от скорости захвата и выборки , запрос с небольшим объемом или уникальный запрос может не быть захвачен. Настройки сервиса, такие как правила именования запросов и настройки ключевых запросов, будут применяться только к захваченным трассировками.
Влияет ли адаптивное управление на показатели обслуживания?
Да, в некоторых случаях, поскольку метрики мониторинга сервисов основаны на захваченных трассировках. Ниже приведены некоторые известные эффекты.
- Для низкочастотных запросов в средах с большим объемом выборка и низкая скорость захвата могут повлиять на точность метрик. Из-за низкой частоты запросов трассировки могут быть захвачены в меньшем объеме или не захвачены вообще. Следовательно, некоторые значения метрик не могут быть собраны. Обратите внимание, что это отражается в расчетах метрик услуг, чтобы избежать искажений в диаграммах.
- Поскольку каждый отдельный запрос учитывается в диаграммах с высоким разрешением и короткими временными рамками, для услуг с большим объемом выборка и низкая скорость захвата могут повлиять на точность таких метрик, как количество запросов или количество ошибок. И наоборот, точность будет статистически выше в диаграммах с низким разрешением и длинными временными рамками.
Выборка на основе URL-адресов
Чтобы изменить определенный вклад трассировки в объем трассировки среды, вы можете настроить частоту захвата определенных URL-адресов в соответствии со своими потребностями.
- Перейдите в Настройки > Мониторинг сервисов > Выборка на основе URL .
- Нажмите на кнопку Добавить Элемент.
- Создайте новое правило.
- Чтобы изменить частоту захвата URL, выберите параметр масштабного коэффициента из параметра Важность конкретного URL . Чтобы захватывать URL чаще, увеличьте значение захвата и наоборот. Если вы никогда не хотите захватывать трассировку для определенного URL, включите параметр Игнорировать конкретный URL.
- Введите URL-путь или укажите параметры запроса. Используйте подстановочные знаки (
**
) для URL-адресов с похожими путями сегментов, например URL-адресов одного и того же домена. Например, в/api/product/**/detail
все значения между косыми чертами игнорируются; путь применяется как к , так/api/product/1/detail
и к/api/product/2/detail
. Чтобы указать параметры запроса, перейдите в раздел Параметры запроса и выберите Добавить элемент.- Введите имя параметра запроса.
- Введите значение параметра запроса или включите опцию Значение параметра запроса не определено .
- необязательный Чтобы применить коэффициент масштабирования к одному или нескольким методам HTTP, отключите параметр Любой HTTP-метод и выберите целевой метод(ы) HTTP.
- Нажмите на кнопку Сохранить изменения.
Переопределение процессов и групп процессов
Чтобы переопределить параметры среды выборки на основе URL для определенной группы процессов или процесса
- На уровне группы процессов выберите Дополнительно ( … ) > Настройки группы процессов и выберите Выборка на основе URL .
- На уровне процесса выберите Дополнительно ( … ) > Настройки функции ЕдиныйАгент и выберите Выборка на основе URL .
Примеры вариантов использования
Пример 1: Уменьшить захват часто выполняемого запроса проверки работоспособности, который предоставляет значения менее 60 раз в минуту
- Перейдите в Настройки > Мониторинг сервисов > Выборка на основе URL .
- Нажмите на кнопку Добавить Элемент.
- В разделе Важность конкретного URL выберите Уменьшить захват по фактору 4 .
- Введите URL-путь
/_healthz
. - В поле Условие сравнения пути выберите Начинается с .
- Включите Любой HTTP-метод.
- Нажмите на кнопку Сохранить изменения.
Пример 2: Никогда не перехватывайте запрос HTTP-параметров на веб-серверах для группы процессов
- Перейдите в группу процессов и выберите Дополнительно ( … ) > Настройки группы процессов > Выборка на основе URL .
- Нажмите на кнопку Добавить Элемент .
- Включите опцию Игнорировать конкретный URL.
- Введите URL-путь
/
. - В поле Условие сравнения пути выберите Начинается с.
- Отключите Любой HTTP-метод .
- В списке методов HTTP включите OPTIONS .
- Нажмите на кнопку Сохранить изменения.
- необязательный Создайте новое правило для каждой группы процессов, на которую вы хотите нацелиться.