DCI Maximum Value

Started by Harun, November 06, 2015, 06:48:40 AM

Previous topic - Next topic

Harun

При перезагрузки оборудования и обнуления счетчиков на DCI с delta calculation возникают всплески из-за того, что netxms считает, что счетчик был обнулен и вычисляет дельту.
Для борьбы с этим есть смысл добавить для DCI параметр maximum value для того, чтобы бороться с всплесками на графиках. Для интерфейсных счетчиков по умолчанию maximum value брать из параметра Speed.

kozlov_ao

Фильтрация таких всплесков решается скриптами (судя по форуму Вы освоили данное искусство :))

Harun

Это понятно, но для некоторых стандартных DCI (например, интерфейсные счетчики) это было бы полезно сделать по умолчанию.

kozlov_ao

С одной стороны да, но с другой - все равно будет всплеск равный полосе пропускания. А банить такие данные, несколько не разумно, т.к. таки бывают ситуации, когда сетка перегружается, и всплески бывают в реальной жизни (я не говорю про тысячекратные перегрузки)...
Другое дело, если NX научится понимать, что если текущее значение меньше предыдущего и при этом аптайм (как вариант) железки резко уменьшился - то да, такие данные можно считать "началом" для нового отсчета. Без аптайма - это может означать переполнение счетчика и сброс на 0.

Harun

#4
Всплеск не может быть больше чем ifspeed, поэтому отрезать эти значения вполне разумно (а при ребуте, как правило, всплески превышают ifspeed). Такой подход используется во многих системах мониторинга (на вскидку, cacti, zenoss). Отслеживать uptime при каждом опросе - ресурсоемко.

Harun

Можно ли сделать атрибут speed доступным для nxsl? https://wiki.netxms.org/wiki/NXSL:Interface - здесь он отсутствует.

Tatjana Dubrovica

В коде присутствует. Можно получить как "speed".

Harun

#7
Вот такой код в transformation script вроде работает:

value = $1 * 8;
p = rindex ($dci->name,".") + 1;
id = substr($dci->name, p);
i = GetInterfaceObject($node, id);
if (i != null && i->speed>0 && i->speed < value ) return null;
return value;

После перезагрузки устройства на графиках всплесков нет. Кто знает, как сделать красивее, сообщите. И как этот код добавлять автоматически про создании interface DCI?

kozlov_ao

Дак собственно создается шаблон, и в нем все это прописывается. У самого интерфейса это негде прописать.

Или я вопрос не понял?

Harun

Ну вот я тыкаю на интерфейс, выбираю Create data collection items и у меня появляется диалоговое окно Create interface DCI, нажимаю OK и создается DCI, по умолчанию в transformation script - return $1 * 8; (если я выбираю bits).