AWS Lambda
Этот руководство интегрирует:
✅ Логи | ✅ Метрики | ✅ Трейсы |
Установка слоев OpenTelemetry Lambda
Проект OpenTelemetry предоставляет отдельные слои lambda для:
- Автоматического инструментирования кода вашей Lambda функции с помощью авто-инструментирования OpenTelemetry.
- Пересылки собранных логов, метрик и трейсов в ClickStack.
Добавление слоя авто-инструментирования для конкретного языка
Слои авто-инструментирования для конкретного языка автоматически инструментируют код вашей Lambda функции с помощью пакета авто-инструментирования OpenTelemetry для вашего конкретного языка.
Каждый язык и регион имеют свой собственный ARN слоя.
Если ваша Lambda уже инструментирована с использованием SDK OpenTelemetry, вы можете пропустить этот шаг.
Чтобы начать:
- В разделе Слои нажмите "Добавить слой"
- Выберите указать ARN и выберите правильный ARN в зависимости от языка, убедитесь, что вы заменили
<region>
на ваш регион (например,us-east-2
):
- Javascript
- Python
- Java
- Ruby
Последние версии слоев можно найти в репозитории OpenTelemetry Lambda Layers на GitHub.
- Настройте следующие переменные окружения в вашей Lambda функции в разделе "Конфигурация" > "Переменные окружения".
- Javascript
- Python
- Java
- Ruby
Установка слоя коллектора OpenTelemetry Lambda
Слой коллектора Lambda позволяет пересылать логи, метрики и трейсы из вашей Lambda функции в ClickStack без воздействия на время отклика из-за задержки экспортера.
Чтобы установить слой коллектора:
- В разделе Слои нажмите "Добавить слой"
- Выберите указать ARN и выберите правильный ARN в зависимости от архитектуры, убедитесь, что вы заменили
<region>
на ваш регион (например,us-east-2
):
- x86_64
- arm64
- Добавьте следующий файл
collector.yaml
в ваш проект, чтобы настроить коллектор для отправки в ClickStack:
- Добавьте следующую переменную окружения:
Проверка установки
После развертывания слоев вы должны увидеть трейс, автоматически собранный из вашей Lambda функции в HyperDX. Процессоры decouple
и batching
могут вводить задержку в сбор телеметрии, поэтому трейсы могут отображаться с задержкой. Чтобы эмитировать пользовательские логи или метрики, вам нужно инструментировать ваш код с помощью специфичных для языка SDK OpenTelemetry.
Устранение неполадок
Пользовательское инструментирование не отправляется
Если вы не видите ваши вручную определенные трейсы или другие телеметрические данные, возможно, вы используете несовместимую версию пакета OpenTelemetry API. Убедитесь, что ваш пакет OpenTelemetry API не выше версии, включенной в AWS lambda.
Включение отладочных логов SDK
Установите переменную окружения OTEL_LOG_LEVEL
в DEBUG
, чтобы включить отладочные логи из SDK OpenTelemetry. Это поможет убедиться, что слой авто-инструментирования правильно инструментирует ваше приложение.
Включение отладочных логов коллектора
Для отладки проблем с коллектором вы можете включить отладочные логи, изменив файл конфигурации вашего коллектора, добавив экспортёр logging
и установив уровень логирования телеметрии на debug
, чтобы включить более подробную запись логов из слоя коллектора lambda.