Невозможно запустить веб-приложение в службе приложений Azure из-за того, что SDK opentelemetry монитора Azure пытается Linux

Ответить Пред. темаСлед. тема
Anonymous
 Невозможно запустить веб-приложение в службе приложений Azure из-за того, что SDK opentelemetry монитора Azure пытается

Сообщение Anonymous »

Я развертываю веб-приложение на основе Python в службе приложений Azure. Это образ Docker, который извлекается из реестра контейнеров Azure.
Проблема возникает внутри пакета SDK OpenTelmetry Azure Monitor. Пакет SDK создает файлы журналов для ведения журнала диагностики в следующем каталоге: /var/log/applicationinsights/ (для веб-приложений на базе Linux). Это можно увидеть из следующего кода из приведенного выше SDK. Этот путь к файлу жестко запрограммирован в SDK и не подлежит настройке. Я запускаю приложение с помощью app_user, который имеет доступ к томам, связанным с приложением, в контейнере, но не к указанному выше каталогу.

Код: Выделить всё

 if not exists(_DIAGNOSTIC_LOG_PATH):
makedirs(_DIAGNOSTIC_LOG_PATH)
f_handler = logging.FileHandler(
join(
_DIAGNOSTIC_LOG_PATH, _DIAGNOSTIC_LOGGER_FILE_NAME
)
)

Из-за этого приложение не запускается со следующей трассировкой стека:

Код: Выделить всё

2024-10-25T04:33:34.877284066Z File "/usr/src/app/api/main.py", line 19, in 
2024-10-25T04:33:34.877309466Z configure_azure_telemetry(option="basic")
2024-10-25T04:33:34.877361967Z File "/usr/src/app/api/dependencies/instrumentation.py", line 11, in configure_azure_telemetry
2024-10-25T04:33:34.877378367Z configure_basic_azure_monitor()
2024-10-25T04:33:34.877383767Z File "/usr/src/app/doc_generator_api/dependencies/instrumentation.py", line 25, in configure_basic_azure_monitor
2024-10-25T04:33:34.878324584Z configure_azure_monitor(
2024-10-25T04:33:34.879013896Z File "/agents/python/azure/monitor/opentelemetry/_configure.py", line 98, in configure_azure_monitor
2024-10-25T04:33:34.879018996Z _send_attach_warning()
2024-10-25T04:33:34.879022896Z File "/agents/python/azure/monitor/opentelemetry/_configure.py", line 222, in _send_attach_warning
2024-10-25T04:33:34.879026897Z AzureDiagnosticLogging.warning(
2024-10-25T04:33:34.879030297Z File "/agents/python/azure/monitor/opentelemetry/_diagnostics/diagnostic_logging.py", line 87, in warning
2024-10-25T04:33:34.879034197Z AzureDiagnosticLogging._initialize()
2024-10-25T04:33:34.879037997Z File "/agents/python/azure/monitor/opentelemetry/_diagnostics/diagnostic_logging.py", line 68, in _initialize
2024-10-25T04:33:34.879041897Z f_handler = logging.FileHandler(
2024-10-25T04:33:34.879883312Z ^^^^^^^^^^^^^^^^^^^^
2024-10-25T04:33:34.879896112Z File "/opt/conda/lib/python3.11/logging/__init__.py", line 1181, in __init__
2024-10-25T04:33:34.879905312Z StreamHandler.__init__(self, self._open())
2024-10-25T04:33:34.879910112Z ^^^^^^^^^^^^
2024-10-25T04:33:34.879914512Z File "/opt/conda/lib/python3.11/logging/__init__.py", line 1213, in _open
2024-10-25T04:33:34.879919112Z return open_func(self.baseFilename, self.mode,
2024-10-25T04:33:34.879923612Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-10-25T04:33:34.879928513Z PermissionError: [Errno 13] Permission denied: '/var/log/applicationinsights/applicationinsights-extension.log'

Я пытался предоставить разрешения указанного выше каталога пользователю app_user в моем файле docker, но, похоже, это не работает:

Код: Выделить всё

RUN mkdir -p /var/log/applicationinsights

# Set the permissions to allow writing
RUN chown -R ${APP_UID}:${APP_GID} /var/log/applicationinsights
RUN chmod -R 755 /var/log/applicationinsights
Даже после этого каталог: /var/log/applicationinsights/ по-прежнему принадлежит пользователю root в службе приложений Azure. Проверьте прикрепленное изображение.

Подробнее здесь: https://stackoverflow.com/questions/791 ... or-opentel
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»