Ad Widget

Collapse

Как в параметр для UserParametra Отправить строку с зk

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zxxc
    Member
    • Oct 2009
    • 50

    #1

    Как в параметр для UserParametra Отправить строку с зk

    Как в параметр для UserParametra Отправить строку с запятыми?

    у меня есть юзерпараметр, который принимает запросы типо select id,comment, position from table1, table2 t where t.id>100;

    сейчас работает такого плана item:
    ora.sql[select count(1) from dual];

    нужно сделать чтобы можно было посложнее селекты запускать
    ora.sql[select a,b,c from t1, t2]

    заббикс ругается на запятые
    Что делать?
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    Передать данные как несколько параметров
    ora.sql.my[a,b,c,t1,t2]
    А в UserParameter написать
    UserParameter=ora.sql.my[*],select $1,$2,$3 from $4,$5
    либо, если не заработает предыдущее
    UserParameter=ora.sql.my[*],/etc/zabbix/scripts/my.sh $1 $2 $3 $4 $5
    А в my.sh сформировать всё, что Вам нужно.
    Last edited by dima_dm; 10-08-2010, 16:55.

    Comment

    • zxxc
      Member
      • Oct 2009
      • 50

      #3
      Originally posted by dima_dm
      Передать данные как несколько параметров
      ora.sql.my[a,b,c,t1,t2]
      А в userparameter написать
      userparameter=ora.sql.my[*],select $1,$2,$3 from $4,$5
      либо, если не заработает предыдущее
      userparameter=ora.sql.my[*],/etc/zabbix/scripts/my.sh $1 $2 $3 $4 $5
      А в my.sh сформировать всё, что Вам нужно.
      да ну, у меня несколькьо таких селектов, и они разные

      может есть просто какой символ чтобы экранировать запятые или еще что?

      Comment

      • dima_dm
        Senior Member
        • Dec 2009
        • 2697

        #4
        Запятые используются в Item для разделения параметров, с этим Вы ничего не сделаете.
        При использовании конструкции с параметрами, UserParameter=ora.sql.my[*], есть ограничение на использование спец. символов в командной строке.

        Comment

        • zxxc
          Member
          • Oct 2009
          • 50

          #5
          Originally posted by dima_dm
          Запятые используются в Item для разделения параметров, с этим Вы ничего не сделаете.
          При использовании конструкции с параметрами, UserParameter=ora.sql.my[*], есть ограничение на использование спец. символов в командной строке.
          я вот что подумал, в скрипте /etc/zabbix/scripts/my.sh я сделаю
          такую штуку

          x=A_B_C_D
          # replace $ with a ,
          x=$(echo $x|sed 's/$/,/g')

          а в команде я буду вместо запятых ставить $ он же помоему допустим?

          возникла другая проблема, похоже строка ora.sql.my[a,b,c,t1,t2]
          может быть достаточно маленькой длины и даже не очень длинный запрос в нее не влазит

          Comment

          Working...