NetXMS Support Forum

Russian Support => Идеи и предложения по функциональности NetXMS => Topic started by: Harun on November 06, 2015, 06:48:40 AM

Title: DCI Maximum Value
Post by: Harun on November 06, 2015, 06:48:40 AM
При перезагрузки оборудования и обнуления счетчиков на DCI с delta calculation возникают всплески из-за того, что netxms считает, что счетчик был обнулен и вычисляет дельту.
Для борьбы с этим есть смысл добавить для DCI параметр maximum value для того, чтобы бороться с всплесками на графиках. Для интерфейсных счетчиков по умолчанию maximum value брать из параметра Speed.
Title: Re: DCI Maximum Value
Post by: kozlov_ao on November 08, 2015, 07:06:26 PM
Фильтрация таких всплесков решается скриптами (судя по форуму Вы освоили данное искусство :))
Title: Re: DCI Maximum Value
Post by: Harun on November 09, 2015, 05:51:15 AM
Это понятно, но для некоторых стандартных DCI (например, интерфейсные счетчики) это было бы полезно сделать по умолчанию.
Title: Re: DCI Maximum Value
Post by: kozlov_ao on November 09, 2015, 06:52:15 AM
С одной стороны да, но с другой - все равно будет всплеск равный полосе пропускания. А банить такие данные, несколько не разумно, т.к. таки бывают ситуации, когда сетка перегружается, и всплески бывают в реальной жизни (я не говорю про тысячекратные перегрузки)...
Другое дело, если NX научится понимать, что если текущее значение меньше предыдущего и при этом аптайм (как вариант) железки резко уменьшился - то да, такие данные можно считать "началом" для нового отсчета. Без аптайма - это может означать переполнение счетчика и сброс на 0.
Title: Re: DCI Maximum Value
Post by: Harun on November 09, 2015, 07:59:29 AM
Всплеск не может быть больше чем ifspeed, поэтому отрезать эти значения вполне разумно (а при ребуте, как правило, всплески превышают ifspeed). Такой подход используется во многих системах мониторинга (на вскидку, cacti, zenoss). Отслеживать uptime при каждом опросе - ресурсоемко.
Title: Re: DCI Maximum Value
Post by: Harun on January 13, 2016, 05:21:52 PM
Можно ли сделать атрибут speed доступным для nxsl? https://wiki.netxms.org/wiki/NXSL:Interface - здесь он отсутствует.
Title: Re: DCI Maximum Value
Post by: Tatjana Dubrovica on January 14, 2016, 07:10:39 PM
В коде присутствует. Можно получить как "speed".
Title: Re: DCI Maximum Value
Post by: Harun on January 18, 2016, 07:27:19 AM
Вот такой код в 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?
Title: Re: DCI Maximum Value
Post by: kozlov_ao on January 18, 2016, 09:22:52 AM
Дак собственно создается шаблон, и в нем все это прописывается. У самого интерфейса это негде прописать.

Или я вопрос не понял?
Title: Re: DCI Maximum Value
Post by: Harun on January 18, 2016, 09:55:26 AM
Ну вот я тыкаю на интерфейс, выбираю Create data collection items и у меня появляется диалоговое окно Create interface DCI, нажимаю OK и создается DCI, по умолчанию в transformation script - return $1 * 8; (если я выбираю bits).