Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Мониторинг Железа
Датчики температур
Кулера
Диски
Напряжение
и т.д.
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение Артём Мамзиков »

Алексей Иванов,
Да есть такое теперь вижу на Zabbix 5.0 system.run
Параметр EnableRemoteCommands теперь устарел. Удаленные команды по-прежнему отключены по умолчанию, но в новых конфигурационных файлах, которые выражаются с помощью нового параметра DenyKey (DenyKey=system.run[*]). Удаленные команды можно включить, удалив (или закомментировав) ключ DenyKey=system.run[*].
Включение удаленных команд в Zabbix агенте очень сложно и вводит в заблуждение

Скрипт был загружен из архива smartctl.sh или скопирован с сайта ( возможно какие то символы преобразовались и скрипт не работает)

Команда на windows cmd
C:\Users\>smartctl --scan-open
/dev/sda -d ata # /dev/sda, ATA device
/dev/sdb -d ata # /dev/sdb, ATA device

smartctl -i /dev/sda отдает значение SMART support is: Enabled ?

Или такие команды
Пример ответа
zabbix_get -s 192.168.561.9 -k system.run["smartctl --scan-open"] | grep "/dev/sd"
/dev/sda -d ata # /dev/sda, ATA device
/dev/sdb -d ata # /dev/sdb, ATA device
/dev/sdc -d scsi # /dev/sdc, SCSI device

zabbix_get -s 192.168.561.9 -k system.run["smartctl --scan-open"] | grep "/dev/sd" | sed "s/\/dev\///" | cut -c 1-3
sda
sdb
sdc


zabbix_get -s 192.168.561.9 -k system.run["smartctl -i /dev/sda"] | grep "SMART support is: Enabled"
SMART support is: Enabled
Информация
zabbix_get -s $1 -k system.run["smartctl -x /dev/sda"]
Атрибуты
zabbix_get -s $1 -k system.run["smartctl -A /dev/sda"]
количество слов: 158
Аватара пользователя
Алексей Иванов
Гость
Сообщения: 7
Стаж: 1 год 5 месяцев

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение Алексей Иванов »

Скрипт был загружен из архива smartctl.sh или скопирован с сайта ( возможно какие то символы преобразовались и скрипт не работает)
Да было такое - исправил. Сначала совсем не работал скрипт.
Команда на windows cmd
C:\Users\>smartctl --scan-open

Код: Выделить всё

/dev/sda -d nvme # /dev/sda, NVMe device
smartctl -i /dev/sda отдает значение SMART support is: Enabled ?

Код: Выделить всё

smartctl 7.1 2019-12-30 r5022 [x86_64-w64-mingw32-w10-b19041] (sf-7.1-1)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       WDS500G3X0C-00SJG0
Serial Number:                      19295E804834
Firmware Version:                   102000WD
PCI Vendor/Subsystem ID:            0x15b7
IEEE OUI Identifier:                0x001b44
Total NVM Capacity:                 500 107 862 016 [500 GB]
Unallocated NVM Capacity:           0
Controller ID:                      8215
Number of Namespaces:               1
Namespace 1 Size/Capacity:          500 107 862 016 [500 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            001b44 8b4402856a
Local Time is:                      Thu Jun 18 08:14:40 2020 RTZ
Нет ничего про "SMART support is: Enabled". Может из-за того, что на компе стоит диск nvme.
zabbix_get -s 192.168.0.183 -k system.run["smartctl --scan-open"] | grep "/dev/sd"

Код: Выделить всё

/dev/sda -d nvme # /dev/sda, NVMe device
zabbix_get -s 192.168.0.183 -k system.run["smartctl --scan-open"] | grep "/dev/sd" | sed "s/\/dev\///" | cut -c 1-3
zabbix_get -s 192.168.0.183 -k system.run["smartctl -i /dev/sda"] | grep "SMART support is: Enabled"
ничего не возвращает. Походу из-за того, что диск nvme....
zabbix_get -s 192.168.0.183 -k system.run["smartctl -x /dev/sda"]

Код: Выделить всё

Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       WDS500G3X0C-00SJG0
Serial Number:                      19295E804834
Firmware Version:                   102000WD
PCI Vendor/Subsystem ID:            0x15b7
IEEE OUI Identifier:                0x001b44
Total NVM Capacity:                 500▒107▒862▒016 [500 GB]
Unallocated NVM Capacity:           0
Controller ID:                      8215
Number of Namespaces:               1
Namespace 1 Size/Capacity:          500▒107▒862▒016 [500 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            001b44 8b4402856a
Local Time is:                      Thu Jun 18 08:32:42 2020 RTZ
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x001f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat
Maximum Data Transfer Size:         128 Pages
Warning  Comp. Temp. Threshold:     80 Celsius
Critical Comp. Temp. Threshold:     85 Celsius
Namespace 1 Features (0x02):        NA_Fields

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     5.50W       -        -    0  0  0  0        0       0
 1 +     3.50W       -        -    1  1  1  1        0       0
 2 +     3.00W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3     4000   10000
 4 -   0.0025W       -        -    4  4  4  4     4000   45000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        47 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    3▒195▒177 [1,63 TB]
Data Units Written:                 1▒962▒382 [1,00 TB]
Host Read Commands:                 26▒536▒665
Host Write Commands:                29▒694▒909
Controller Busy Time:               25
Power Cycles:                       9
Power On Hours:                     481
Unsafe Shutdowns:                   2
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

Error Information (NVMe Log 0x01, max 256 entries)
No Errors Logged
zabbix_get -s 192.168.0.183 -k system.run["smartctl -A /dev/sda"]

Код: Выделить всё

smartctl 7.1 2019-12-30 r5022 [x86_64-w64-mingw32-w10-b19041] (sf-7.1-1)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF SMART DATA SECTION ===
SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        47 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    3▒195▒178 [1,63 TB]
Data Units Written:                 1▒962▒476 [1,00 TB]
Host Read Commands:                 26▒536▒755
Host Write Commands:                29▒696▒554
Controller Busy Time:               25
Power Cycles:                       9
Power On Hours:                     481
Unsafe Shutdowns:                   2
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Причем скрипт работает:

Код: Выделить всё

setup@ubserv:/usr/lib/zabbix/externalscripts$ ./smartctl.sh 192.168.0.183 sda info
smartctl 7.1 2019-12-30 r5022 [x86_64-w64-mingw32-w10-b19041] (sf-7.1-1)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       WDS500G3X0C-00SJG0
Serial Number:                      19295E804834
Firmware Version:                   102000WD
PCI Vendor/Subsystem ID:            0x15b7
IEEE OUI Identifier:                0x001b44
Total NVM Capacity:                 500▒107▒862▒016 [500 GB]
Unallocated NVM Capacity:           0
Controller ID:                      8215
Number of Namespaces:               1
Namespace 1 Size/Capacity:          500▒107▒862▒016 [500 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            001b44 8b4402856a
Local Time is:                      Thu Jun 18 12:28:39 2020 RTZ
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x001f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat
Maximum Data Transfer Size:         128 Pages
Warning  Comp. Temp. Threshold:     80 Celsius
Critical Comp. Temp. Threshold:     85 Celsius
Namespace 1 Features (0x02):        NA_Fields

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     5.50W       -        -    0  0  0  0        0       0
 1 +     3.50W       -        -    1  1  1  1        0       0
 2 +     3.00W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3     4000   10000
 4 -   0.0025W       -        -    4  4  4  4     4000   45000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        48 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    3▒205▒608 [1,64 TB]
Data Units Written:                 1▒978▒648 [1,01 TB]
Host Read Commands:                 26▒724▒517
Host Write Commands:                30▒007▒155
Controller Busy Time:               25
Power Cycles:                       9
Power On Hours:                     485
Unsafe Shutdowns:                   2
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

Error Information (NVMe Log 0x01, max 256 entries)
No Errors Logged
setup@ubserv:/usr/lib/zabbix/externalscripts$ ./smartctl.sh 192.168.0.183 sda info
smartctl 7.1 2019-12-30 r5022 [x86_64-w64-mingw32-w10-b19041] (sf-7.1-1)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       WDS500G3X0C-00SJG0
Serial Number:                      19295E804834
Firmware Version:                   102000WD
PCI Vendor/Subsystem ID:            0x15b7
IEEE OUI Identifier:                0x001b44
Total NVM Capacity:                 500▒107▒862▒016 [500 GB]
Unallocated NVM Capacity:           0
Controller ID:                      8215
Number of Namespaces:               1
Namespace 1 Size/Capacity:          500▒107▒862▒016 [500 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            001b44 8b4402856a
Local Time is:                      Thu Jun 18 12:29:03 2020 RTZ
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x001f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat
Maximum Data Transfer Size:         128 Pages
Warning  Comp. Temp. Threshold:     80 Celsius
Critical Comp. Temp. Threshold:     85 Celsius
Namespace 1 Features (0x02):        NA_Fields

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     5.50W       -        -    0  0  0  0        0       0
 1 +     3.50W       -        -    1  1  1  1        0       0
 2 +     3.00W       -        -    2  2  2  2        0       0
 3 -   0.0700W       -        -    3  3  3  3     4000   10000
 4 -   0.0025W       -        -    4  4  4  4     4000   45000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        48 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    3▒205▒608 [1,64 TB]
Data Units Written:                 1▒978▒663 [1,01 TB]
Host Read Commands:                 26▒724▒520
Host Write Commands:                30▒007▒465
Controller Busy Time:               25
Power Cycles:                       9
Power On Hours:                     485
Unsafe Shutdowns:                   2
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

Error Information (NVMe Log 0x01, max 256 entries)
No Errors Logged
А вот команда discovery:

Код: Выделить всё

setup@ubserv:/usr/lib/zabbix/externalscripts$ ./smartctl.sh 192.168.0.183 discovery
{"data":[
]}
количество слов: 1433
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение Артём Мамзиков »

Алексей Иванов,
Да все верно тогда скрипт ничего и не должен отдать так как

Одно ограничение на данный момент: мониторинг дисков только формата /dev/sd* (sda sdb)
Формат /dev/csmi*,* (Intel Matrix RAID) не поддерживается ввиду того, что zabbix_get считает запятую вторым аргументом. для новых версий возможно что то поменялось и можно что то сделать но у меня таких нет чтоб протестировать

Ну тут ладно еще у тебя строка содержит SDA и команда отработает
это самое начало скрипта
# Запускаем команду smartctl --scan-open |и ищем строки содержащие /dev/sd и передаем всё в переменную get
get=`zabbix_get -s $1 -k system.run["smartctl --scan-open"] | grep "/dev/sd"`

У тебя быстрее всего скрипт не работает дальше завершается и выходит пустой так как там есть проверка
# Проверяем что включен smart на данном диске ищем строку SMART support is: Enabled если ее нет ничего не выводим, при поиске по шаблону
#внутри [!=] сравнение строк SMART support is: Enabled = SMART support is: Enabled выполняется передаем дальше.
if [[ `zabbix_get -s $1 -k system.run["smartctl -i /dev/$DISKID"] | grep "SMART support is: Enabled"` != "" ]]
если только эту проверку убрать в скрипте тогда у тебя будет отрабатывать скрипт smartctl.sh
количество слов: 64
Аватара пользователя
Алексей Иванов
Гость
Сообщения: 7
Стаж: 1 год 5 месяцев

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение Алексей Иванов »

если только эту проверку убрать в скрипте тогда у тебя будет отрабатывать скрипт smartctl.sh
Да понятно. Только если проверку убрать, то скрипт уже не универсальный будет. Диски nvme (m.2 точно) уже приходят в массы. А на тестовой машине как раз диск nvme.
Но я хотел собирать статистику с обычных рабочих станций в организации. И там где-то есть и m.2 диски и ssd и обычные HDD.
Будем тестить... Теперь знаю где копать.
Спасибо Артем большое, что помогли разобраться. Заббикс только начал изучать. (думал что-то попроще будет: централизованная установка агентов хотя бы... А тут оказывается собирать статистику об работе железа на компах даже целая наука)
количество слов: 10
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение Артём Мамзиков »

Алексей Иванов, Он так же будет универсальным просто он сможет создать элемент диска но по факту там может не быть smart и собирать там нечего будет. Для этого и сделана проверка мол смарт включен Ок собираем данные, Смарта нет ничего не передаем например raid массив, там уже специализированные программки нужны для того или инова железа. Можно взять любую другую строку для проверки которая так же есть везде и означает что смарт диска доступен.

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

Еще для ssd немного не совпадает шаблон. По кодам они отличаются лучше сделать 2 под обычный hdd и ssd

в шаблоне прототип Диск {#DISKID} - Температура [231]
а в smartmonitortools 7.0-1

231 SSD_Life_Left 0x0013 100 100 --- Pre-fail Always - 98
241 Lifetime_Writes_GiB 0x0012 100 100 --- Old_age Always - 5069
242 Lifetime_Reads_GiB

Обсуждали вот тут
количество слов: 38
LindaFaund
Гость
Сообщения: 3
Стаж: 1 год 3 месяца
Откуда: Guatemala
Контактная информация:

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение LindaFaund »

Всем привет.

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

Может можно через Total Commander, средствами Windows 10 или какой-нибудь другой программой?
количество слов: 5
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение Артём Мамзиков »

LindaFaund, Добрый вечер!
Прям напрямую через интернет наверное не хорошая идея так делать))) все данные пойдут в открытом виде равносильно залить на открытый ресурс и на берите кто хотите. Другое дело гонять в локальной сети тут логичнее сделать общую папку.
Или поднять свой vpn и соединить все в одну сеть сделать хоть синхронизацию хоть общий сетевой ресурс.
Либо поднять облако что то вроде ownCloud.
Либо яндекс гугл майл диск и синхронизировать там папки или та же учетка майкрософт на нескольких ПК.
Либо еще гуглить подходящие варианты.
количество слов: 3
Nikolaiavaip
Гость
Сообщения: 4
Стаж: 1 год 3 месяца
Откуда: Russia
Контактная информация:

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение Nikolaiavaip »

Здравствуйте. Есть сервер к сожалению привести его технические данные не могу, но в нём стоит Intel Raid Controller SRCS16. Собран RAID 5 из 3-х дисков по 120 гигабайт. 1 видать сдох.
есть новый аналогичный HDD на 160 гб вот я думаю если я его поставлю в замен старого у меня всё будет работать? Просто я ещё не опытный, и не знаю что делать после того как произведу замену.
количество слов: 11
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение Артём Мамзиков »

Nikolaiavaip, Добрый вечер! Лучше ставить аналогичный диск вышедшему из строя. Обычно для raid используются диски sas они быстрее обрабатывают множественные запросы скорость вращение больше обычных может быть например 10 000. Так же размер всех дисков обычно один для одного raid массива. Если один диск будет медленнее других возможно весь raid перейдет на такую скорость. Так же у обычных дисков возможен повышенный нагрев в связи с большим количеством запросов и данных. Ресурс sas дисков более долговечный и расчет пол сервер. Из обычных hdd так же делают raid массивы под мелкие задачи. Поставить думаю можно если ограничений со стороны железа сервера не будет и по, но все же лучше ставить диск который соответствует. И почитать сравнение обычного HDD и SAS дисков.
количество слов: 12
uglickiy
Гость
Сообщения: 1
Стаж: 1 год 1 месяц

Скрипт + Шаблон LLD Для проверки Жестких Дисков HDD через smartmontools

Сообщение uglickiy »

Настраивал Zabbix по инструкции на готовом образе CentOS все отлично работало правда не долго база переполнилась.
Сейчас поставил с нуля Zabbix на Ubuntu. Не пойму почему не появляются тигеры HDD, без скриптовые работают.
Вместо EnableRemoteCommands = 1 поставил AllowKey=system.run[*] иначе ругается агент.
Все проверки выполняются.
./smartctl.sh IP-hosta discovery
{"data":[{"{#DISKID}":"sda"}, {"{#DISKID}":"sdb"}]}
Можно както посмотреть почему Zabbix не запускает smartctl.sh? права 100775 я дал
Добавил etc/sudoers:
zabbix ALL=NOPASSWD: ALL
Defaults requiretty
Defaults:zabbix !requiretty
количество слов: 35
Ответить Вложения 10 Пред. темаСлед. тема

Вернуться в «Аппаратное обеспечение»