Ad Widget

Collapse

UserParameter и код возврата

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • McLeod095
    Member
    • Mar 2010
    • 40

    #1

    UserParameter и код возврата

    Добрый день!
    Стоит заббикс версии 2.0.9
    Есть куча написанных скриптов которые через UserParameter подключаются. Тк данные скрипты писались еще очень давно то большинство из них написаны довольно не правильно. В частности у большинства из них если возникает ошибка то на стандартный вывод выводится
    -1
    А сам элемент данных настроенный на этот ключ имеет тип целое.
    Естественно при получении -1 элемент данных переходит в режим Не поддерживается и может долго из него не выходить.
    Не нашел в документации требования к данным проверкам. Может надо возвращать код возврата отличным от 0 или еще что-то?
    Подскажите как лучше сделать правильнее!
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by McLeod095
    Добрый день!
    Стоит заббикс версии 2.0.9
    Есть куча написанных скриптов которые через UserParameter подключаются. Тк данные скрипты писались еще очень давно то большинство из них написаны довольно не правильно. В частности у большинства из них если возникает ошибка то на стандартный вывод выводится
    -1
    А сам элемент данных настроенный на этот ключ имеет тип целое.
    Естественно при получении -1 элемент данных переходит в режим Не поддерживается и может долго из него не выходить.
    Не нашел в документации требования к данным проверкам. Может надо возвращать код возврата отличным от 0 или еще что-то?
    Подскажите как лучше сделать правильнее!
    Как написанно в документации читается первая строчка вывода. То есть коды возврата никак не учитываются, так что либо запускайте ваши скрипты как "./script.sh || echo 0"(правда если же ваш скрипт все таки возвращает -1 в STDOUT то в заббиксе будет -1 а не ноль), либо переписывайте скрипты, либо что то еще.

    Comment

    • McLeod095
      Member
      • Mar 2010
      • 40

      #3
      Originally posted by yukra
      Как написанно в документации читается первая строчка вывода. То есть коды возврата никак не учитываются, так что либо запускайте ваши скрипты как "./script.sh || echo 0"(правда если же ваш скрипт все таки возвращает -1 в STDOUT то в заббиксе будет -1 а не ноль), либо переписывайте скрипты, либо что то еще.
      Ну вообще делать так не очень правильно. Если например делать echo 0, то для целочисленного значения не будет появляться ошибка, ну и конечно триггер будет ложно срабатывать если он настроен на значение 0.
      если скрипт возвращает -1 то элемент данных переходит в неподдерживаемый, и это правильно. Вот правда наверное вместо -1 лучше возвращать что-то другое. Наверное тотже ZBX_NOTSUPPORTED.

      Comment

      Working...