Ad Widget

Collapse

Активация item-а gj trigger-у

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • admin_locean
    Junior Member
    • Jul 2011
    • 11

    #1

    Активация item-а gj trigger-у

    Может быть вопрос покажется немного странным. В принципе, погуглив я так понял, что эта штука уже присутсвует в определенном wish-листе к реализации.
    Но все же интересно, может быть можно уже как-то сейчас это реализовать?

    Но, собственно к проблеме.

    Хочется отслеживать на сервере некий параметр, но, исключительно в случае, когда там что-то на нем случилось.

    Поясню на примере.
    Есть, положим некий сервер... к нему коннектятся юзеры, запускают там какие-то свои задачи.
    Хочется, например, в момент когда загружка сервера превысит определенноо критическое значение (на это есть trigger) начать собирать с него с какую-то спицифическую инфу.
    Например список всех юезров, которые к нему подконнектились.
    Или, вдобавок, первые две странички вывода ps.

    Не понятно как это сделать.
    Все время эта информация не нужна. Зачем мне списки всех кто там коннектился когда все было нормально?
    Идеально было бы, каким-то образом при активации trigger-а, суметь включить определенный item, ну и выключить его соответственно, когда все придет в норму.
    Но вот не понятно как это сделать.

    Нет ли тут какого-нибудь hint, чтобы решить эту задачу?
  • dima_dm
    Senior Member
    • Dec 2009
    • 2697

    #2
    Можно создать Action на нужный тригер, и в действии по Action запускать скрипт, который сделает то, что вам нужно.
    Активировать/деактивировать Item можно через Zabbix API.
    Last edited by dima_dm; 30-09-2011, 08:42.

    Comment

    • admin_locean
      Junior Member
      • Jul 2011
      • 11

      #3
      Ага... спасибо.

      Кажется, понял.
      Но... на всякий случай уточню...

      Этот action я выполняю на zabbix-сервере?
      То есть на серваке что-то случается, он зажигает trigger на zabbix-сервере, а в действиях к этому триггеру есть action выполняющийся так же на zabbix-сервере и включаюший item через Zabbix API.

      Как-то так? Ага?

      Comment

      • gdgsoft
        Senior Member
        • Apr 2009
        • 202

        #4
        Originally posted by admin_locean
        Ага... спасибо.

        Кажется, понял.
        Но... на всякий случай уточню...

        Этот action я выполняю на zabbix-сервере?
        То есть на серваке что-то случается, он зажигает trigger на zabbix-сервере, а в действиях к этому триггеру есть action выполняющийся так же на zabbix-сервере и включаюший item через zabbix api.

        Как-то так? Ага?
        ну в общем да.
        Zabbix 2.4.2
        PHP 5.4.5
        Oracle Linux 6.5
        VmWare ESXi 4

        MariaDB 10.0.15
        Oracle Linux 6.5
        Supermicro SYS-6027TRF(64Gb+RAID-10 600Gb SAS15k)

        Comment

        • admin_locean
          Junior Member
          • Jul 2011
          • 11

          #5
          Спасибо. :-)

          Сделал в итоге.

          Вот примерно так:

          Code:
          cur_host=zapi.host.get({"filter":{"host":hname},"output":"extend"})[0]
          hid=cur_host["hostid"]
          
          try_update=zapi.item.update({"hostid":hid, "itemid":iid,"status":status})
          hname, iid и status передаются параметрами прописанными в action.

          Ээээ... но у меня тут новый глупый вопрос появился.
          Мне соответственно надо когда триггер зажигается, активировать некий item. С этим все ок.

          Но, хорошо бы еще, когда триггер погасает - item снова дезактивировать.

          Думаю это легко решается созданием дополнительного action. Но... нельзя ли это как-нибудь попроще сделать?
          Мейл по recovery он умеет отправлять, а что-нибудь еще по recovery можно сделать?

          Comment

          Working...