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

машинное обучение искусственный интеллект алгоритм сервер

Приветствую всех вОблако Tencent + сообщество, получить больше крупной технической практики Tencent по галантерее~

Эта статья написанаroganhuang Опубликован вКолонка «Облако + сообщество»

Введение

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

задний план

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

Цель

1. Автоматически анализировать отказ родительского компьютера во время простоя и точно определять причину отказа;

2. Когда точность классификации неисправностей достаточно точна, можно реализовать автоматическое урегулирование без ручного участия;

3. Потоковая обработка различных данных родительской машины в режиме реального времени для прогнозирования частичного отказа.

данные

1. dmesg: последний экран перед сбоем машины, содержащий данные сетевой консоли;

2. mcelog: система проверяет журнал ошибок оборудования;

3. sel: журнал системных событий, который создается серверными датчиками, собирающими данные для обнаружения аномалий.

Шаги метода

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

Фильтрация данных

1) Проверьте три типа журналов и проанализируйте, имеет ли каждый тип журнала значение для определения места неисправности. Удаляйте бесполезные журналы;

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

3) Сохраняйте три вида нарядов на работу по неисправностям, журналы которых не все пусты, а заказы на работу без записей вообще нельзя использовать;

4) Интегрировать журналы и тикеты ошибок в соответствии с идентификатором тикета.Тикет и мастер-машина должны быть в однозначном соответствии.

Очистка данных

1) Исключить специальные символы '#', '', '&', '@', '!', '(', ')', '*', '_' и т.д.;

2) Удалите бесполезную информацию из журнала, такую ​​как цифровой формат и английский формат;

3) Логи чистятся отдельно.При несоответствии форматов разных журналов их нужно чистить отдельно.

Векторизация текста

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

1) **Булев вектор (Boolean vector) — простейший метод расчета веса. **Если в тексте встречается характерное слово, его вес равен 1, если не встречается – 0. При таком простом и грубом способе легко потерять конкретную информацию внутри текста, а эффект несколько хуже. Но он подходит для некоторых моделей, использующих бинарную классификацию, таких как деревья решений и вероятностные классификаторы.

2) Термин «частота» является наиболее интуитивным методом расчета веса. **Количество раз, когда слово появляется в тексте, является частотным весом. Идея этого метода заключается в том, что чем чаще встречаются характерные слова, тем они важнее.

img

3) Tf-idf (Term Frequency-Inverse Document Frequency, Термин Частота-обратная частота документа) является наиболее широко используемым методом расчета веса. Чем больше раз слово появляется в журнале заявки и чем меньше раз оно встречается во всех заявках, тем лучше оно может представлять заявку о неисправности.

По сравнению с частотным весом вводится IDF. Основная идея IDF такова: чем меньше документов, содержащих термин t, тем больше IDF, значит, у термина хорошая способность различать категории. Формула расчета выглядит следующим образом: знаменатель увеличивается на 1, чтобы избежать того, чтобы знаменатель был равен 0.

img

img

Справочный пример:Вууху. Руань Ифэн.com/blog/2013/0…

Построение модели

Классификационная функция/модель классификации строится на основе существующих данных (маркеров), которые представляют собой поверхность принятия решений.

img

1) **Разделение данных:** Случайная стратифицированная выборка, разделяющая обучающую выборку (70 %) для построения модели и тестовую выборку (30 %) для проверки эффекта модели;

2) ** Предварительная обработка данных: ** интеграция данных, очистка данных, сегментация текста и другие процессы обрабатываются одинаково в обучающем наборе и тестовом наборе, чтобы гарантировать, что окончательный чистый обучающий набор и формат тестовых данных унифицированы;

3) **Векторизация текста: **Используйте tf-idf для векторизации текста, выберите регуляризацию l2, объедините частоту документа df и максимальную частоту слова tf для выбора функции и выберите несколько ключевых слов; установите стоп-слова ['is', 'не', 'это', 'тот', 'делать', 'в'] и т. д.;

4) **Построение модели: **Выберите алгоритмы, обычно используемые в задачах классификации для построения моделей, и постоянно оптимизируйте параметры в процессе построения модели, чтобы построить наилучшую модель.

img

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

Анализ результатов

На этапе диагностики неисправностей построенная модель применяется к тестовому набору для анализа результатов диагностики неисправностей. Модель диагностики неисправностей создается с помощью дерева решений, и видно, что эффект на обучающем наборе может достигать 98,94%, а на тестовом наборе может достигать 90,24%.

img

**Для дальнейшего повышения производительности модели, с одной стороны, следует проанализировать ошибочно классифицированные тикеты об ошибках на обучающей выборке и тестовой выборке, проверить содержимое трех журналов и найти проблему; С другой стороны, вы можете добавить больше данных для использования. Для построения модели, как правило, чем больше объем данных, тем ближе модель.

**Различные алгоритмы**. Попробуйте использовать разные алгоритмы классификации текста для классификации ошибок, и результаты проверки могут отразить применимость алгоритма к текущей проблеме. Таким образом, автор использует 8 алгоритмов для сравнения, а также обобщает и анализирует результаты.

img

img

**Правило ассоциации: левая кнопка -> правая кнопка, ** сочетание левой кнопки вызывает появление правой кнопки. Внедрение интеллектуального анализа ассоциативных правил может дополнительно проанализировать появление ключевых слов в журнале и определить, как определить возникновение определенного типа ошибки. Например, когда такие слова, как {'TSC', 'CPU', 'Hardware', 'Error'} появляются одновременно, можно понять, что когда эти ключевые слова появляются, существует 89,1% уверенности в том, что произошел сбой оборудования. - сбой памяти происходит искусственно.

Дополнение к раствору

С точки зрения инженерной практики автор предлагает следующие возможные решения в качестве дополнения к вышеописанным шагам метода:

1.Классификация неисправностей:Сбои делятся на степени, например, сбои первого уровня (аппаратные сбои — программные сбои), а сбои второго уровня — это более конкретные типы сбоев в аппаратных сбоях. Если результат прямой классификации всех вторичных неисправностей неудовлетворителен, вы можете сначалаРассмотрите возможность классификации ошибок первого уровня, а затем классификации ошибок второго уровня, чтобы добиться эффекта классификации ошибок.

2. **Несбалансированность данных:** То есть порядок величины различных типов заявок на отказ несовместим, а объем данных сильно различается, что делает классификационную модель смещенной в сторону большого количества отказов. Принимая во внимание проблему несбалансированных данных заявок на устранение неполадок,Рассмотрите возможность группировки небольших чисел в одну категорию — другие категории. Например, задачу девяти классов можно преобразовать в задачу четырех классов. Однако, когда количество заказов на работу серьезно несбалансировано и имеется много категорий неисправностей, этот метод суммирования выборок из нескольких категорий в другие категории делает эффект классификации модели более случайным.

img

3. **Многосимвольные характеристические слова: ** принцип заключается в выполнении операции скользящего окна размера N над текстовым содержимым в соответствии с потоком байтов для формирования последовательности байтовых фрагментов длиной N для автоматического создания многосимвольного признака. слова. По сравнению с раздельным существованием последовательное появление нескольких слов может иметь разные значения и влиять на классификацию.

4.Логические веса:Когда ЦП выходит из строя, многоядерный сбой ЦП и одноядерный сбой относятся к одной и той же категории, но многоядерный сбой будет записывать ситуацию каждого ядра, что приводит к повторению некоторых ключевых слов или форматов, что делает модель менее похожей на два. В этот момент рассмотримВекторизация текста с использованием логических весов вместо tf-idf.

следовать за

Поскольку текстовая классификация охватывает большое количество контента, эта статья начинается с максимально возможной простоты и описывает общий процесс анализа лога основной машины, а также решения в инженерной практике для обмена. Автор свяжется с вами для получения более подробных решений по выбору функций классификации текста, настройке параметров модели и дисбалансу данных.

Приведенное выше содержание основано на резюме работы Роганхуана во время стажировки. Благодаря помощи небольших партнеров в команде эксплуатации и разработки, а также старшему @simbazhou, наставнику @lelandwu и старшей сестре @mengnizhang за их руководство и помощь.

Автор не талантлив. Если есть какая-то ошибка, добро пожаловать, чтобы исправить ее!

Ссылка на ссылку

1.blog.CSDN.net/Чжоу Ручан199021/Ах…

2.blog.CSDN.net/Дом Сан Ёна…

3.Вууху. Руань Ифэн.com/blog/2013/0…

4.blog.CSDN.net/Utopia 0807/art…

5.blog.CSDN.net/Congratulations/Ах…

6.blog.CSDN.net/Congratulations/Ах…

вопросы и ответы

Какие математические основы необходимы для начала работы с машинным обучением?

Связанное Чтение

Устранение скрытых опасностей основной машины на основе частого извлечения многомерных данных

Больше не нужно беспокоиться об открытии интернет-кафе, черные товарищи по команде плохо слышат!

Система мониторинга производительности фронтенда своими руками

[Ежедневная рекомендация курса] Машинное обучение в действии! Быстрый старт бизнеса в сфере онлайн-рекламы и знание CTR

Эта статья была разрешена автором для публикации в сообществе Tencent Cloud + Для получения дополнительных оригинальных текстов, пожалуйстанажмите

Найдите и подпишитесь на общедоступную учетную запись «Сообщество Yunjia», получите технические галантереи как можно скорее и ответьте на 1024 после подписки, чтобы отправить вам подарочный пакет технических курсов!

Огромный технический практический опыт, все вСообщество Юнцзя!