Ad Widget

Collapse

Оповещения по времени!

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Knarrenheins
    Junior Member
    • Jan 2020
    • 3

    #1

    Оповещения по времени!

    Добрый день! Долго гуглил и не нашел.
    Можно ли настроить отправку оповещений на почту не через каждый период времени, а в указанное время?
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Короткий ответ на вопрос : в общем случае нельзя и смысла особого не имеет.
    имеются же ввиду оповещения о событиях?
    ЗЫ
    А почему бы просто не прочитать документацию?
    Много интересного можно узнать про события и оповещения :-)

    Comment

    • Knarrenheins
      Junior Member
      • Jan 2020
      • 3

      #3
      Смысл то есть)
      Документации ковырял в первую очередь и решил, что с помощью условия "Период времени" в Действиях можно реализовать. Но не срабатывает(
      Как я понял, условия обращаются ко времени когда событие началось, а не просто на наличие его.

      Comment


      • Hamardaban
        Hamardaban commented
        Editing a comment
        "Период времени" - это из условий срабатывания действия. Позволяет действию срабатывать если пришло событие только в (или не в) определенный период времени.
        Если не секрет - а в чем смысл оповещения в заданный период времени? Как то не вяжется у меня... Случилось что-то в 9 утра, а письмо отправлено в 15.... зачем тогда его вообще отправлять?
        Last edited by Hamardaban; 06-02-2020, 11:18.

      • Knarrenheins
        Knarrenheins commented
        Editing a comment
        мне нужно настроить 3 оповещения на почту о состоянии жестких дисков:
        1. Свободно <10% отправляется в 9:00, 14:00, 19:00
        2. Свободно <20% отправляется в 11:00, 17:00
        3. Свободно <30% отправляется в 13:00
    • sadman
      Senior Member
      • Dec 2010
      • 1611

      #4
      Берёте функцию time() для любого айтема, в Выражении триггера пишете что-то вроде "agent.ping.time() > 080000 and agent.ping.time() < 080100" и навешиваете на этот Триггер Действие. У меня так сервер слал сообщение, уведомляя что активен и канал оповещений работает.

      -------------
      https://www.zabbix.com/documentation...onfig/triggers

      Если в выражении триггера используются функции, связанные со временем (nodata(), date(), dayofmonth(), dayofweek(), time(), now()), то тогда триггер будет пересчитываться каждые 30 секунд процессом Zabbix timer.
      -------------

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #5
        Я понял исходный вопрос по-другому. Там спрашивают не о срабатывании триггера в определённое время, а об отправке оповещений в определённое время.
        Т.е. (в моём понимании) автора темы интересует, нельзя ли сообщения, скажем, о всех событиях за ночь отправлять только утром (чтобы не трезвонить звоном мобильника в нерабочее время).
        Если так - то штатной возможности делать именно так нет. Можно лишь ограничить конкретный канал оповещений заданным временем - скажем, не слать SMS по ночам вообще.

        Comment


        • Knarrenheins
          Knarrenheins commented
          Editing a comment
          да, именно о сообщениях речь. Надо чтоб отправлялись на почту именно в указанное время.

          Подойдет вариант, чтоб триггер срабатывал в указанное время и в это же время отправлялось сообщение. Если хотя бы так возможно.
          Last edited by Knarrenheins; 06-02-2020, 11:39.
      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #6
        Автор темы писал:
        мне нужно настроить 3 оповещения на почту о состоянии жестких дисков:
        1. Свободно <10% отправляется в 9:00, 14:00, 19:00
        2. Свободно <20% отправляется в 11:00, 17:00
        3. Свободно <30% отправляется в 13:00
        и далее:
        Подойдет вариант, чтоб триггер срабатывал в указанное время и в это же время отправлялось сообщение.
        (замечание в сторону: пишите, пожалуйста, отдельными репликами, а не комментариями к другим репликам - иначе трудно следить за дискуссией)

        Для меня не совсем понятна цель такого желания, но сделать так вполне можно, используя триггерные функции time(), как об этом писал чуть выше коллега sadman.
        Только тут ещё возникает вопрос: а как быть с уведомлениями о восстановлении? Хотите ли вы их получать, если да - то насколько оперативно?

        Потому как если задача пару раз в сутки "прокукарекать" (и сообщения о восстановлении никого не волнуют, так же как и наличие события на экране проблем), то можно делать "в лоб":
        Code:
        {HOST:vfs.fs.size[C:,pfree].last()}<30 and {HOST:vfs.fs.size[C:,pfree].nodata(30)}=0
        и выставлять custom schedule для соответствующего элемента данных на нужное время (13:00 для данного примера).
        В этом случае ровно в 13:00 пройдёт проверка, при превышении предела сработает триггер и будет послано уведомление, а через полминуты триггер закроется и всё будет тихо (до следующей проверки).

        Если же надо проверять регулярно (например, чтобы по истории можно было посмотреть - когда именно произошло превышение порога, а также оперативно послать уведомление о восстановлении), но срабатывание триггера привязать к определённому времени, то тут уже нужны регулярные интервалы проверок (скажем, 5 минут) и триггерная функция time(). Причём, чтобы триггер закрывался только при реальном освобождении диска, а не по времени суток, нужно использовать старую технику гистерезиса, примерно таким образом:
        Code:
        {HOST:vfs.fs.size[C:,pfree].last()}<30 and (
        ({TRIGGER.VALUE}=0 and {HOST:vfs.fs.size[C:,pfree].time()}>=130000 and {HOST:vfs.fs.size[C:,pfree].time()}<130500)
        or
        {TRIGGER.VALUE}=1
        )
        Т.е. обязательным условием для триггера является превышение порогового значения, но срабатывание ограничиваем конкрентым временем, а удержание в этом состоянии (если уж сработал) - дополнительными условиями не ограничиваем. Тогда закрываться он будет только после реального решения проблемы (соответственно именно в этот момент отсылаться уведомление о восстановлении), а до этого - событие будет находиться на экране проблем.


        Comment


        • Knarrenheins
          Knarrenheins commented
          Editing a comment
          Спасибо большое за развернутый ответ, буду пробовать.

        • Knarrenheins
          Knarrenheins commented
          Editing a comment
          Все работает! Еще раз спасибо!
      • Hamardaban
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • May 2019
        • 2713

        #7
        Реплика в сторону: вот как сказывается проф деформация сознания... :-) У меня сработала двоичная логика "Q: как настроить отправку в.... A: с отправкой не получиться" .
        А практика показывает, что зачастую исходить нужно от сути задачи, не ограничиваясь рамками вопроса. Тогда и задачки решаются и ответы появляются!

        Comment

        Working...