Формирование Alarm при наступлении порогового количества событий
-
Сформулировать одним словом не могу, попробую описать:
Оборудование ( коммутатор ) присылает SNMP Trap о неуспешной авторизации пользователя который подключается к удаленной консоли. В целом это нормально, так как сменив пароль я еще в течении двух трех дней ввожу старый по привычке. Но если количество таких trap`ов превышает например 10 в час тут стоит подумать и посмотреть.
Было бы не плохо формировать аларм при достижении некого критического количество событий, так же было бы не плохо если бы это количество можно было бы считать не в рамках одной ноды, а вообще.
Опять же, если кто-то шарится по всей сети пытаясь авторизоваться на железе. В этом случае сообщения будут приходить от разных нод, но все равно ситуация интересная.
-
Можно но сложно.
В EPP нужно написать скрипт который (во время прихода события о неправильном логине) будет сохранять список пришедших трапов за последний час в строку и в случае если их было больше 10 генерить другое событие который уже будет создавать аларм. Строку можно хранить в Situations, которые в релизе 2.1-M3 мы заменим на PersistentStorage. Если в NXSL использовать посик Situations по имени, то переход на PersistentStorage будет не заметен.
Вот пример который делает похожую задачу в пределах 1 узла и хранит значения в CustomAttribute узла:array attr;
for (i = 0; i < 5; i++)
{
attr[i] = GetCustomAttribute($node, "collectedEventTime" . i);
}step = GetCustomAttribute($node, "collectedEventStep");
for (i = 0; i < 5; i++) {
if(attr[i] == null)
{
SetCustomAttribute($node, "collectedEventTime" . i, time());
SetCustomAttribute($node, "collectedEventStep", i);
return;
}
}step++;
if(step > 4)
step = 0;//Cehck that value that we will change occured more than 5 minutes ago
if((time() - attr[step]) < 300)
{
//generate alarm
PostEvent($node, "MARK_EVENT_AS_CRITICAL", null, "Event marked as critical");
}//set new time value
SetCustomAttribute($node, "collectedEventTime" . step, time());
SetCustomAttribute($node, "collectedEventStep", step);
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login