Query Python регистрируется в Glue Query с CloudWatch Insights - PullRequest
0 голосов
/ 06 апреля 2020

Я очень плохо знаком с CloudWatch Insights, и я пытался понять, как заставить его работать с Python журналированием. В настоящее время у меня есть AWS Glue настройка запроса ETL в PySpark/Python. Я использую в скрипте пакет logging по умолчанию для Python.

Я прочитал документацию и не смог найти никаких деталей относительно того, как отформатировать протоколирование, которое могло бы сделать запрос -возможно через CloudWatch Insights. В идеале я хотел бы настроить различные поля в сообщениях журнала, которые я могу запросить и получить значения через Insights.

Вот пример сообщения журнала в сценарии:

import timeit

start = timeit.default_timer()

...run some code

stop = timeit.default_timer()

runtime = stop - start

logging.info('Runtime: {}'.format(runtime))

Я хотел бы запросить настраиваемое поле, например @Runtime, чтобы показать все среды выполнения в этом столбце для разных прогонов. В связи с этим мне также хотелось бы увидеть простой пример запроса Insight, чтобы я мог на нем опираться.

Любая помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 06 апреля 2020

Это то же самое, что и настройка простого регистратора

Простой пример ниже

MSG_FORMAT = '%(asctime)s %(levelname)s %(name)s: %(message)s'
logging.basicConfig(format=MSG_FORMAT)
logger = logging.getLogger('Something')
logger.setLevel(logging.INFO)

Тогда ваш код

start = timeit.default_timer()

...run some code

stop = timeit.default_timer()

runtime = stop - start

logger.info('Runtime: {}'.format(runtime))
...