Домашний сервер

Монит: монитор жесткого диска SMART здоровья и температуры

Монит: монитор жесткого диска SMART здоровья и температуры

Посмотрим правде в глаза, диски NAS / Server выходят из строя, и по этой причине важно следить за состоянием и температурой SMART жесткого диска, чтобы вы могли предпринять меры предосторожности, такие как резервное копирование или увеличение охлаждения. Monit – это утилита для автоматического мониторинга, обслуживания и ремонта систем Unix. Если состояние жесткого диска SMART не удается или температура диска высокая, Monit отправит вам уведомление по электронной почте. Затем вы можете изучить и решить любые проблемы. В этом руководстве по Monit я покажу вам, как контролировать температуру жесткого диска и состояние SMART с помощью Monit на вашем домашнем сервере. Под мониторингом состояния SMART на жестком диске я подразумеваю общее состояние SMART, о котором сообщают короткие и длинные тесты. Я предполагаю, что вы уже установили и настроили Monit, следуя моему предыдущему руководству.

Определите разделы диска для мониторинга

Прежде чем вы сможете отслеживать состояние и температуру SMART жесткого диска с помощью Monit, вам необходимо знать, какие диски вы хотите отслеживать. Если вы помните мою недавно созданную комбинацию HTPC-NAS, у меня на сервере есть два жестких диска (sda, это SSD и sdb, это 4 ТБ HDD). У sda есть 3 раздела (sda1, sda2 и sda3). SDB имеет только один раздел. Если вы не знаете, какие из них контролировать, используйте lsblkкоманду. Обратите внимание на диски sda и sdb в выводе ниже.

Монит: монитор жесткого диска SMART здоровья и температуры

Вывести список всех дисков с помощью команды lsblk

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

Контролируйте свой домашний сервер с Monit:

Установите smartmontools

Затем вам нужно программное обеспечение, которое называется smartmontoolsустановленным в вашей системе. smartmontoolsсодержит smartctlи осуществляет smartdмониторинг систем с использованием технологии самоконтроля, анализа и отчетности (SMART), встроенной в большинство современных жестких дисков. smartctlтесты дают предупреждение о деградации жесткого диска и сбое. Может использоваться для контроля состояния жесткого диска и температуры SMART. Используйте следующую команду для установки smartmontools.

sudo apt-get install smartmontools

После smartmontoolsустановки проверьте его производительность с помощью следующей команды (замените sda на интересующий вас диск):

sudo smartctl -i /dev/sda

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

Монит: монитор жесткого диска SMART здоровья и температуры

Информация о жестком диске smartctl

Если SMART не активирован, используйте следующую команду, чтобы включить его, и проверьте состояние SMART HDD в выходных данных.

sudo smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda

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

Монит: монитор жесткого диска SMART здоровья и температуры

Включить SMART на жестком диске

Теперь мы можем настроить мониторинг состояния SMART жесткого диска с помощью monit.

Создание сценариев мониторинга жесткого диска Monit

Прежде чем мы сможем отслеживать состояние и температуру жесткого диска с помощью Monit, нам нужно будет создать сценарии, которые будут проверять результаты SMART-теста и сообщать об этом Monit. Если он еще не существует, создайте папку с именем «scripts» внутри, /etc/monitиспользуя команду ниже:

sudo mkdir /etc/monit/scripts

Скрипт мониторинга температуры жесткого диска

Затем создайте новый скрипт мониторинга температуры жесткого диска:

sudo nano /etc/monit/scripts/sdatemp.sh

Скопируйте в него следующее содержимое, сохраните и выйдите (нажмите Ctrl X, нажмите Y и нажмите ENTER).

#!/bin/sh HDDTP=`/usr/sbin/smartctl -a /dev/sda | grep Temp | awk -F " " '{printf "%d",$10}'` #echo $HDDTP # for debug only exit $HDDTP

Затем дайте права на выполнение скрипту, используя следующую команду:

sudo chmod 755 /etc/monit/scripts/sdatemp.sh

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

$ sudo bash /etc/monit/scripts/sdatemp.sh 25

Если вы видите напечатанную температуру, тогда вам пора. Снова откройте /etc/monit/scripts/sdatemp.sh, добавьте # перед строкой 3 и сделайте так, чтобы он выглядел как блок кода выше, сохраните и выйдите.

Сценарий мониторинга работоспособности жесткого диска SMART

Затем создайте новый сценарий мониторинга состояния SMART на жестком диске:

sudo nano /etc/monit/scripts/sdahealth.sh

Скопируйте в него следующее содержимое, сохраните и выйдите (нажмите Ctrl X, нажмите Y и нажмите ENTER).

#!/bin/sh STATUS=`/usr/sbin/smartctl -H /dev/sda | grep overall-health | awk 'match($0,"result:"){print substr($0,RSTART+8,6)}'` #echo $STATUS if [ "$STATUS" = "PASSED" ] then # 0 implies PASSED TP=0 else # 1 implies FAILED TP=1 fi #echo $TP # for debug only exit $TP

Затем дайте права на выполнение скрипту, используя следующую команду:

sudo chmod 755 /etc/monit/scripts/sdahealth.sh

Наконец, убедитесь, что скрипт работает и выводит SMART на жесткий диск. Для этого временно удалите # перед строкой 3 и предпоследней строкой, сохраните, выйдите и выполните приведенную ниже команду. Жесткий диск SMART Общее состояние должно появиться в следующей строке, как показано ниже:

$ sudo bash /etc/monit/scripts/sdahealth.sh PASSED 0

Если вы видите «PASSED» и «0» напечатаны, то вы можете идти. Снова откройте /etc/monit/scripts/sdahealth.sh, добавьте # перед строкой 3 и предпоследней строкой и сделайте так, чтобы она выглядела как блок кода выше, сохраните и выйдите.

Мониторинг жесткого диска SMART Health с помощью Monit

Далее необходимо, чтобы у вас был рабочий экземпляр Monit с соответствующим /etc/monit/monitrcфайлом. Конфигурации Monit для различных сервисов загружаются из /etc/monit/conf.dпапки. Чтобы отслеживать состояние SMART жесткого диска с помощью Monit, создайте файл конфигурации Monit с помощью следующей команды.

sudo /etc/monit/conf.d/sdastatus

Скопируйте в него следующее содержимое, сохраните и выйдите (нажмите Ctrl X, нажмите Y и нажмите ENTER).

#Temperature check program SSD-Temp with path "/etc/monit/scripts/sdatemp.sh" every 5 cycles if status > 35 then alert group health #SMART Overall Health check program SSD-Health with path "/etc/monit/scripts/sdahealth.sh" every 120 cycles if status != 1 then alert group health

Этот код поможет отслеживать состояние жесткого диска SMART с помощью Monit. Вы можете изменить слова SSD-Tempи SSD-Healthна что-то другое. Вы также можете настроить частоту проверки (X циклов). Если состояние жесткого диска SMART не удается или температура жесткого диска становится выше 35, Monit отправит вам уведомление по электронной почте. Пример предупреждения Monit показан ниже.

Монит: монитор жесткого диска SMART здоровья и температуры

Оповещение по электронной почте Monit System Monitoring

Я посмотрел на среднюю температуру для моего твердотельного накопителя и добавил к ней 10 C, чтобы установить целевое значение 35 градусов C. Это намного ниже его максимальной температуры в 70 градусов C. Моя установка HTPC-NAS Combo не выделяет много тепла. Не пугайтесь, если ваша температура намного выше, чем цифры, перечисленные здесь.

Тест и перезагрузка Монит

После внесения каких-либо изменений необходимо протестировать конфигурацию Monit:

sudo monit -t

Вы должны увидеть следующее сообщение: Синтаксис файла управления ОК. Затем проверьте, запущен ли Monit, с помощью следующей команды:

sudo /etc/init.d/monit status

Если Monit запущен, перезагрузите конфигурации Monit, используя следующую команду:

sudo /etc/init.d/monit reload

Если Monit не запущен, запустите его, используя sudo monitкоманду. Вся последовательность команд для тестирования и перезагрузки Monit показана на рисунке ниже.

Монит: монитор жесткого диска SMART здоровья и температуры

Монит Тест и Перезагрузка

Теперь запустите веб-браузер и перейдите на один из следующих URL-адресов в зависимости от того, как настроен ваш Monit (обязательно используйте правильный номер порта):

  • HTTP: // локальный: 2812
  • http: // IPADDRESS: 2812 (IP-адрес локальной сети)
  • http://domain.com:2812 (если ваше доменное имя указывает на ваш сервер)

Вы должны увидеть состояние и температуру жесткого диска, указанные в веб-интерфейсе Monit, как показано на рисунке ниже (см. SSD-Temp и SSD-Health). Приведенный выше скрипт мониторинга состояния SMART выведет «1», если состояние «PASSED», и «2», если обнаружен сбой жесткого диска SMART.

Монит: монитор жесткого диска SMART здоровья и температуры

Мониторинг жесткого диска SMART Health с помощью Monit

Вот и все, что нужно SMART для мониторинга состояния и температуры жесткого диска с помощью Monit. Как вы можете видеть, Monit обеспечивает автоматический мониторинг работоспособности системы, что может сильно помочь администраторам. На странице Monit Wiki есть несколько примеров. Больше примеров Monit для домашнего сервера, чтобы следовать, поэтому продолжайте проверять.

Источник записи: https://www.smarthomebeginner.com

Похожие записи
Домашний сервер

Изменить интервал синхронизации времени Windows?

Домашний сервер

План новичка: полное руководство по установке Monit

Домашний сервер

Google OAuth Tutorial для Docker и Traefik - аутентификация для сервисов

Домашний сервер

Установите Guacamole на Docker - VNC, SSH, SFTP и RDP, как босс!

Sign up for our Newsletter and
stay informed
[mc4wp_form id="14"]

Политика конфиденциальности

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

Принять