Конфігурація Lambda Collector

Додайте та налаштуйте Collector Lambda layer до вашої Lambda

Спільнота OpenTelemetry пропонує Collector в окремому Lambda шарі від інструментальних шарів, щоб надати користувачам максимальну гнучкість. Це відрізняється від поточної реалізації AWS Distribution of OpenTelemetry (ADOT), яка обʼєднує інструментування та Collector разом.

Додайте ARN OTel Collector Lambda layer

Після того, як ви інструментували свій застосунок, вам слід додати Collector Lambda layer для збору та надсилання ваших даних до обраного вами бекенду.

Знайдіть найновіший реліз Collector layer та використовуйте його ARN, змінивши теґ <region> на регіон, в якому знаходиться ваша Lambda.

Примітка: Lambda layers є регіоналізованим ресурсом, тобто вони можуть бути використані лише в регіоні, в якому вони опубліковані. Переконайтеся, що використовуєте layer в тому ж регіоні, що й ваші функції Lambda. Спільнота публікує layers у всіх доступних регіонах.

Налаштуйте OTel Collector

Конфігурація OTel Collector Lambda layer відповідає стандарту OpenTelemetry.

Стандартно, OTel Collector Lambda layer використовує config.yaml.

Встановіть змінну середовища для вашого обраного бекенду

У налаштуваннях змінних середовища Lambda створіть нову змінну, яка містить ваш токен авторизації.

Оновіть стандартного експортера

У вашому файлі config.yaml додайте вашого обраного експортера(ів), якщо вони ще не присутні. Налаштуйте вашого експортера(ів) за допомогою змінних середовища, які ви встановили для ваших токенів доступу на попередньому кроці.

Без встановленої змінної середовища для ваших експортерів стандартна конфігурація підтримує лише виведення даних за допомогою debug експортера. Ось стандартна конфігурація:

receivers: otlp: protocols: grpc: endpoint: '0.0.0.0:4317' http: endpoint: '0.0.0.0:4318' exporters: # ПРИМІТКА: До v0.86.0 використовуйте `logging` замість `debug`. debug: verbosity: detailed service: pipelines: traces: receivers: [otlp] exporters: [debug] metrics: receivers: [otlp] exporters: [debug] telemetry: metrics: address: localhost:8888

Опублікуйте вашу Lambda

Опублікуйте нову версію вашої Lambda, щоб застосувати внесені зміни.

Розширена конфігурація OTel Collector

Будь ласка, знайдіть список доступних компонентів, які підтримуються для власної конфігурації тут. Щоб увімкнути налагодження, ви можете використовувати конфігураційний файл для встановлення рівня виводу журналу на debug. Дивіться приклад нижче.

Виберіть вашого постачальника Confmap

OTel Lambda Layers підтримує наступні типи постачальників confmap: file, env, yaml, http, https, та s3. Щоб налаштувати конфігурацію OTel collector за допомогою різних постачальників Confmap, будь ласка, зверніться до документації постачальників Confmap Amazon Distribution of OpenTelemetry для отримання додаткової інформації.

Створіть власний конфігураційний файл

Ось приклад конфігураційного файлу collector.yaml у кореневій теці:

#collector.yaml у кореневій теці #Встановіть змінну середовища 'OPENTELEMETRY_COLLECTOR_CONFIG_OPENTELEMETRY_COLLECTOR_CONFIG_URI' на '/var/task/collector.yaml' receivers: otlp: protocols: grpc: endpoint: 'localhost:4317' http: endpoint: 'localhost:4318' exporters: # ПРИМІТКА: До v0.86.0 використовуйте `logging` замість `debug`. debug: awsxray: service: pipelines: traces: receivers: [otlp] exporters: [awsxray] metrics: receivers: [otlp] exporters: [debug] telemetry: metrics: address: localhost:8888

Зіставте ваш конфігураційний файл за допомогою змінних середовища

Після того, як ваша конфігурація collector встановлена через постачальника confmap, створіть змінну середовища у вашій функції Lambda OPENTELEMETRY_COLLECTOR_CONFIG_URI та встановіть шлях до конфігурації відносно постачальника confmap як її значення. Наприклад, якщо ви використовуєте постачальника file configmap, встановіть його значення на /var/task/<path>/<to>/<filename>. Це повідомить розширенню, де знайти конфігурацію collector.

Власна конфігурація Collector за допомогою CLI

Ви можете встановити це через консоль Lambda або за допомогою AWS CLI.

aws lambda update-function-configuration --function-name Function --environment Variables={OPENTELEMETRY_COLLECTOR_CONFIG_URI=/var/task/collector.yaml}

Встановіть змінні середовища конфігурації за допомогою CloudFormation

Ви також можете налаштувати змінні середовища за допомогою шаблону CloudFormation:

Function: Type: AWS::Serverless::Function Properties: ... Environment: Variables: OPENTELEMETRY_COLLECTOR_CONFIG_URI: /var/task/collector.yaml

Завантажте конфігурацію з обʼєкта S3

Завантаження конфігурації з S3 вимагатиме, щоб роль IAM, прикріплена до вашої функції, включала доступ на читання до відповідного кошика.

Function: Type: AWS::Serverless::Function Properties: ... Environment: Variables: OPENTELEMETRY_COLLECTOR_CONFIG_URI: s3://<bucket_name>.s3.<region>.amazonaws.com/collector_config.yaml

Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (bd70b52d)