Ad Widget

Collapse

Внешний скрипт

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • BEEn
    Junior Member
    • Sep 2016
    • 5

    #1

    Внешний скрипт

    Пытаюсь использовать внешний скрипт для мониторинга(внешняя проверка), от пользователя zabbix скрипт возвращает целое число 22 , в заббиксе тип информации "текст", вместо 22 получаю пустую строку...

    A=$(sudo ......)
    echo $A

    если тип информации "Числовой (целое положительное) то ошибка "Unsupported item key for this item type"
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    Originally posted by BEEn
    Пытаюсь использовать внешний скрипт для мониторинга(внешняя проверка), от пользователя zabbix скрипт возвращает целое число 22 , в заббиксе тип информации "текст", вместо 22 получаю пустую строку...

    A=$(sudo ......)
    echo $A

    если тип информации "Числовой (целое положительное) то ошибка "Unsupported item key for this item type"
    zabbix-get -s .... -k ... что рисует?

    Comment

    • BEEn
      Junior Member
      • Sep 2016
      • 5

      #3
      странно как-то... теперь совсем не запускается...
      "sudo: no tty present and no askpass program specified"
      хотя от пользователя zabbix из консоли все ок

      стоп! а как вообще правильно получать данные из скрипта? где почитать?
      Last edited by BEEn; 21-09-2016, 15:49.

      Comment

      • Dorlas
        Member
        • May 2016
        • 31

        #4
        Originally posted by BEEn
        странно как-то... теперь совсем не запускается...
        "sudo: no tty present and no askpass program specified"
        хотя от пользователя zabbix из косоли все ок
        Для использования sudo в crone или как у вас ошибка с tty нужно настроить sudo, а именно:
        Cmnd_Alias 12345 = <Полный путь до вашего скрипта>
        Defaults!12345 !requiretty
        %<groups> ALL = NOPASSWD: 12345

        groups - группа в которую входит ваш пользователь (zabbix), либо можно для определённого пользователя сделать, но нужно заменить% на другой знак (посмотреть man для sudo)
        12345 - можете назвать как вам угодно данный алиас, главное не забыть его сменить в следующих строках.

        Только после этого вы сможете делать запросы без сессий!

        Comment

        • Dorlas
          Member
          • May 2016
          • 31

          #5
          Originally posted by BEEn
          стоп! а как вообще правильно получать данные из скрипта? где почитать?
          Например, через UserParameter

          В вашем варианте, создать конфигурационный файл в каталоге agentd.conf.d
          Содержащий:
          UserParameter=<элемент данных>, sudo <shell>
          где:
          <элемент данных> придумываете название элемента данных, его потом указываете данный ЭД в самом ZBX и на него при необходимости вешаете триггер...
          <shell> скрипт, с полным путём до него...

          З.Ы.: после создания файла конфигурации ОБЯЗАТЕЛЬНО необходим перезапуск агента
          Last edited by Dorlas; 21-09-2016, 16:03.

          Comment

          • Dorlas
            Member
            • May 2016
            • 31

            #6
            А вам эти данные нужно хранить и нужен ли триггер? или нужен разовый запуск по требованию?

            Comment

            • BEEn
              Junior Member
              • Sep 2016
              • 5

              #7
              Originally posted by dorlas
              А вам эти данные нужно хранить и нужен ли триггер? или нужен разовый запуск по требованию?
              хранить! спасибо попробую отпишусь.

              Comment

              • BEEn
                Junior Member
                • Sep 2016
                • 5

                #8
                Датчик температуры MP 707 mini (скачал bmcontrol под Linux)

                создал файл "temp" в agentd.conf.d с "UserParameter=temp, sudo /usr/lib/zabbix/externalscripts/bmcontrol temp 370000076a3b4328

                в /etc/sudoers добавил "zabbix ALL=(ALL) NOPASSWD: /usr/lib/zabbix/externalscripts/bmcontrol"

                от пользователя zabbix "zabbix-get -s 127.0.0.1 -k temp" возвращает "22.687500"

                Элемент данных тип: Zabbix агент, ключ: temp, интерфейс 127.0.0.1, Тип информации: Числовой (с плавающей точкой)

                Большое спасибо! пойду настраивать триггер...

                Comment

                • Dorlas
                  Member
                  • May 2016
                  • 31

                  #9
                  Originally posted by been
                  Большое спасибо! пойду настраивать триггер...
                  Обращайтесь, чем сможем поможем ;-)

                  Comment

                  • sadman
                    Senior Member
                    • Dec 2010
                    • 1611

                    #10
                    Originally posted by BEEn
                    Датчик температуры MP 707 mini (скачал bmcontrol под Linux)

                    от пользователя zabbix "zabbix-get -s 127.0.0.1 -k temp" возвращает "22.687500"
                    ..
                    Большое спасибо! пойду настраивать триггер...
                    Так будет более лучше - можно навесить дополнительные DS-ки на usb-свисток.
                    Code:
                    UserParameter=mp707.temp[*], sudo /usr/lib/zabbix/externalscripts/bmcontrol temp "$1"
                    ...
                    zabbix-get -s 127.0.0.1 -k mp707.temp[370000076a3b4328]
                    Судя по "22.687500" - градусник производит 12-битную конверсию. Если найдете способ переключить в 9 бит, то точность будет 0.5 градуса, но опрос будет быстрее (особенно, если гирлянду DS-ок привесите), триггер будет мотать меньше (и не забывайте почитать про гистерезис Zabbix).

                    +85C - скажет о том, что у градусника проблема по питанию и он ребутится.

                    Comment

                    Working...