Уважаемые гуру zabbix подскажите почему может не работать вычисляемый элемент данных, я сделал lld правило, в нем два элемента FREE и USED, по ним все находится, далее я подумал, а почему бы не сделать остаток свободной памяти в %, подумал, сделал вычисляемый элемент, но он что то не отрабатывает, пишет "Cannot create item: item with the same key "FreeMemPercent" already exists" хотя он точно нигде не используется больше
Ad Widget
Collapse
Вычисляемый прототип в LLD
Collapse
X
-
Правило дискаверинга возвращает сформатированный в виде JSON-а список чего-то.
Далее на основании прототипов по этому списку создаются соответствующие объекты - как правило, элементы данных (айтемы) и триггеры.
Для каждого элемента списка создаётся свой набор объектов (в частности, айтемов), поэтому в прототипах айтемов в ключах всегда присутствуют LLD-макросы, при помощи которых обеспечивается уникальность создаваемых объектов.
В прототипе же вычисляемого элемента данных у вас используется один фиксированный ключ безо всяких LLD-макросов, что при отрабатывании механизма LLD приводит к созданию из этого прототипа нескольких элементов данных с одинаковым ключом - собственно, на это он и ругается.
В данном конкретном случае решение простое: добавьте в ключ прототипа вычисляемого элемента данных тот же LLD-макрос, что и для остальных прототипов:
Code:FreeMemPercent[{#SNMPINDEX}] -
точно, спасибо!Правило дискаверинга возвращает сформатированный в виде JSON-а список чего-то.
Далее на основании прототипов по этому списку создаются соответствующие объекты - как правило, элементы данных (айтемы) и триггеры.
Для каждого элемента списка создаётся свой набор объектов (в частности, айтемов), поэтому в прототипах айтемов в ключах всегда присутствуют LLD-макросы, при помощи которых обеспечивается уникальность создаваемых объектов.
В прототипе же вычисляемого элемента данных у вас используется один фиксированный ключ безо всяких LLD-макросов, что при отрабатывании механизма LLD приводит к созданию из этого прототипа нескольких элементов данных с одинаковым ключом - собственно, на это он и ругается.
В данном конкретном случае решение простое: добавьте в ключ прототипа вычисляемого элемента данных тот же LLD-макрос, что и для остальных прототипов:
Code:FreeMemPercent[{#SNMPINDEX}]Comment
-
а в вычисляемом элементе нельзя сделать суммирование? допустим я обнаружил 20 элементов с snmpvalue=1 и snmpvalue=0, я бы хотел посчитать количество элементов с snmpvalue=1Правило дискаверинга возвращает сформатированный в виде JSON-а список чего-то.
Далее на основании прототипов по этому списку создаются соответствующие объекты - как правило, элементы данных (айтемы) и триггеры.
Для каждого элемента списка создаётся свой набор объектов (в частности, айтемов), поэтому в прототипах айтемов в ключах всегда присутствуют LLD-макросы, при помощи которых обеспечивается уникальность создаваемых объектов.
В прототипе же вычисляемого элемента данных у вас используется один фиксированный ключ безо всяких LLD-макросов, что при отрабатывании механизма LLD приводит к созданию из этого прототипа нескольких элементов данных с одинаковым ключом - собственно, на это он и ругается.
В данном конкретном случае решение простое: добавьте в ключ прототипа вычисляемого элемента данных тот же LLD-макрос, что и для остальных прототипов:
Code:FreeMemPercent[{#SNMPINDEX}]Comment
Comment