Улучшение отчетов об ошибках GAE для включения предупреждений
Мне нужно классифицировать предупреждения для приложения на базе Python Google App Engine. Я загрузил логи от стека-драйверов GAE. Я думаю, что GAE Stackdriver Reporting at https://console.cloud.google.com/errors?time=P7D довольно хорошо классифицирует (группировать и сокращать) ошибки, но может ли он кластеризовать предупреждения, а не ошибки? Есть ли подходящий инструмент для этого? Я бы предпочел бесплатное автономное программное обеспечение; Я скорее ищу простое / быстрое решение, но все комментарии приветствуются.
PS. Что ж, "интеллектуальная дедупликация" может быть не так важна для предупреждений, но даже группировка по конечной точке и тексту предупреждения представляет собой некоторую проблему, так как я новичок в этом формате журнала. До сих пор я нашел сложный рецепт для ручного втирания файла журнала gae в таблицу Excel, но у меня нет Excel, и Libre Office работает медленно на больших столах. К сожалению, Gnumeric недавно отказался от поддержки Windows.
PPS. Я могу настроить уровень серьезности страницы консоли журнала на уровень серьезности = ПРЕДУПРЕЖДЕНИЯ, однако я хотел бы убедиться, что я анализирую все случаи без проверки каждой записи журнала.
1 ответ
То, что вы хотите, возможно, но немного неуклюже, чем вы могли бы хотеть.
Отчет об ошибках имеет API. Так что вы можете просто позвонить напрямую, чтобы сообщить об ошибке.
https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.events/report
Прочтите этот документ, чтобы увидеть, как сгруппированы ошибки:
https://cloud.google.com/error-reporting/docs/grouping
Итак, вы можете написать обработчик журналирования Python, который записывает в API отчетов об ошибках сообщения о предупреждениях, следя за тем, чтобы одни и те же предупреждающие сообщения были сгруппированы в одну группу.
Вы можете общаться с API отчетов об ошибках через REST, gRPC или через записи журналов Stackdriver, отформатированные определенным способом JSON. У нас есть клиентские библиотеки Python для отчетов об ошибках, к сожалению, они могут раздражать, работая над стандартом App Engine (в настоящее время официально не поддерживается). Есть также примеры обработчиков журналов Python, которые общаются со Stackdriver. Таким образом, вы можете использовать эти обработчики так, чтобы они выполняли то, что вам нужно. Это будет немного кода, чтобы заставить это работать все же.