Добрый день!
Имеется скрипт
В EPP созданы 2 правила на тот же ивент, отличающиеся действием и Filter скриптами
1-ый вроде как должен фильтровать ивенты, где в alias нет dc и ts
Если в ивенте действительно ЕСТЬ dc или ts - приходит 1 ивент в нужный топик. Но если в alias нет dc\ts - алармы сыпятся в оба топика, что на 1-ый фильтр, что на второй
Вот пример такого ивента
Имеется скрипт
Code Select
subnets = [];
for (p : $node.parents) if (classof(p) == "Subnet") subnets.append(p.alias);
$event.addParameter("subnets", subnets.join(", "));
return true;Прицепляющий alias подсети к ивенту SYS_NODE_ADDEDВ EPP созданы 2 правила на тот же ивент, отличающиеся действием и Filter скриптами
1-ый вроде как должен фильтровать ивенты, где в alias нет dc и ts
Code Select
sub main() {
subnet = tolower($event->subnets);
// Быстрая проверка по ключевым словам
if(contains(subnet, "dc") ||
contains(subnet, "ts")) {
nxlog(4, "FILTER: Blocked DC subnet - " . $event->subnets);
return false;
}
return true;
}2-ой - где alias содержит dc и tsCode Select
sub main() {
subnet = tolower($event->subnets);
// Быстрая проверка по ключевым словам
if(contains(subnet, "dc") ||
contains(subnet, "ts")) {
return true;
}
nxlog(4, "FILTER: Blocked Users subnet - " . $event->subnets);
return false;
}Если в ивенте действительно ЕСТЬ dc или ts - приходит 1 ивент в нужный топик. Но если в alias нет dc\ts - алармы сыпятся в оба топика, что на 1-ый фильтр, что на второй
Вот пример такого ивента
Code Select
{
"id": 180591103,
"rootId": 0,
"code": 1,
"name": "SYS_NODE_ADDED",
"timestamp": 1769568582,
"originTimestamp": 1769568582,
"origin": 0,
"source": 1051263,
"zone": 0,
"dci": 0,
"severity": 0,
"message": "Node added",
"lastAlarmKey": "",
"lastAlarmMessage": "",
"tags": [
"NewObject"
],
"parameters": [
{
"name": "nodeOrigin",
"value": "1"
},
{
"name": "subnets",
"value": "KRS_Gaydashovka_UC"
}
]
}Что я сделал не так с этими фильтрами?