Ad Widget

Collapse

SMART HDD + SSD (Linux + Win)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Andrey Dyukin
    Junior Member
    • Jul 2015
    • 22

    #1

    SMART HDD + SSD (Linux + Win)

    Господа хорошие, долго корпел над всем этим делом, теперь выкладываю.

    Универсальный мониторинг SMART HDD и SSD под Windows и Linux (Только HDD) через smartmontools

    Мониторинг делается по номерам параметров, а не по названиям
    Все проверки - активный агент.

    Windows:
    На каждый хост цепляется сразу два шаблона - в одном обнаруживаются HDD, в другом SSD.

    Все смарт параметры отбирались путем анализа смартов 30+ HDD и 10+ SSD разных моделей. (Не удалось посмотреть смарты SSD фирмы OCZ)

    На SSD тоже два шаблона - один общий, второй для SSD SmartBuy (У смартбаев нет в смарте 5го параметра, поэтому там мониторинг по 1)

    Linux:
    Тут все просто, один шаблон, с обнаружением.

    Не забудьте поменять в юзерпараметрах путь до скриптов, а в скриптах путь до smartmontools

    Очень жду комментариев по моему говнокоду, так как только начал писать на powershell и bash.

    Спасибо!
    Attached Files
    Last edited by Andrey Dyukin; 26-04-2016, 14:14. Reason: Поправил вложение, исправил один
  • Andrey Dyukin
    Junior Member
    • Jul 2015
    • 22

    #2
    А вот версия скрипта для Linux, с поправкой на старую версию Bash
    Attached Files

    Comment

    • Pivden
      Junior Member
      • May 2016
      • 1

      #3
      OS - Vista 64
      Zabbix 3.0.2
      smartctl.exe 6.5

      disk_discovery.ps1 не отработал, не разбирался. заменил на другой.

      подправил шаблон обнаружения (под другой скрипт).

      добавил обнаружение по "старости" (хотел видеть винты, которым более 5 лет - {SMART HDD Windows:smart.hdd[{#DISK},9].last()}>43800 ).

      для себя еще добавлю "Температура" и "Модель HDD"
      UserParameter=hdd.model.[*],for /F "tokens=3*" %a in ('C:\zabbix\smartmontools\bin\smartctl.exe -i $1 ^| find "Device Model"') do @echo %a %b
      PHP Code:
      root@zabbix:/home/appliance# zabbix_get -s 192.168.1.1 -k hdd.discovery
      {
       
      "data":[

      &
      #9618;▒▒ "C:\zabbix\smartmontools\smartctl.exe" ▒▒ ▒ᯮ▒▒▒▒▒ ▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒, ▒▒
      ▒▒樨, 䠩▒▒ ▒ਯ▒ ▒▒▒ ▒믮▒▒塞▒▒ ▒ணࠬ▒▒. ▒஢▒▒▒▒ ▒ࠢ▒▒쭮▒▒▒ ▒▒▒▒ᠭ▒
      ▒ ▒▒▒▒▒, ▒ ⠪▒▒ ▒▒▒▒稥 ▒ ▒ࠢ▒▒쭮▒▒▒ ▒▒▒, ▒▒᫥ 祣▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒.
      C:\Zabbix\smart\disk_discovery.ps1:▒▒▒▒:53
      +     $rotation C:\zabbix\smartmontools\smartctl.exe <<<<  -a $disk Select-
      string "Rotation Rate"
          
      CategoryInfo          ObjectNotFound: (C:\zabbix\smartmontools\smartct
         l
      .exe:String) [], CommandNotFoundException
          
      FullyQualifiedErrorId CommandNotFoundException

      {
      "{#DISK}":"/dev/sda",
      "{#ROTATION}":"1"
      }
      ,
      &
      #9618;▒▒ "C:\zabbix\smartmontools\smartctl.exe" ▒▒ ▒ᯮ▒▒▒▒▒ ▒▒▒ ▒▒▒ ▒▒▒▒▒▒▒▒▒, ▒▒
      &#9618;▒樨, 䠩▒▒ ▒ਯ▒ ▒▒▒ ▒믮▒▒塞▒▒ ▒ணࠬ▒▒. ▒஢▒▒▒▒ ▒ࠢ▒▒쭮▒▒▒ ▒▒▒▒ᠭ▒
      &#9618; ▒▒▒▒▒, ▒ ⠪▒▒ ▒▒▒▒稥 ▒ ▒ࠢ▒▒쭮▒▒▒ ▒▒▒, ▒▒᫥ 祣▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒.
      C:\Zabbix\smart\disk_discovery.ps1:&#9618;▒▒▒:53
      +     $rotation C:\zabbix\smartmontools\smartctl.exe <<<<  -a $disk Select-
      string "Rotation Rate"
          
      CategoryInfo          ObjectNotFound: (C:\zabbix\smartmontools\smartct
         l
      .exe:String) [], CommandNotFoundException
          
      FullyQualifiedErrorId CommandNotFoundException

      {
      "{#DISK}":"/dev/sdb",
      "{#ROTATION}":"1"
      }
      ,
      {
      "{#DISK}":"0",
      "{#ROTATION}":"2"
      }


       ]

      Last edited by Pivden; 18-05-2016, 09:40.

      Comment

      • chents
        Junior Member
        • Aug 2018
        • 1

        #4
        Не хочет работать (
        В файл конфига заббикса (/etc/zabbix/zabbix_agentd.conf) добавил строки:

        PHP Code:
        UserParameter=hdd.discovery, /etc/zabbix/scripts/hdd_discovery.pl
        UserParameter
        =smart.hdd[*], /etc/zabbix/scripts/smart.sh $$
        Два скрипта положил в /etc/zabbix/scripts
        smartmontools установил.
        шаблон импортировал на сервере. для узла шаблон применил.

        вот вывод zabbix_agentd -t hdd.discovery :
        PHP Code:
        hdd.discovery                                 [t|{
            
        "data":[

            {
                
        "{#DISK}":"/dev/dm-0",
                
        "{#SMART_ENABLED}":"0"
            
        }
            ,
            {
                
        "{#DISK}":"/dev/md0",
                
        "{#SMART_ENABLED}":"0"
            
        }
            ,
            {
                
        "{#DISK}":"/dev/md1",
                
        "{#SMART_ENABLED}":"0"
            
        }
            ,
            {
                
        "{#DISK}":"/dev/md2",
                
        "{#SMART_ENABLED}":"0"
            
        }
            ,
            {
                
        "{#DISK}":"/dev/sda",
                
        "{#SMART_ENABLED}":"1"
            
        }
            ,
            {
                
        "{#DISK}":"/dev/sdb",
                
        "{#SMART_ENABLED}":"1"
            
        }
            ,
            {
                
        "{#DISK}":"/dev/sdc",
                
        "{#SMART_ENABLED}":"1"
            
        }
            ,
            {
                
        "{#DISK}":"/dev/sdd",
                
        "{#SMART_ENABLED}":"1"
            
        }
            ,
            {
                
        "{#DISK}":"/dev/итого 0",
                
        "{#SMART_ENABLED}":"0"
            
        }

            ]
        }] 
        вот вывод zabbix_agentd -t smart.hdd :
        PHP Code:
        smart.hdd                                     [t|] 

        Comment

        Working...