Как сделать Log Mining? - PullRequest
       21

Как сделать Log Mining?

2 голосов
/ 11 марта 2011

Чтобы выяснить (или угадать) что-то из одного из наших проприетарных инструментов для настольных компьютеров, разработанных wxPython, я ввел декоратор логирования в несколько уважительных методов класса. Каждая запись журнала выглядит следующим образом:

log records of one application in phpmyadmin way

Сейчас в базе данных более 3 миллионов записей журнала, и я начал думать: «Что я могу получить из этих вещей?». Я могу получить некоторую информацию, такую ​​как:

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

Я предполагаю, что похожая техника может быть добыча лога У кого-нибудь есть идеи для получения дополнительной информации, которую я могу извлечь из этого действительно простого журнала? Мне действительно интересно получить что-то большее от этого.

Ответы [ 2 ]

1 голос
/ 25 января 2013

Patterns!

Шаблоны, предшествующие сбоям. Скажем, произошла ошибка, теперь рассмотрим следующие вопросы:

  • Какая последовательность предшествовавших ему комбинаций klass-метода?
  • А как насчет других комбо?
  • Всегда ли одна и та же последовательность предшествует одним и тем же сбоям?
  • Последовательность второстепенных отказов предшествует серьезному отказу?
  • и т.д.

Один из способов сравнения шаблонов может быть таким:

  1. Классифицировать каждое сообщение
  2. Представляет каждый класс / тип уникальным идентификатором, поэтому теперь у вас есть последовательность идентификаторов
  3. Нарезать последовательность на периоды времени для сравнения
  4. Сравните срезы (массивы идентификаторов) с алгоритмом сравнения
  5. Сохраните выборки периодов, чтобы установить общие закономерности, затем сравните новые выборки за те же периоды, чтобы установить степень аномалии
1 голос
/ 11 марта 2011

SpliFF прав, вам нужно решить, какие вопросы важны для вас, а затем выяснить, собираете ли вы правильные данные, чтобы ответить на них. Осмысление такого рода оперативных данных может быть очень ценным.

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

  • Какие наиболее распространенные, серьезные ошибки встречаются «в дикой природе», ранжируются по частоте и воздействию. Данные : захватывать трассировки стека / точки вызова и аргументы методов, если это возможно.
  • Можете ли вы упростить некоторые общие действия, выполняемые вашими пользователями? Если X является наиболее распространенным, можно ли уменьшить количество шагов или можно упростить отдельные шаги? Данные : сеансы, потоки кликов для общих рабочих процессов. Функции ранжируются по частоте использования, количеству и сложности шагов.
  • Некоторые функции могут сбивать с толку, иметь конфликтующие опции, которые приводят к ошибкам пользователя. Сеансы, когда пользователь выполняет резервное копирование несколько раз, чтобы повторить шаг, или начинается заново с самого начала, могут показывать.

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

...