Сам сбор данных не вызавает каких-то сложностей. Сложности возникают с дальнейшей обработкой и отображением информации.
Собственно есть несколько серверных комнат c кучей шкафов. В шкафах стоит оборудование клиентов. При этом в одном шкафу могут быть сразу несколько клиентов, а так же оборудование одного клиента может находиться как в одном шкафу так и в нескольких.
Хотелка в том чтобы собрать информации о потребляемой электроэнергии каждым клиетном в отдельности.
С этих PDU можно получить информацию по SNMP как для всей PDU так и для каждой фазы, а так-же для каждой розетки. Идентификатором клиента могло бы служить поле Lable которое можно редактировать по http и потом получить в Zabbix по SNMP. То есть на всех розетках клиента во всех шкафах мы можем написать его имя как идентификатор.
Discovery rule для розетор выглядит следующим образом:
discovery[{#FACTORY_NAME},1.3.6.1.4.1.21239.5.2.3.6.1.2,{#US ER_DEFINED_NAME},1.3.6.1.4.1.21239.5.2.3.6.1.3,{#O UTLET_ADMIN_STATUS},1.3.6.1.4.1.21239.5.2.3.5.1.4, {#OUTLET_OPER_STATUS},1.3.6.1.4.1.21239.5.2.3.6.1. 25]
#FACTORY_NAME - это заводское и розетки: Outlet 1, Outlet 2, ....
#USER_DEFINED_NAME - это как раз поле "Lable" в котором можно написать имя клиента ("Test Customer 1" например)
Filter (AND):
{#OUTLET_ADMIN_STATUS} matches ^1$
{#OUTLET_OPER_STATUS} does not match ^0$
то есть я делаю Item-ы только для розеток которые имеют ADMIN_STATUS=Up и которые сейчас в работе OPER_STATUS=Up. Точно так же как для портов коммутатора или маршрутизатора.
Далее идет один из Item-прототипов, собственно для данный по потреблению в W/h

и второй по потреблению в месяц:
Данные собираются, всё хорошо, теперь их надо суммировать и визуализировать. Вот тут-то и начинаются загвоздки.
Хотел сделать дашборд cо страницами для каждого клиента. На странице что-то вроде таблицы со строками с именами Хостов (PDU) и столбцами Потребленная энергия всего по розетке и Потребленная энергия в месяц по розетке
В новом виджите "Top hosts" Zabbix 7 который теперь советуют использовать вместро старого "Data overview" нет возможности в поле "Item name" задать имена
Item-ов используя маску.
Здесь-то я и хотел отфильтровать все розетки по имени клиетна: #USER_DEFINED_NAME (Test Customer 1 это и есть имя клиента)
Старый виджит "Data overview" тоже не помогает, там можно только по тэгам фильтровать.
Это была первая загвоздка.
Теперь вторая.
Задача все-таки стоит собрать данные по потреблению для каждого клиента.
Как мне здесь подсказалиhttps://www.zabbix.com/forum/in-russ...82%D0%BE%D0%B2
сделал Item на хосте zabbix-server, но оказалось, что функция last_foreach может фильтровать только по ключу Item-a и/или по группе/тэгу хостов. Использовать имя Item-a для фильтрации нельзя.
Создать прототип Item-a с таким ключём, чтобы в нем было ещё и имя клиента что-то вреде:
тоже не удаётся.
Есть ли выход из ситуации? Мне не хватает функционала Zabbix или всё-таки мозгов?
Собственно есть несколько серверных комнат c кучей шкафов. В шкафах стоит оборудование клиентов. При этом в одном шкафу могут быть сразу несколько клиентов, а так же оборудование одного клиента может находиться как в одном шкафу так и в нескольких.
Хотелка в том чтобы собрать информации о потребляемой электроэнергии каждым клиетном в отдельности.
С этих PDU можно получить информацию по SNMP как для всей PDU так и для каждой фазы, а так-же для каждой розетки. Идентификатором клиента могло бы служить поле Lable которое можно редактировать по http и потом получить в Zabbix по SNMP. То есть на всех розетках клиента во всех шкафах мы можем написать его имя как идентификатор.
Discovery rule для розетор выглядит следующим образом:
discovery[{#FACTORY_NAME},1.3.6.1.4.1.21239.5.2.3.6.1.2,{#US ER_DEFINED_NAME},1.3.6.1.4.1.21239.5.2.3.6.1.3,{#O UTLET_ADMIN_STATUS},1.3.6.1.4.1.21239.5.2.3.5.1.4, {#OUTLET_OPER_STATUS},1.3.6.1.4.1.21239.5.2.3.6.1. 25]
#FACTORY_NAME - это заводское и розетки: Outlet 1, Outlet 2, ....
#USER_DEFINED_NAME - это как раз поле "Lable" в котором можно написать имя клиента ("Test Customer 1" например)
Filter (AND):
{#OUTLET_ADMIN_STATUS} matches ^1$
{#OUTLET_OPER_STATUS} does not match ^0$
то есть я делаю Item-ы только для розеток которые имеют ADMIN_STATUS=Up и которые сейчас в работе OPER_STATUS=Up. Точно так же как для портов коммутатора или маршрутизатора.
Далее идет один из Item-прототипов, собственно для данный по потреблению в W/h
и второй по потреблению в месяц:
Данные собираются, всё хорошо, теперь их надо суммировать и визуализировать. Вот тут-то и начинаются загвоздки.
Хотел сделать дашборд cо страницами для каждого клиента. На странице что-то вроде таблицы со строками с именами Хостов (PDU) и столбцами Потребленная энергия всего по розетке и Потребленная энергия в месяц по розетке
В новом виджите "Top hosts" Zabbix 7 который теперь советуют использовать вместро старого "Data overview" нет возможности в поле "Item name" задать имена
Item-ов используя маску.
Здесь-то я и хотел отфильтровать все розетки по имени клиетна: #USER_DEFINED_NAME (Test Customer 1 это и есть имя клиента)
Старый виджит "Data overview" тоже не помогает, там можно только по тэгам фильтровать.
Это была первая загвоздка.
Теперь вторая.
Задача все-таки стоит собрать данные по потреблению для каждого клиента.
Как мне здесь подсказалиhttps://www.zabbix.com/forum/in-russ...82%D0%BE%D0%B2
сделал Item на хосте zabbix-server, но оказалось, что функция last_foreach может фильтровать только по ключу Item-a и/или по группе/тэгу хостов. Использовать имя Item-a для фильтрации нельзя.
Создать прототип Item-a с таким ключём, чтобы в нем было ещё и имя клиента что-то вреде:
тоже не удаётся.
Есть ли выход из ситуации? Мне не хватает функционала Zabbix или всё-таки мозгов?
Comment