Анализ логов сервера с использованием машинного обучения

10

Мне было поручено проанализировать журналы сервера нашего приложения, которые содержат журналы исключений, журналы событий журналов базы данных и т. Д. Я новичок в машинном обучении, мы используем Spark с упругим поиском и Sparks MLlib (или PredictionIO). Пример желаемого В результате можно было бы прогнозировать на основе собранных журналов исключений, чтобы можно было предсказать, какой пользователь с большей вероятностью вызовет следующее исключение и у какой функции (и кучу других вещей, чтобы отслеживать и улучшать оптимизацию приложения).

Я успешно смог вставить данные из ElasticSearch в Spark, создать DataFrames и отобразить необходимые данные. Я хотел бы знать, как мне подойти к аспекту машинного обучения моей реализации. Я просматривал статьи и статьи, в которых рассказывалось о предварительной обработке данных, обучении моделей данных и создании меток, а затем о создании прогнозов.

У меня есть вопросы

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

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

Просто ищу предложения о том, как подойти к этой проблеме.

Благодарю вас.

Элрик
источник
Если бы у вас была прогнозирующая способность полагать, что определенный пользователь имеет высокую вероятность исключения, что бы вы сделали? Целью является оптимизация приложения. Вы пытаетесь уточнить, на какие ошибки инженеры должны тратить свое время, вместо того, чтобы просто исправлять известные ошибки в приложении? Разработка функций может быть очень важна для этой задачи. Кроме того, вы можете рассмотреть логистическую регрессию, которая даст значение 0..1, которое можно интерпретировать как вероятность.
5
Я думаю, что вы не достигли цели. Не относитесь к МЛ как к черному ящику, чтобы творить магию. Вы должны задать правильные вопросы (и иметь для этого достаточные данные), чтобы получить какой-либо результат.
ВЫЙТИ - Anony-Mousse
Решена ли ваша проблема, чтобы предсказать, какой пользователь с большей вероятностью вызовет следующее исключение и у какой функции (и кучу других вещей, чтобы отслеживать и улучшать оптимизацию приложения) ? Если да, то не могли бы вы поделиться своим подходом к решению или кто-то еще может поделиться?
Ашиш Тяги

Ответы:

12

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

Если это так, то вы можете рассмотреть возможность использования методов Process Mining . Это позволяет вам создавать модели вашего процесса (использования вашего приложения) и определять шаблоны этапов процесса, а также ошибки и этапы доработки.

Существует хороший вводный курс на Coursera, здесь . Есть даже некоторые разработанные коммерческие пакеты, такие как «диско», которые помогут вам с анализом и визуализацией

Оливер
источник