У меня есть журнал в Stackdriver, в котором регистрируется каждый запрос, который попадает в мой api и терпит неудачу, и я хочу написать сценарий для подсчета количества появлений каждого сообщения об ошибке. Проблема в том, что функция экспорта в Stackdriver V2 позволяет мне обрабатывать только предстоящие сообщения об ошибках, но меня интересуют только те записи журналов, которые уже находятся в журнале. Есть ли способ загрузить полный журнал из Stackdriver?
Как экспортировать предыдущие журналы в Stackdriver
Ответы (4)
Теперь это можно сделать с помощью инструмента командной строки gcloud с gcloud logging read
: https://cloud.google.com/logging/docs/reference/tools/gcloud-logging#reading_log_entries
Хотя в описанном сценарии создание приемника журнала является единственным способом захвата событий, которые старше, чем окно ведения журнала stackdriver, которое составляет всего 30 дней даже в платной версии.
gcloud logging read
:)
- person Zhe Li; 13.06.2018
Обратите внимание, что фильтр такой же, как и при выборе расширенного фильтра в графическом интерфейсе ведения журнала.
gcloud beta logging read "resource.type=\"gae_app\" resource.labels.module_id=\"api\" \"Ronald Reagan\"" --format=json --freshness=6d > x.txt
Если вы хотите извлечь существующие данные журнала, вам нужно будет использовать API для вывода списка записей: https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list
Вы можете сделать это прямо со страницы документации API, если вам нужно только одноразовое решение.
Я нашел лучший способ сделать это с помощью gcloud cli
Пример, который вы можете использовать: gcloud beta logging read ‘<filter>’ --project ”<project name>” --format json --freshness=<number of days to go back>