Подскажите, пожалуйста, как сделать предобработку в правилах обнаружения и преобразовывать MAC адрес в десятичную систему счисления?
Ad Widget
Collapse
Преобразование MAC адреса в десятичную систему счисления
Collapse
X
-
Comment
-
Comment
-
Если пренебречь последней единицей, то получается, например, так (используя препроцессинг JavaScript):
Code://разбиваем на части по разделителю "точка" var a = value.split('.'); //последний элемент рабиваем на части по разделителю "двоеточие" var b = a[a.length-1].split(':'); //и в цикле каждый его компонент преобразуем из HEX в DEC for (var i=0; i<b.length; i++) { b[i] = parseInt(b[i], 16) } //после чего собираем всё обратно a[a.length-1] = b.join('.'); return a.join('.');Last edited by Kos; 25-05-2021, 15:16. Reason: Переименовал переменные, а то этим шрифтом цифра "1" и буква "l" выглядят одинаково, что сбивает с толку.Comment
-
Огромное Вам спасибо за Ваше внимание к моей проблеме и скрипт!
Но видимо заббиксу этого мало
До предобработки было так: .1.3.6.1.4.1.14988.1.1.1.2.1.3.c4:ad:34:50:3a:4c
После предобработки но уровне элемента данных все так и осталось, а на уровне правил обнаружения появилась ошибка: Invalid discovery rule value: cannot parse as a valid JSON object: unexpected end of string data.
Результат теста предобработки прилагаю.
За любые идеи как это преодолеть, буду очень благодарен.Comment
-
Ну Вы же ничего не писали про то, что это должно использоваться в правилах LLD. Видимо, речь идёт о соседней теме.Огромное Вам спасибо за Ваше внимание к моей проблеме и скрипт!
Но видимо заббиксу этого мало
До предобработки было так: .1.3.6.1.4.1.14988.1.1.1.2.1.3.c4:ad:34:50:3a:4c
После предобработки но уровне элемента данных все так и осталось, а на уровне правил обнаружения появилась ошибка: Invalid discovery rule value: cannot parse as a valid JSON object: unexpected end of string data.
Результат теста предобработки прилагаю.
За любые идеи как это преодолеть, буду очень благодарен.
Этот скрипт ожидает не входе строку в том формате, как Вы указали:
При использовании в правилах LLD на входе будет не одна строка такого вида, а сгенерированный Zabbix-ом JSON, где строка такого вида - лишь одно из полей.Code:.1.3.6.1.4.1.14988.1.1.1.2.1.3.c4:ad:34:50:3a:4c
Поэтому логично, что скрипт ломается.
Можно его доработать, чтобы он обрабатывал конкретные поля этого JSON-а, но мне кажется, что сначала надо разобраться с соседней темой - возможно, что никаких преобразований и не надо.Comment
-
Я тоже думал и продолжаю думать, что подобная метрика не должна собираться через столько терней: несколько обработок, Javascript код и прочее.Ну Вы же ничего не писали про то, что это должно использоваться в правилах LLD. Видимо, речь идёт о соседней теме.
Этот скрипт ожидает не входе строку в том формате, как Вы указали:
При использовании в правилах LLD на входе будет не одна строка такого вида, а сгенерированный Zabbix-ом JSON, где строка такого вида - лишь одно из полей.Code:.1.3.6.1.4.1.14988.1.1.1.2.1.3.c4:ad:34:50:3a:4c
Поэтому логично, что скрипт ломается.
Можно его доработать, чтобы он обрабатывал конкретные поля этого JSON-а, но мне кажется, что сначала надо разобраться с соседней темой - возможно, что никаких преобразований и не надо.
Видимо захожу не с той стороны.
присоединяйтесь к соседней теме
Comment
Comment