
Бета-версия Forecle: принципы работы и план развития
Совсем недавно вышла первая бета-версия Forecle — программы для умного мониторинга состояния железа компьютера. В этой статье мы подробно рассмотрим принципы работы новой программы, а также план её развития.
Погружение в принципы работы Forecle
Forecle отслеживает состояние компонентов компьютера. Этот процесс состоит из нескольких этапов: сбор данных с сенсоров, выполнение анализа, выявление неполадок и прогнозирование.
Сбор данных о состоянии компьютера и мониторинг
Источниками информации могут служить практически все компоненты компьютера. Это могут быть температурные датчики, физически расположенные, например, на материнской плате или на видеокарте, а также метрики, которые собираются самими устройствами, например, сила тока, напряжение, уровень нагрузки и др. В случае с накопителями это может быть также информация об их состоянии (количество ошибок чтения\записи, количество некорректных завершений работы, битые блоки, и т.п.). Причём данные, которые можно получить для SATA HDD\SSD и для NVMe накопителей, различаются. Таким образом, можно собрать большое количество данных. Обычно параметров больше сотни или даже двух сотен. Количество может разниться в зависимости от набора комплектующих компьютера. Это происходит потому, что разные производители железа реализуют сбор метрик по-разному.
Данные собираются циклично — пока программа запущена, она собирает и анализирует значения параметров с интервалом в несколько секунд. Интервал сбора значений зависит от количества параметров и мощности компьютера, и подбирается автоматически так, чтобы не мешать пользователю, соблюдая баланс между частотой сбора данных и нагрузкой на систему. Собираемые данные образуют временной ряд по каждому из параметров — поток значений для последующего анализа.
Также важно отфильтровывать получаемые данные. Это необходимо, так как в конкретный момент времени могут быть получены заведомо некорректные данные с сенсоров, например, мгновенное падение температуры до 0, отрицательная нагрузка на процессор и т.п. Такое может происходить из-за ошибок в ПО операционной системы или в работе контроллера, предоставляющего эти данные.
Forecle — это ещё и средство мониторинга. Отслеживать изменение параметров можно в главном окне программы, на вкладке «сенсоры». Там можно отфильтровать список, выбрав нужные типы устройств и категорий параметров, воспользоваться поиском, а также добавить нужные параметры в избранное.
Вкладка "сенсоры"
Анализ состояния, выявление неполадок и прогнозирование
Следующий важный этап — анализ полученных данных. Для выполнения анализа используется библиотека машинного обучения Interference (доступна в нашем GitHub репозитории). Весь анализ происходит на машине пользователя, без подключения к сторонним сервисам и передачи туда каких-либо данных о железе компьютера. Вообще, этап анализа состоит из четырёх уровней. На первом уровне происходит выявление отклонений для каждого из параметров в отдельности. Отклонение — в данном случае это параметр, который означает, насколько то или иное значение выходит за допустимые диапазоны. При обнаружении такого отклонения создаётся запись в журнале событий Forecle.
Второй уровень — многокритериальный анализ во времени и поиск закономерностей. Под закономерностями в данном случае понимаются периодические события — отклонения параметров. На этом уровне анализа учитываются совокупности параметров, а также их изменение во времени.
Третий уровень — прогнозирование дальнейшего изменения значений. Модель пытается предсказать, через какое время и какие параметры могут достичь своих критических значений, то есть придти к состоянию неполадки.
На четвёртом уровне происходит консолидация результатов всех предыдущих уровней анализа и вывод оповещения пользователю с помощью ассистента. С помощью встроенной базы знаний о неполадках и различных состояниях железа ассистент сообщит пользователю о проблеме (подробно описывая её), а также предлагая возможные пути её решения.
Простым и наглядным примером является ситуация, когда скорость вращения вентиляторов видеокарты оказывается равна нулю. Само по себе такое состояние не является неполадкой — многие современные видеокарты допускают полную остановку вентиляторов, если нет никакой нагрузки, и используют только пассивное охлаждение. Однако, если они остановлены, когда нагрузка есть (например, во время игры), это уже является неполадкой. Здесь в процессе выявления неполадки участвует сразу несколько параметров — скорости вращения вентиляторов видеокарты и нагрузка на её ядро. Даже если температура ещё не приблизилась к критической, уже на этом этапе ассистент сообщит о проблеме с системой охлаждения и о потенциальном перегреве.
План развития бета-версии Forecle
План развития до полноценного релиза Forecle, помимо исправления существующих проблем, включает в себя многосторонние улучшения программы. Вот ключевые пункты:
- Улучшение системы анализа и прогнозирования неполадок. Улучшение моделей.
- Расширение базы знаний о неполадках. Покрытие большего количества различных случаев.
- Доработка и расширение системы оповещений. Добавление новых возможностей по индикации неполадок.
- Доработка пользовательского интерфейса. Добавление подсказок для новичков.
Мы надеемся, что эти изменения помогут улучшить опыт использования Forecle. Мы всегда рады обратной связи.
Следите за новостями!