Что мне нужно сделать, чтобы журналы SageMaker отображались в потоке журналов CloudWatch в проекте Python с использованием сторожевой башни?

Я создал обработчик для корневого логгера и ожидал, что все сообщения, которые я вижу на терминале, в том числе не из моей собственной библиотеки, будут перехвачены. Однако журналы внешних вызовов API не сохраняются.

У меня есть настройка веб-службы, которая предоставляет API для создания/мониторинга наших моделей ML. Служба работает в Docker-контейнере. Моя цель — собирать и перенаправлять журналы в соответствующие потоки в CloudWatch. Важная деталь: поток журнала назначения (Cloudwatch) варьируется в зависимости от параметров вызова API.

Я добавляю обработчик к корневому регистратору, который отправляет журналы в нужное место назначения в CloudWatch. Мои собственные логи работают нормально, но логи SageMaker туда не попадают. Упрощенная версия выглядит так:

      import logging
from watchtower import CloudWatchLogHandler

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)


def sagemaker_api_call():
    # this is a stub for an arbitrary sagemaker API call which produces logs
    pass

def api_call(job_id: str):
    model_name = 'test_model'
    handler=CloudWatchLogHandler(
                log_group_name=f'/ml/{model_name}',
                log_stream_name=job_id,
                use_queues=False,
                log_group_retention_days=30)
    logger.addHandler(handler) # this works, I can see the message in Cloudwatch
    logger.info('Log started')
    sagemaker_api_call() # this does not send logs to my stream in Cloudwatch

Теперь, когда я запускаю это в докере, я вижу, как журналы SageMaker печатаются в терминале после вызова sagemaker_api_call. Они также ДЕЙСТВИТЕЛЬНО входят в CloudWatch в места назначения, определенные SageMaker. Однако они не регистрируются в моем потоке, чего я и хочу.

Я также попытался добавить тот же обработчик в регистратор под названием «sagemaker» (именно сюда записывает большинство модулей sagemaker), но безрезультатно. Что я делаю не так?

0 ответов

Другие вопросы по тегам