DCI по времени

Started by Alex, June 17, 2008, 03:48:04 PM

Previous topic - Next topic

Alex

Необходимо привесить проверку события...
Если во временной промежуток с 11:00 до 23:00 на определенном интерфейсе падает трафик ниже к примеру 7 Мбит/с то создать аларм и выслать почту, при восстановлении соответственно отменить аларм и выслать письмо о восстановлении.
Понимаю что это нужно делать через Treshholds, но как сделать, что-то не соображу. Подскажите плз..

Спасибо заранее.

Victor Kirhenshtein

Если вопрос в проверке времени, то сделать это можно двумя путями:

1. Сделать DCI, который собирается с 11:00 до 23:00, это можно сделать через advanced schedule.
2. ПРи обработке события добавить скрипт, который проверяет текущее время и не матчит правило если время не в нужном диапазоне.

Alex

Виктор, может я опять сумбурно объяснил, попытаюсь исправиться..
Итак:
Данные должны сниматься независимо не от чего каждые 300 сек по SNMP. (Это есть)
Если в промежутке времени с 11:00 до 23:00 загрузка интернет канала опускается до 7 Мбит/с то создать аларм, выслать письмо, после восстановления выше 7 Мбит/с аннулировать аларм.

С трешхолдами я примерно представляю как работать, а вот как указывать промежуток времени и именно на этот промежуток накладывать проверки, понять не могу.. Есть какой-нибудь примерчик?

Victor Kirhenshtein

Тогда способ №2 - т.е. трешолд срабатывает всегда, но в event policy ставим дополнительную проверку на текущее время. Скрипт может выглядеть так:


sub main()
{
   t = localtime();
   return ((t->tm_hour >= 11) && (t->tm_hour <= 23)) ? 1 : 0;
}


можно использовать gmtime() если время нужно в GMT.

Alex

Сделал как показано на скриншоте. В итоге почему-то отрабатывается 4-ое правило вместо 3-го. Можно какие-то советы по этому вопросу?

Victor Kirhenshtein

a kak vigljadit zapis' dlja sootvetstvujushego sobitija v event log'e?

Alex

Пример:

Дата Warning FFM_7603-bgp SYS_TRESHOLDS_REACHED ну и сообщение стандартное.
Что конкретно интересует?

P.S.> Жаль что нет экспорта в EventLog-е :(

Victor Kirhenshtein

Interesovalo chto takoe sobitie bilo i ego timestamp. Poskol'ku ispol'zuetsja localtime(), ne mozet bit' kakogo-nibud' prikola s time zone servera?
Ja tol'ko-chto u sebja takuju konstrukciju proveril - rabotaet.

Alex

#8
Вроде после установки gmtime() все встало на свои места. Но есть друга проблема. У меня на этой же железке есть и другие DCI с Tresholds-ами. К примеру загрузка процессора. Можно ли как-то разделить эти моменты? Конкретнее если отработал Treshold по конкретному интерфейсу, на котором снимается загрузка интернет канала (таких интерфейсов там 5), то чтоб в Event Processing он отрабатывался своим выделенным правилом, а все остальные event-ы (т.е. tresholds-ы по 4 FastEhernet, CPU, память и т.д.) отрабатывались общим правилом.
Можно ли как-то в поле Source добавить возможность выбирать какой именно DCI с данной Node-ы или же Node-а целиком?
А то я создал собственный шаблон писем типа "Интернет канал ниже уровня XXXX и в данный момент загрузка YYYY". В итоге по загрузке CPU приходит тоже самое =) Вообщем смотрится прикольно, но не правильно =)

Victor Kirhenshtein

Variantov zdes' neskol'ko:

1. Sozdat' sobstvennij event (naprimer DC_HIGH_INTERFACE_UTILIZATION), i v thresholdah na interfeisah generit' ego, a ne SYS_THRESHOLD_REACHED. Nu i sootvetstvenno ego stavit' v pole Event v event processing policy.

2. V SYS_THRESHOLD_REACHED pervim parametrom idet imja parametra, vtorim - description. Mozno ih proverjat' v scripte v event processing policy.

Alex

Сделал по первому варианту. Тестирую.