Ресурси
Ресурс представляє сутність, що продукує телеметрію, у вигляді атрибутів ресурсу. Наприклад, OTP Release, що створює телеметрію у контейнері в Kubernetes, має імʼя OTP Releaseу, імʼя пода, простір імен і, можливо, імʼя розгортання. Всі ці чотири атрибути можуть бути включені до ресурсу.
У вашому бекенді спостережуваності ви можете використовувати інформацію про ресурс, щоб краще дослідити поведінку, яка вас цікавить. Наприклад, якщо дані трасування або метрики вказують на затримку у вашій системі, ви можете звузити її до певного контейнера, подів або розгортання Kubernetes.
Використання детекторів ресурсів
Детектори ресурсів отримують атрибути ресурсів з різних джерел. Стандартно детектори використовують змінну середовища ОС OTEL_RESOURCE_ATTRIBUTES та змінну середовища застосунку OTP resource.
Детектори, які використовуються, це список імен модулів і можуть бути налаштовані в конфігурації застосунку:
%% sys.config
{opentelemetry, {resource_detectors, [otel_resource_env_var, otel_resource_app_env]}}
## runtime.exs
config :opentelemetry, resource_detectors: [:otel_resource_env_var, :otel_resource_app_env]
Або через змінну середовища OTEL_RESOURCE_DETECTORS:
OTEL_RESOURCE_DETECTORS=otel_resource_env_var,otel_resource_app_env
Усі детектори ресурсів захищені тайм-аутом, у мілісекундах, після якого вони повертають порожнє значення. Це дозволяє детекторам ресурсів робити такі речі, як доступ до мережі, без потенційного зависання всієї програми. Типово це 5000 мілісекунд і може бути встановлено за допомогою змінної середовища OTEL_RESOURCE_DETECTOR_TIMEOUT або змінної застосунку otel_resource_detector_timeout.
Додавання ресурсів за допомогою змінних середовища ОС та застосунку OTP
З двома увімкненими стандартними детекторами ресурсів ви можете встановити атрибути ресурсів за допомогою змінної середовища ОС OTEL_RESOURCE_ATTRIBUTES:
OTEL_RESOURCE_ATTRIBUTES="deployment.environment=development"
Альтернативно, використовуйте змінну середовища resource застосунку OTP у конфігурації застосунку opentelemetry у sys.config або runtime.exs:
%% sys.config
{opentelemetry, {resource, #{deployment => #{environment => <<"development">>}}}}
## runtime.exs
config :opentelemetry, resource: %{deployment: %{environment: "development" }}
Атрибути ресурсів у змінній середовища resource застосунку OTP розгортаються та обʼєднуються з . таким чином, що #{deployment => #{environment => <<"development">> } є тим самим, що і #{'deployment.environment' => <<"development">>}.
Користувацькі детектори ресурсів
Користувацькі детектори ресурсів можуть бути створені шляхом реалізації поведінки otel_resource_detector, яка містить єдиний зворотний виклик get_resource/1, що повертає otel_resource.
Зверніть увагу, що існують семантичні домовленості, визначені для resource, яких слід дотримуватися, якщо вони застосовуються при додаванні нових атрибутів ресурсів.
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!