Часовой на страже логов

0. Scorpion4eg 312 13.01.20 09:48 Сейчас в теме
При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. leemuar 13.01.20 20:19 Сейчас в теме
Спасибо за доклад! У вас хороший разбор достоинств и недостатков продуктов, но не описаны недостатки Sentry.

Кажется вы не очень хорошо разобрались в лицензировании и явно вводите в заблуждение насчет стоимости Graylog и Sentry. Из вашего доклада складывается впечатление, что Graylog - платный, с ограничениями, а Sentry - бесплатный, опенсорсный, без ограничений.

Graylog бесплатен, и также имеет открытый код: https://github.com/Graylog2/graylog2-server. Вы можете его скачивать и разворачивать и использовать на своих серверах без ограничений. Платным по желанию могут быть 2 вещи:
- Enterprise лицензия, дающая некоторые _дополнительные_ плюшки такие как например поддержка и доп аналитические механизмы
- хостинг сервера Graylog разработчиками. Вы избавляетесь от необходимости администрирования и поддержки серверов за некоторую плату

Здесь подробно объясняется, какие доп плюшки дает Enterprise: https://www.graylog.org/products/open-source-vs-enterprise.
Enterprise лицензия необязательна, ею можно пользоваться бесплатно с ограничением не более 5Гб логов в день


Теперь давайте посмотрим на Sentry: https://sentry.io/pricing/
Бесплатная лицензия - ограничение не более 5000 ошибок в месяц, тоже "бесплатно до определенного предела". И предназначена она только для разработки, ее нельзя использовать в готовых коммерческих продуктах. Далее в зависимости от количества логируемых ошибок от 30 до 900 долларов в месяц.

Ну и конечно, как и в случае с Graylog - это цены на хостинг сервиса сторонними людьми. Sentry тоже можно скачать и бесплатно использовать на своих серверах совершенно легально.
JohnyDeath; Алексей_mir2mb; +2 Ответить
4. Scorpion4eg 312 15.01.20 07:54 Сейчас в теме
(1)
но не описаны недостатки Sentry.


Ну и если говорить о недостатках - 1с совсем не Flask, где Sentry интегрируется в 3 строчки. Это долгий и кропотливый процесс. Сначала правильно собрать логи, потом обработать их и отправить.
Но теперь в 8.3.17 эту проблему решить будет проще. На сколько я понимаю будет единая точка обработки всех исключений + стек исключений из 8.3.15. Останется только дополнить сообщение сведения о пользователя или прочей доп. информацией.
Krio2; JohnyDeath; maxx; leemuar; Алексей_mir2mb; +5 Ответить
2. leemuar 13.01.20 20:39 Сейчас в теме
"Из минусов Graylog: повторные уведомления. Когда вы получаете любую ошибку, которая возникла у пользователя, это хорошо. Но при групповом перепроведении документов вы получите к себе в Telegram поток сообщений"

Опять же, при всем уважении - это не минус, вы видимо не до конца разобрались со всеми опциями алертов и настроили алерты на каждое сообщение об ошибке. Aggregation Condition и существующие на маркете Aggregation плагины для алертов вы пробовали?
3. Scorpion4eg 312 14.01.20 07:53 Сейчас в теме
(2) Я очень рад увидеть от вас комментарий! Честно.
Было интересно до доклада пообщаться о логировании.
Да Sentry платный если ошибок больше чем 5000. Но если его использовать в облаке. Я его использую в облаке для навыков Алисы, например.
Если его использовать standalone - бесплатный, кроме допплюшек в виде всяких дашбордов. В этом и было отличие от Graylog - нет никаких 5 гб в сутки.

На счет Aggregation Condition - пробовал. К сожалению, мне не зашло. Именно из-за того, что надо настраивать. В Sentry отправил трейс - если трейс совпадает это одна и та же ошибка.

Я люблю Graylog за само логирование, мне он показался удобнее той же Kibana.
5. maxx 905 15.01.20 12:58 Сейчас в теме
А как логируются действия пользователя по опыту?

Например, у меня большая часть пользователей работает в документе "Заказ покупателя", "Реализация товаров". Ошибки возникают при заполнении данных на форме документов, печатных формах, проведении документа.

Как всё это залогировать? Если в модулях формы, модулях объектах, общих модулях на каждое действие - то это же будет АД потом обновлять на следующий релиз?
6. Scorpion4eg 312 17.01.20 10:55 Сейчас в теме
(5)
А как логируются действия пользователя по опыту


Как это не печально - придется идти на компромисс.

Если нужны действия пользователя - то да, менять форму: попробовать через расширение.
Или, как вариант, делать дамп документа при ошибке.
7. artbear 1186 23.07.20 21:00 Сейчас в теме
(0)
Пользователь запускает приложение, формируется два контекста – клиентский и серверный. Причем, это – стеки сообщений, чтобы не отправлять каждое сообщение, а отправлять их пачками.

Дальше по таймингу или по возникшему исключению контексты объединяются и отправляются в веб-сервис.


Поделись, как это работает более детально.
- Что за тайминг?
- как клиентские данные отправляются?
- фактически у вас некий общий перехватчик исключений верхнего уровня, и при попадании в его блок Исключения генерится отправка в веб-сервис
8. Scorpion4eg 312 24.07.20 16:33 Сейчас в теме
(7) Запускается приложение - подключается обработчик ожидания. Он отправляет накопленные данные раз в 2-3 минуты.

На счет перехватчика. Большая часть клиентских вызовов, в основном кнопки, выполняются в Попытка/Исключение. В исключении обрабатывается стек вызова, добавляется необходимая техническая информация и отправляется в Sentry
Оставьте свое сообщение
Вопросы с вознаграждением