Применение ограничения памяти
В следующем примере конфигурации показано, как настроить экземпляр Collector и его собственный процессор-ограничитель памяти, чтобы гарантировать, что распределение памяти будет соответствовать указанным параметрам.
| Рекомендуемая конфигурация
Для оптимального использования памяти вашего экземпляра Collector мы рекомендуем применять эту конфигурацию во всех настройках. |
Предустановка
- Один из следующих дистрибутивов Collector с процессором-ограничителем памяти :
- URL-адрес конечной точки API Ключ-АСТРОМ, на которую следует экспортировать данные.
- Токен API с соответствующей областью доступа (требуется только для SaaS и АктивногоШлюза)
Информацию о настройке Collector с использованием указанной ниже конфигурации см. в разделах Развертывание коллектора и Конфигурация коллектора.
Демо конфигурация
| receivers:
otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 processors: memory_limiter: check_interval: 1s limit_percentage: 70 spike_limit_percentage: 30 exporters: otlphttp: endpoint: ${env:DT_ENDPOINT} headers: Authorization: "Api-Token ${env:DT_API_TOKEN}" service: pipelines: traces: receivers: [otlp] processors: [memory_limiter] exporters: [otlphttp] metrics: receivers: [otlp] processors: [memory_limiter] exporters: [otlphttp] logs: receivers: [otlp] processors: [memory_limiter] exporters: [otlphttp] |
Компоненты
Для нашей конфигурации мы настраиваем следующие компоненты.
Приемники
В разделе receivers мы указываем стандартный приемник otlp, как активный компонент приемника для нашего экземпляра Collector.
Это сделано в основном для демонстрационных целей. Вы можете указать здесь любой другой допустимый получатель (например, zipkin).
Процессоры
В разделе processors мы указываем процессор memory_limiter со следующими параметрами:
check_intervalнастроен на проверку состояния памяти каждую секундуlimit_percentageнастроен на максимальное выделение памяти в размере 70 процентовspike_limit_percentageнастроен на максимальное пиковое использование памяти в 20 процентов
При такой конфигурации Collector проверяет выделение памяти каждую секунду и начинает применять ограничения (например, отклонять запросы или принудительно выполнять сборку мусора), когда выделенная память превышает 70 процентов, с временным ограничением пикового значения в 20 процентов.
Экспортеры
В разделе exporters мы указываем экспортер otlphttp по умолчанию и настраиваем его с помощью URL-адреса нашего API Ключ-АСТРОМ и требуемого токена аутентификации.
Для этой цели мы устанавливаем следующие две переменные среды и ссылаемся на них в значениях конфигурации для endpoint и Authorization.
DT_ENDPOINTсодержит базовый URL-адрес конечной точки API Ключ-АСТРОМ (например,https://{your-environment-id}.live.astromkey.com/api/v2/otlp)DT_API_TOKENсодержит токен API
Сервисные контейнеры
В разделе service мы собираем наши объекты приемника и экспортера в контейнеры для трассировок, метрик и логов и включаем наш процессор ограничителя памяти, ссылаясь на processors для каждого соответствующего контейнера.