Pull to refresh

Comments 13

UFO just landed and posted this here

Это демонстрационная версия логгера, она упрощена для наглядности. В реальном логгере можно докручивать необходимый вам функционал, например обогащение информацией, обработку отсутствия сети, использование sendBeacon вместо fetch и т.п.

Атака на __proto__ и другие не эксплуатируема. Аналогичная уязвимость в Кибане так же закрыта. При попытке эксплуатации мы увидим код атаки и IP атакующего.

Здравствуйте, отличная статья. Возможна ли реализация с записью логов на устройстве пользователя и их отправке на сервер при обращении в тех поддержку?

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

Клиенту или тестировщику достаточно сообщить эти четыре цифры что бы их легко найти в логах.

Спасибо за статью.

Подскажите, а как решили вопрос авторизации запросов к этому сервису? Или любой может спамить логи?

В связи с тем что логи собираются в т.ч. с неавторизованных клиентов авторизацию прикрутить невозможно. Любая авторизация для анонимных клиентов невозможна ввиду того что весь код в вебе является опенсурсом и авторизация элементарно копируется. Единственный способ защиты это антиспам системы и другие системы защиты применяемые для обычного апи.

Можно микросервис логирования выкинуть и использовать http input того же logstash

Вместо fetch для отправки логов стоит использовать sendBeacon API, он как раз предназначен для отправки метрик/логов

По тексту встречаю "Kibana или Loki". Что используется так и не понятно. Описанные логи, выглядят не слишком структурированными, и кажется что Loki (с которым используют для визуализации Grafana, а не Kibana) для этого не очень хорошо подходит, так как не является движком полнотекстового поиска и ограничен в лейблах(индексах).

Может у вас все таки Kibana + Elastic Search ?

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

Кстати а почему бы просто не переопределить console.log браузера вместо кастомной обёртки?

Monkey patching это анти-паттерн. В интернете можно найти подробные статьи почему его лучше не использовать.

Sign up to leave a comment.