Где я могу просмотреть журналы в Google App Engine?

Я новичок в GAE, поэтому этот вопрос может быть очень простым для экспертов в GAE.

У меня есть Flexible App Engine, SQL-экземпляр MySQL 2nd Gen 5.7.

Я разместил свое приложение laravel в GAE и после выполнения руководства: Запуск Laravel в гибкой среде Google App Engine

Я не могу правильно открыть первую страницу, получаю ошибку 500, URL моего приложения: Its About Veg

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

Я понял, что он дает 500 ответов от URL-адреса https://console.cloud.google.com/logs/viewer?project=project-id, но я не могу получить правильную трассировку стека ошибки, единственное, что я получаю здесь, это какие-то данные JSON.

Более того, я думал загрузить лог-файл с сервера, чтобы вручную проверить логи и решить вопрос, но увы! Я тоже не могу найти это.

Не могли бы вы помочь мне в этом контексте.


person Sharad Soni    schedule 03.03.2018    source источник
comment
внизу под ковром :D   -  person CatChMeIfUCan    schedule 04.03.2018


Ответы (1)


Существует несколько способов получения журналов из App Engine.

Вы можете попробовать gcloud app logs команду для получения журналов вашего приложения. Например, чтобы вывести журналы в свой терминал, вы можете запустить:

$ gcloud app logs read

Или для потоковой передачи журналов, которые вы можете запустить:

$ gcloud app logs tail

Также можно загрузить данные журнала из вашего приложения в файл на локальном компьютере. Если вы установите SDK App Engine для PHP, вы сможете запустить appcfg.py request_logs команда, которая позволит вам скачать журналы. Инструкции о том, как это сделать, я бы рекомендовал посмотреть здесь. .

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

Журналы в Google Cloud Platform для App Engine и все другие ресурсы Google Cloud Platform можно просмотреть в журнале Stackdriver.

Чтобы перейти к ведению журнала Stackdriver в консоли, перейдите к:

Ведение журнала > Журналы

Оказавшись там, вы найдете несколько выпадающих меню. В первом вы сможете выбрать ресурс Google Cloud Platform, для которого вы хотите просмотреть журналы.

В этом раскрывающемся меню выберите GAE Application. Это обеспечит заполнение второго раскрывающегося меню именами различных журналов, доступных для просмотра из ваших приложений GAE. Например, вы можете указать в этом меню nginx.error или syslogs для фильтрации определенных журналов.

Журналы из файлов журналов ваших приложений передаются в журналы Stackdriver, поэтому они по существу содержат ту же информацию, что и журналы приложений, хотя и в формате JSON, чтобы обеспечить их удобочитаемость.

Точно так же вы можете фильтровать журналы CloudSQL. Для этого в первом выпадающем меню выберите Cloud SQL Database и укажите базу данных, которую вы хотите проверить.

Другое раскрывающееся меню в представлении ведения журнала позволяет вам выбирать различные уровни журнала (например, «Ошибка», «Предупреждение», «Критический» и т. д.) и настройки времени, которые позволяют указать время/даты для более точного поиска.

У вас также есть возможность ввести строки поиска в строке поиска Stackdriver Logging и использовать их для фильтрации отображаемых журналов.

Если вы хотите загрузить эти журналы, можно создать хранилище журналов в Google Cloud Storage. По сути, это позволяет вам написать фильтр (для интересующих вас журналов) и экспортировать журналы в облачное хранилище. При необходимости у вас будет возможность загрузить журналы из облачного хранилища.

Некоторая полезная информация содержится здесь и здесь о настройке приемника журналов.

person neilH    schedule 04.03.2018
comment
Привет @neilH, я пробовал gcloud app log tail, в основном это то же самое, что я могу просматривать с консоли. Дело в том, что я не получаю подробные журналы, такие как трассировка стека, чтобы получить это, что мне нужно сделать? - person Sharad Soni; 04.03.2018
comment
Вы пробовали 2-е предложение в посте? - person neilH; 04.03.2018
comment
Да, я так и делаю с самого начала, вижу только, что выдает 500 ошибку, но попало, откуда взялось, в нем ничего нет, это тоже не подпадает под error уровень? Нужно ли мне делать какие-либо настройки, чтобы увидеть правильные журналы? - person Sharad Soni; 04.03.2018
comment
Итак, вы установили SDK App Engine для Python и смогли загрузить журналы с помощью команды appcfg.py request_logs? - person neilH; 04.03.2018
comment
Нет, я этого не пробовал. У меня есть приложение PHP, зачем нужен SDK для python? Я имею в виду, что SDK для PHP будет иметь то же самое, что и Python SDK. - person Sharad Soni; 04.03.2018
comment
Я изменил две ссылки в своем посте, чтобы они указывали на страницы PHP. - person neilH; 04.03.2018
comment
@neilH, вы говорите, что невозможно увидеть трассировку стека с gcloud app logs? - person Tavin Cole; 29.08.2019