Ad Widget

Collapse

UserParameter баг или фича

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • noname
    Senior Member
    • Jan 2008
    • 120

    #1

    UserParameter баг или фича

    При такой конфигурации (1.8.3) я не получил то, что ожидал:
    UserParameter=some.param[*], echo '9 8 7 6 5 4' | awk '{print $$2}'

    Пример:
    some.param[abcd,2] = 8
    some.param[abcd,3] = 8
    some.param[abcd,4] = 8

    А вот так я получил желаемое:
    UserParameter=some.param[*], echo '9 8 7 6 5 4' | awk '{print $"$2"}'

    Пример:
    some.param[abcd,2] = 8
    some.param[abcd,3] = 7
    some.param[abcd,4] = 6

    Тема сделана, так как в документации я описания этого не нашел:
    http://www.zabbix.com/documentation/...ser_parameters

    пример с awk там приведен, как я понимаю, в том же смысле, что используется у меня, а, значит, некорректен.

    P.S. Консольная команда должна выглядеть так:
    echo '9 8 7 6 5 4' | awk '{print $2}'

    P.P.S. Если это бага, и такое поведение не соответствует ожидаемому со стороны разработчиков, то прошу поместить в баг-лист. Сам бы это сделал, но английский не очень.
    Last edited by noname; 31-08-2010, 08:45.
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    Это известная фича.[*] определяет, что ключ может принимать параметры.
    При использовании параметров запрещено использовать некоторые спецсимволы. А переменные $1,…,$10 преобразуются в соответствующие значения из переданных параметров.
    http://www.zabbix.com/documentation/...ser_parameters
    Если опция UnsafeUserParameters не определена в конфигурационном файле Zabbix агента, то в командах недопустимы следующие символы: \ ' ” ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @

    Comment

    • noname
      Senior Member
      • Jan 2008
      • 120

      #3
      Спасибо за ответ.
      Тут всплывает два момента (уж простите за педантизм):
      1. В документации явно не указано, что указанный пример
      awk '{print $$2}'
      рассчитан под такую конфигурацию, пусть сноска ниже и есть.

      2. В моем случае я все равно избежал применения UnsafeUserParameters, хотя и использовал запрещенные символы.

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Originally posted by noname
        2. В моем случае я все равно избежал применения UnsafeUserParameters, хотя и использовал запрещенные символы.
        У меня тоже символы $ и ' без UnsafeUserParameters работают. Но так в документации написано, видимо есть какие-то значения по умолчанию для UnsafeUserParameters.

        Comment

        Working...