Ad Widget

Collapse

не все данные SMART в "SMART by Zabbix agent 2 active"

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Xandr
    Junior Member
    • Apr 2022
    • 7

    #1

    не все данные SMART в "SMART by Zabbix agent 2 active"

    Доброго дня! Подскажите пожалуйста...

    Есть такой шаблон. "SMART by Zabbix agent 2 active".
    Заббикс сервер 6.0.4

    есть там такой прототип элемента данных
    Get disk attributes (Zabbix агент (активный))
    Он получает JSON, а остальные прототипы данных это "Зависимые элементы", которые потрошат этот JSON. И вот если посмотреть на сам JSON, то он возвращает такие данные
    {
    "critical_warning":0,
    "disk_type":"nvme",
    "error":"",
    "exit_status":0,
    "firmware_version":"GDC5302Q",
    "media_errors":0,
    "model_name":"SAMSUNG MZQL2960HCJR-00A07",
    "percentage_used":0,
    "power_on_time":884,
    "self_test_passed":null,
    "serial_number":"**********",
    "temperature":31
    }

    А вот в коде самого шаблона нету параметров запроса Get disk attributes.
    Отсюда вопросы:
    - где перечислены эти параметры типа critical_warning, disk_type и тд. И как туда добавить ещё один параметр типа data_units_read?

    Что интересно, в списке прототипов данных нету таких, которые используют "firmware_version", "media_errors","model_name"
  • Diesel315
    Senior Member
    • Jan 2020
    • 159

    #2
    Могу ошибаться, но давайте сперва попробуем устаканить терминологию и исключить путаницу.
    1. Есть шаблон в котором есть item - get (скорее всего он получает у вас сырые данные через WMI).
    2. Эти сырые данные тут же (в этом item) обрабатываются через preprocessing (JavaScript)
    3. Дальше данные, уже обработанные и причесанные, разбираются точечно через item prototypes...

    То есть отвечая на ваш вопрос. Get WMI в шаблонах как правило получает весь массив данных с определенной фильтрацией, дальше в предобработке уже идет причесывание и извлечение нужных только параметров.
    У вас в предобработке именно так? Там есть информация о нужных вам параметрах? Если нет, то значит туда надо включить их, если есть, то значит смотрим дальше, а именно в прототипы элементов данных...

    То есть еще раз:
    * Система получила сырые данные (массив) и тут же выдернула только нужное (но опять же массив нужного)
    * Далее уже точечно через прототипы элементов данных разбираем по штучно полезные данные, каждый на свою полочку так сказать...

    Comment


    • Xandr
      Xandr commented
      Editing a comment
      Здравствуйте! Спасибо что отреагировали.

      Под WMI вы подразумеваете Windows Management Instrumentation ?
      В моём случае речь только о линуксах.
  • Xandr
    Junior Member
    • Apr 2022
    • 7

    #3
    у элемента "SMART [{#NAME}]: Get disk attributes" есть ключ "smart.disk.get[{#PATH},"{#RAIDTYPE}"]"
    там два параметра указывающих путь и тип компановки диска, я так понимаю.
    вот эти макросы PATH RAIDTYPE - они кому адресованы? где они описаны ?

    Comment

    • Diesel315
      Senior Member
      • Jan 2020
      • 159

      #4
      Это не макросы. Это фильтры. В правиле обнаружения они находятся.
      Сам элемент данных с которого все начинается находится просто в разделе элементов данных хоста.
      А вот потом уже на основе его полученных данных (просто массив всей информации) идет предобработка в разделе обнаружения (preprocessing), там же и фильтрация происходит. Это как раз те параметры которые у вас указаны - {#PATH},"{#RAIDTYPE}...

      Comment


      • Xandr
        Xandr commented
        Editing a comment
        Спасибо!
        А от чего зависит список данных в ответном JSON ? В действительности данных смарта гораздо больше, но возвразщаются только эти

        "critical_warning":0,
        "disk_type":"nvme",
        "error":"",
        "exit_status":0,
        "firmware_version":"GDC5302Q",
        "media_errors":0,
        "model_name":"SAMSUNG MZQL2960HCJR-00A07",
        "percentage_used":0,
        "power_on_time":884,
        "self_test_passed":null,
        "serial_number":"**********",
        "temperature":31

        как добавить еще параметров ?

        вот эта функция GET где заполняется ?
    • Semiadmin
      Senior Member
      • Oct 2014
      • 1625

      #5
      Эти макросы возвращает LLD rule smart.disk.discovery, если версия agent2 не ниже 6.0.4. Их использование необязательно, но они позволяют уточнить запрос smart.disk.get (опять же, с версии 6.0.4).

      Comment

      • Xandr
        Junior Member
        • Apr 2022
        • 7

        #6
        всё равно не пойму, почему список возвращённых показателей смарта шаблоном отличается о того же списка, если посмотреть его напрямую
        Attached Files

        Comment

        • Diesel315
          Senior Member
          • Jan 2020
          • 159

          #7
          Сразу скажу что я ориентируюсь по своему примеру, поэтому могу ошибаться...
          В моем примере get через wmi получается все! сырые данные с первоначальной грубой! фильтрацией. А вот далее срабатывает обработка java -

          Click image for larger version

Name:	Безымянный.png
Views:	341
Size:	49.6 KB
ID:	445433

          И вот тут видно какие данные в итоге я забираю из этого первоначального грубо отфильтрованного массива данных.
          Например изначально этот список был меньше, я добавлял {#IFGUID} уже в ручную...

          У вас скорее всего тоже самое. Смотрите предобработку...

          Comment

          • onefusion
            Junior Member
            • Sep 2022
            • 11

            #8
            Я тоже так и не смог понять как добавить прототипы данных, чтобы присутствовали все поддерживаемые накопителем атрибуты SMART. В итоге сделал простенький шаблон куда внес отсутствующие в стандартном шаблоне и нужные мне. Получаю их напрямую от smartctl​. Не самое красивое решение, но работает. Хорошо чтобы шаблон дополнили некоторыми vendor specific атрибутами. Например 193 атрибут - Load_Cycle_Count (индикатор физического износа) для не самых редких WD

            Comment

            Working...