SDK Gcloud logging timestamp filter

У меня возникла проблема при попытке отфильтровать файлы журнала за определенный период времени. Все, кроме временных меток, отлично работает, когда я пытаюсь написать команду. В тот момент, когда все выглядит хорошо:

gcloud logging read "resource.type=XXX logName=projects/YYY/logs/appengine.googleapis.com%2Fnginx.health_check" > test.txt

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

Неверное имя файла, имя каталога или синтаксис метки тома.

Я пробовал много вещей, и это команда, которая, по крайней мере, дает мне некоторую ошибку:

gcloud logging read "resource.type=XXX logName=projects/YYY/logs/appengine.googleapis.com%2Fnginx.health_check timestamp='2020-01-22T14:02:41.41Z'"

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


person mackowi    schedule 22.01.2020    source источник


Ответы (2)



Синтаксическая ошибка находится в метке времени, она должна быть с \ перед кавычками даты:

gcloud logging read "resource.type=gae_app AND logName=projects/xxxx/logs/syslog AND timestamp=\"2020-01-22T14:02:41.41Z\""

Для получения дополнительных сведений см. чтение журнала gcloud

person Joss Baron    schedule 22.01.2020
comment
Ваша команда работает, но всякий раз, когда я добавляю ей символ ‹или›, она перестает работать. Как я уже упоминал, мне нужен период времени, например, между 21.01 и 22.01. Я выполнил эту команду с вашими подсказками, но все еще остались проблемы: gcloud logging read resource.type = XXX AND logName = projects / YYY / logs / appengine.googleapis.com% 2Fnginx.health_check AND timestamp ›= \ 2020-01-21T12: 00: 00Z \ timestamp ‹= \ 2020-01-22T12: 00: 00Z \ - person mackowi; 23.01.2020
comment
Попробуйте добавить AND в последней части, должно получиться так: gcloud logging read "resource.type=XXX AND logName=projects/YYY/logs/appengine.googleapis.com%2Fnginx.health_check AND timestamp>=\"2020-01-21T12:00:00Z\" AND timestamp<=\"2020-01-22T12:00:00Z\" " - person Joss Baron; 23.01.2020
comment
К сожалению, это не работает. Всякий раз, когда я использую ‹, я получаю: Имя файла, имя каталога или синтаксис метки тома неверны. Может быть, я смогу сделать то, что хочу, сделав команду для возврата журналов до определенной даты и ограничив ее с помощью --limit, но даже это не работает для меня. - person mackowi; 23.01.2020
comment
Я нашел команду, которая проходит, но не дает мне журналов в окне команд или в текстовом файле, который она создает: gcloud beta logging read "timestamp^>=""2020-01-21T11:00:00Z"" AND ""timestamp^<2020-01-22T11:00:00Z""" - person mackowi; 23.01.2020