Конфігурація Lambda Collector
Спільнота 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
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!