Ad Widget

Collapse

Smart мониторинг Zabbix

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Andrew29
    Junior Member
    • May 2021
    • 5

    #1

    Smart мониторинг Zabbix

    Добрый день!Столкнулся с необходимостью мониторинга SMART показаний дисков, остановился на Zabbix 5.4(новый), установил его на Ubuntu Server, на рабочих станция под управлением windows установил Zabbix агент 2, работающего в связке с smartmoontols(утилита для мониторинга SMART). На сервере использую стандартный шаблон "SMART by Zabbix agent 2", пинг с сервера до рабочих станций есть, индикатор ZBX(zabbix) на сервере горит зеленым, что говорит о том, что связь есть. С первым ПК все получилось, SMART данные передаются, когда начал настройку на втором, третьем и т.д. При тестовом получении данных выдает сообщение "Failed to scan for devices: Cannot unmarshal JSON: invalid character '\u00ad' after top-level value..", с шаблоном скорее всего всё в порядке т.к. он стандартный и один ПК всё же по этому шаблону передает данные. на рабочих станциях все одинаково, файл zabbix_agent2.conf, даже версии Zabbix agent 2 и smartmoontools, порт 10050 открыт, подскажите в каком направлении копать? Если нужна какая-то доп. информация, то готов предоставить.

    ​​​​​​P.S. Единственная зацепка при вводе команды "smartctl --scan-open" в cmd на ПК откуда данные корректно передаются диски выводятся в формате:
    ​​​​​​​
    /dev/sda -d ata # /dev/sda, ATA device
    /dev/csmi0,1 -d ata # /dev/csmi0,1, ATA device
    /dev/csmi0,2 -d ata # /dev/csmi0,2, ATA device

    На остальных, на которых не работает передача данных:

    /dev/sda -d ata # /dev/sda, ATA device
    /dev/sdb -d ata # /dev/sdb, ATA device​​​​​​​

    ​​​​​​​

    Last edited by Andrew29; 25-05-2021, 14:16.
  • shkiper
    Senior Member
    • Mar 2016
    • 123

    #2
    a json который lld (в smart шаблоне) возвращает глянуть можно?
    если lld обычный, то дать команду: zabbix_get -s глючный_комп -k lld_key
    Last edited by shkiper; 26-05-2021, 07:51.

    Comment

    • Andrew29
      Junior Member
      • May 2021
      • 5

      #3
      Originally posted by shkiper
      a json который lld (в smart шаблоне) возвращает глянуть можно?
      если lld обычный, то дать команду: zabbix_get -s глючный_комп -k lld_key
      Не очень пока разбираюсь в Zabbix, подскажите пожалуйста, как вам показать json lld и где такую команду дать(zabbix_get -s глючный_комп -k lld_key)?
      Attached Files

      Comment

      • shkiper
        Senior Member
        • Mar 2016
        • 123

        #4
        Originally posted by Andrew29

        Не очень пока разбираюсь в Zabbix, подскажите пожалуйста, как вам показать json lld и где такую команду дать(zabbix_get -s глючный_комп -k lld_key)?
        надо зайти в "правила обнаружения", выбрать нужное (smart_discovery или типа того), скопировать ключ
        зайти в консоль заббикса (подключиться к хосту с заббиксом по ssh например) и набрать команду "zabbix_get -s IP_компа -k скопированный_ключ" (не забыв подставить значения макросов, если они там есть, это типа таких штуковин - {$МАКРОС})
        но это сработает, только если обнаружение обычное

        Comment

        • Andrew29
          Junior Member
          • May 2021
          • 5

          #5
          Originally posted by shkiper

          надо зайти в "правила обнаружения", выбрать нужное (smart_discovery или типа того), скопировать ключ
          зайти в консоль заббикса (подключиться к хосту с заббиксом по ssh например) и набрать команду "zabbix_get -s IP_компа -k скопированный_ключ" (не забыв подставить значения макросов, если они там есть, это типа таких штуковин - {$МАКРОС})
          но это сработает, только если обнаружение обычное
          Посмотрите, пожалуйста правильно сделал? И что это даёт?
          Attached Files

          Comment

          • shkiper
            Senior Member
            • Mar 2016
            • 123

            #6
            PC31 старнный IP, но вроде разрешается
            если указать комп с работающим смрат, что выводит?
            судя по ошибке, заббикс получает вывод от smartctl c каким-то мусором
            версии smartmontools на компах одинаковые?

            Comment

            • DimaShu
              Junior Member
              • May 2021
              • 3

              #7
              Click image for larger version

Name:	изображение_2021-05-27_140349.png
Views:	2481
Size:	5.3 KB
ID:	425538

              Вот такое выдает, ОС 2019 сервер. Судя по всему smartctl как-то странно формирует ответ и его агент не может разобрать. \u00ad это по словам гугла мягкий перенос

              Comment

              • Andrew29
                Junior Member
                • May 2021
                • 5

                #8
                Originally posted by DimaShu
                Click image for larger version

Name:	изображение_2021-05-27_140349.png
Views:	2481
Size:	5.3 KB
ID:	425538

                Вот такое выдает, ОС 2019 сервер. Судя по всему smartctl как-то странно формирует ответ и его агент не может разобрать. \u00ad это по словам гугла мягкий перенос
                Что делать в этом случае там не сказано было?

                Comment

                • DimaShu
                  Junior Member
                  • May 2021
                  • 3

                  #9
                  Originally posted by Andrew29

                  Что делать в этом случае там не сказано было?
                  В общем взлетело на конкретной машине (2019 сервер на стандартном мощном железе): в конфе агента прописал путь до smartctl-nc.exe (лучше заключить в кавычки двойные) и установил таймаут 30с. Данные смарт вроде пошли, по крайней мере первую порцию увидел). Такой же фокус попытался проделать на сервере (супермикро, 2019 сервер HIPER-V, крутятся виртуалки много), забивает проц под 100% IntelRapidStorage и плодятся и прибиваются smartctl-nc....

                  Думаю дальше ))))

                  Comment


                  • EVGLE
                    EVGLE commented
                    Editing a comment
                    Добрый день! Не могли бы вы подсказать, как именно вы указали пусть в конфиге агента? точный путь
                • shkiper
                  Senior Member
                  • Mar 2016
                  • 123

                  #10
                  Originally posted by DimaShu

                  В общем взлетело на конкретной машине (2019 сервер на стандартном мощном железе): в конфе агента прописал путь до smartctl-nc.exe (лучше заключить в кавычки двойные) и установил таймаут 30с. Данные смарт вроде пошли, по крайней мере первую порцию увидел). Такой же фокус попытался проделать на сервере (супермикро, 2019 сервер HIPER-V, крутятся виртуалки много), забивает проц под 100% IntelRapidStorage и плодятся и прибиваются smartctl-nc....

                  Думаю дальше ))))
                  Про тайм-аут я и забыл, это в первую очередь
                  то что забивает проц, это скорей всего заббикс пытается все запросы smart сделать кучей, не научился он их распределять (хотя пора уж), если дисков несколько, то получается затык,
                  если для получения каждого параметра заббикс делает отдельный запрос смарт, то это не совсем правильный подход
                  Я решал такое скриптом, не сложно, но это будет костыль - свое ллд, скрипт
                  И главное, я это делал только на Линукс
                  под Винду не адаптировал
                  Last edited by shkiper; 27-05-2021, 23:11.

                  Comment

                  • DimaShu
                    Junior Member
                    • May 2021
                    • 3

                    #11
                    В общем меня смущала всегда строка в логе агента после старта:

                    check 'smart.disk.get' is not supported: Failed to execute smartctl: Command execution failed: exit status 1.

                    Эксперименты показали, что агент просто не может найти smartctl, и это естественно, т.к. он не прописывается в PATH при установке (хотя галочку я ставлю). После редактирования PATH, агент видимо нашел то что искал и с удовольствием начал грузить проц под 100% опять (даже с включенным таймаутом). Вывод: на 2019 сервере связка агента со smartctl либо не работает либо дело в операционке и надо искать в чем затык. Более поздние сборки smartctl к сожалению работают также
                    Last edited by DimaShu; 28-05-2021, 10:26.

                    Comment

                    • Andrew29
                      Junior Member
                      • May 2021
                      • 5

                      #12
                      Originally posted by shkiper

                      Про тайм-аут я и забыл, это в первую очередь
                      то что забивает проц, это скорей всего заббикс пытается все запросы smart сделать кучей, не научился он их распределять (хотя пора уж), если дисков несколько, то получается затык,
                      если для получения каждого параметра заббикс делает отдельный запрос смарт, то это не совсем правильный подход
                      Я решал такое скриптом, не сложно, но это будет костыль - свое ллд, скрипт
                      И главное, я это делал только на Линукс
                      под Винду не адаптировал
                      Таймаут я увеличивал тоже, первое что на ум пришло)
                      Да действительно, на рабочем ПК один диск, на неработающих либо два, либо HHD и SSD, но также я на моноблоке поставил агента, а там один диск и смарт данные тоже не приходят

                      Как выше писали \u00ad это по словам гугла мягкий перенос
                      Мне кажется ошибка где-то в синтаксисе, вот только где)
                      И в чем может быть отличие между работающим и не работающим ПК при одинаковой конфе(кроме названия хоста)
                      Единственное отличие вывод дисков, которое я указал в теме

                      Comment

                      • shkiper
                        Senior Member
                        • Mar 2016
                        • 123

                        #13
                        Code:
                        UserParameter=uHDD.discovery,smartctl --scan -j | sed 's/"name"/"{#DISKNAME}"/g' | sed 's/"devices"/"data"/g'
                        вот мое lld, для получения списка дисков
                        адаптируйте его под виндовс или просто создайте ключ (UserParameter) который получает вывод
                        Code:
                        smartctl --scan -j
                        будет оно работать или нет?

                        Comment

                        • shkiper
                          Senior Member
                          • Mar 2016
                          • 123

                          #14
                          Originally posted by Andrew29
                          Как выше писали \u00ad это по словам гугла мягкий перенос
                          Мне кажется ошибка где-то в синтаксисе, вот только где)
                          И в чем может быть отличие между работающим и не работающим ПК при одинаковой конфе(кроме названия хоста)
                          Единственное отличие вывод дисков, которое я указал в теме
                          прав может не хватать и вместо json, пишет слова в выводе

                          Comment

                          • bavtyuk
                            Junior Member
                            • Sep 2021
                            • 2

                            #15
                            Originally posted by Andrew29
                            на рабочих станция под управлением windows установил Zabbix агент 2, работающего в связке с smartmoontols(утилита для мониторинга SMART)

                            добрый день! а как настроили связку smartmoontols + zabbix agent2 ?
                            я все почти перепробовал - не получается.

                            Comment

                            Working...