Ad Widget

Collapse

Sql: получить триггеры с уведомлением по СМС

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • xxxcoltxxx
    Junior Member
    • Jul 2013
    • 2

    #1

    Sql: получить триггеры с уведомлением по СМС

    В общем, нужно получить список триггеров, по которым отсылаются уведомления по смс. Пока понял (не знаю, правильно ли), как вытащить триггеры с уведомлением, а как указать mediatype? От API я отказался, он слишком медленный.
    Code:
    SELECT * FROM triggers
    LEFT JOIN conditions ON conditions.value = triggers.triggerid
    LEFT JOIN actions ON actions.actionid = conditions.actionid
    WHERE
    conditions.conditionid IS NOT NULL
    AND actions.status = 1
    Теперь внимание, вопрос: как это сделать?)
  • ableev
    Senior Member
    Zabbix Certified Specialist
    • Oct 2012
    • 276

    #2
    Вы ведь знаете, что в условиях триггеров может быть несколько условий (AND OR, etc)? Все их вряд ли удастся обойти в одном SQL-запросе. А если у вас не 10 хостов, то вообще будет нереально. Поэтому, как мне кажется, варианта два:
    1) Самому постепенно получать цепочку "Media -> Action -> Conditions -> Trigges"
    2) Ну, всё-таки использовать API, каким бы медленным оно не было.

    Comment

    • xxxcoltxxx
      Junior Member
      • Jul 2013
      • 2

      #3
      Речь идёт не о событиях, на которые есть уведомления, а о триггерах, не важно какие там условия, тем более, что у нас большинство без особо вымудренных условий.
      1. Как связана таблица media с таблицей actions?
      2. Правильно ли я понял связь conditions.value = triggers.triggerid и actions.actionid = conditions.actionid?
      3. Правильно ли я понял, что actions.status = 1 - это означает, что уведомление активно?
      api использует те же самые sql-запросы, будет очень странно, если весь проект использует прямое подключение к БД, а для получения этих триггеров будет использован api.

      Comment

      Working...