Ad Widget

Collapse

JSON и "тире" в Zabbix

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • RockerMan
    Junior Member
    • Feb 2019
    • 8

    #1

    JSON и "тире" в Zabbix

    Доброго дня

    Собираю скриптом (вот этим https://github.com/asand3r/zbx-hpmsa) данные с хранилки HPE MSA 2040. Все работает нормально, кроме данных, в которых присутствует дефис.
    Вот пример кода JSON:
    {
    "A":
    {
    "health":"OK",
    "health-num":"0",
    "status":"Operational",
    "status-num":"0",
    "redundancy":"Redundant",
    "redundancy-num":"2",
    "cpu-load":"28",
    "iops":"634",
    "sc-fw":"GLS225R03-01",
    "flash-health":"OK",
    "flash-health-num":"0",
    "flash-status":"Installed",
    "flash-status-num":"1"},
    "B":
    {
    "health":"OK",
    "health-num":"0",
    "status":"Operational",
    "status-num":"0",
    "redundancy":"Redundant",
    "redundancy-num":"2",
    "cpu-load":"1",
    "iops":"0",
    "sc-fw":"GLS225R03-01",
    "flash-health":"OK",
    "flash-health-num":"0",
    "flash-status":"Installed",
    "flash-status-num":"1"
    }
    }

    "А" и "В" это контроллеры. Так вот, не работает парсинг на Zabbix c дефисом, например "cpu-load":"28". Менял в "Item" - "Preprocessing" - "Preprocessing steps" - "JSON Path" - "Parameters" значения параметров по разному, не помогает.
    варианты были:
    $.A.cpu-load
    $['A']['cpu-load']
    ${'A'}{'cpu-load'}
    $.A['cpu-load']
    $.A.['cpu-load']

    В "Latest data" по этим параметрам (С дефисом) пусто, данные не парсятся, хотя в "History" они присутствуют
    Подскажите плз, как правильно будет оформить параметр в "JSON Path", если присутствует дефис?

    Спасибо


  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    Подпишусь. Тоже интересно узнать, что с JSON Path не так.

    Comment

    • RockerMan
      Junior Member
      • Feb 2019
      • 8

      #3
      Заработало сегодня, с вариантом $['A']['cpu-load'], из documentation:
      Code:
      If object name contains other characters, e. g. blanks, dashes, you must use the bracket notation:
      $['document']['item 0']['value-0']

      Comment

      • asand3r
        Junior Member
        • Feb 2017
        • 7

        #4
        А вы файл шаблона идущий со скриптом не смотрели? Там есть такой пример как раз.
        Attached Files

        Comment


        • RockerMan
          RockerMan commented
          Editing a comment
          Извините, как-то умудрился пропустить
      Working...