Ad Widget

Collapse

Json

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • orangefruit
    Junior Member
    • Mar 2018
    • 3

    #1

    Json

    Добрый день. Имеется скрипт автообнаружения на bash

    Code:
    #!/bin/bash
    
    # mysql options
    db="zabbix"
    table="ipmi_sensors"
    dbuser="name"
    dbuserpass="pass"
    
    # variables
    host="$1"
    rtype="$2"
    stype="$3"
    sensors=/tmp/autodiscoverytemp
    IFS=$'\n'
    
    # check mysql
    sensorsmysql=`mysql -u $dbuser -p$dbuserpass -D $db -e 'SELECT id FROM '$table' WHERE host = "'$host'" and rtype = "'$rtype'" and type="'$stype'";';`
    echo "$sensorsmysql" | sed '1,1d' > $sensors
    for sensor in $( cat $sensors)
    do
            echo {'"data"' : [{'"{#KEY}"' : "$sensor"}]}
    done
    На выходе получается

    Code:
    {"data" : [{"{#KEY}" : Dr_Stat_1I1_B002}]}
    Пытаюсь запускать автообнаружение следующей командой

    Code:
    ipmisensors.sh[{HOST.IP},"0x6f","0xd"]
    В итоге zabbix упорно пишет Value should be a JSON object.

    zabbix 3.0, centos 7

    Идеи закончились. Что я делаю не так? Буду признателен за помощь
  • oscar
    Senior Member
    • Dec 2010
    • 141

    #2
    Все правильно он вам пишет.
    Code:
    {"data" : [{"{#KEY}" : Dr_Stat_1I1_B002}]}
    это не JSON. Значение для ключа {#KEY} Dr_Stat_1I1_B002 - это строка => должно быть в кавычках
    Code:
    { 
       "data": [     {       "{#KEY}": "Dr_Stat_1I1_B002"     }   ] }

    Comment

    • orangefruit
      Junior Member
      • Mar 2018
      • 3

      #3
      Спасибо за помощь. В итоге задачу решил. Возник новый вопрос. Можно логировать в debug моде только некоторые компоненты zabbix? Например IPMI?

      Comment

      • BP_Vital
        Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Feb 2016
        • 43

        #4
        Добрый день. Если версия Заббикса 2.4 и старше - можно увеличивать уровни журналирования для отдельных компонентов.
        В Вашем случае подойдет:
        shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase="ipmi poller" Подробнее по ссылке:


        Comment

        • orangefruit
          Junior Member
          • Mar 2018
          • 3

          #5
          Originally posted by BP_Vital
          Добрый день. Если версия Заббикса 2.4 и старше - можно увеличивать уровни журналирования для отдельных компонентов.
          В Вашем случае подойдет:
          shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase="ipmi poller" Подробнее по ссылке:

          Спасибо. Процесс который собирает информацию о сенсорах - 'unreachable poller'. А этот параметр можно добавить в конфиг, чтобы чтобы при перезапуске сервера дебаг этого процесса сразу включался?

          Comment

          Working...