Назад | Перейти на главную страницу

Как извлечь журналы с необработанным текстом из Stackdriver?

Нам нужно извлечь журналы обратных прокси-серверов, размещенных на GKE, в необработанном формате, который может быть проанализирован инструментами анализа журналов SEO. К сожалению, эти инструменты категорически отказываются принимать файлы CSV и JSON, они принимают только необработанный текст, как это было бы в файлах .log, созданных Nginx на физическом сервере.

Загрузка их из графического интерфейса GCP не работает, поскольку позволяет экспортировать только JSON и CSV. Экспорт, который позволяет GCP, тоже не работает - мы смогли сохранить журналы с открытым текстом в хранилище Google с помощью сценария облачной функции, но только неудобным способом (1 файл в час, по-видимому, это невозможно изменить) и только для будущие журналы, так как экспорт журналов применяется только к входящим журналам.

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

Извините за ответ на мой собственный вопрос, но я потратил много времени на изучение этого вопроса и, надеюсь, разместив его здесь, я смогу избавить других от хлопот.

Единственный способ добиться того, что мне нужно, - это использовать google cloud sdk из командной строки и выгрузить результат в локальный текстовый файл, например:

$ gcloud logging read 'resource.type=container resource.labels.cluster_name=your_cluster logName=the_specific_deployment_you_want_logs_from timestamp>="2015-05-01T00:00:00Z" (whatever text search filters are needed)' --limit 1000000000000 --order asc --format "value(textPayload)" > total.log