Ad Widget

Collapse

Вычисляемый элемент и функции change, delta в LLD

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Danethz
    Junior Member
    • Aug 2018
    • 18

    #1

    Вычисляемый элемент и функции change, delta в LLD

    Добрый день, товарищи!
    Zabbix 3.4
    Хочу узнавать процент ошибок из общего числа входящих\исходящих пакетов на портах свечей.
    а) fInErrors.[{#SNMPINDEX}] - количество ошибок входящих пакетов
    b) 1.3.6.1.2.1.2.2.1.11.[{#SNMPINDEX}] - количество Unicast пакетов
    c) 1.3.6.1.2.1.2.2.1.12.[{#SNMPINDEX}] - количество не Unicast пакетов
    Создаю вычисляемый элемент:
    100*(last("ifInErrors.[{#SNMPINDEX}]")/(last("1.3.6.1.2.1.2.2.1.11.[{#SNMPINDEX}]")+last("1.3.6.1.2.1.2.2.1.12.[{#SNMPINDEX}]")))
    Всё работает, всё хорошо.

    Но так же хочу узнавать о резком росте количества ошибок на порту.
    Вижу это так:
    a) Количество ошибок за последние 15 минут
    b) количество Unicast за последние 15 минут
    c) количество не Unicast за последние 15 минут
    И так же как в прошлом варианте:
    100*(a/(b+c)) > 1 - триггер

    Если я правильно понимаю, для этих целей подходят функции change и delta.
    Пробовал такие варианты:
    change("ifInErrors.[{#SNMPINDEX}],900")
    change("900,ifInErrors.[{#SNMPINDEX}]")
    delta("ifInErrors.[{#SNMPINDEX}],900")
    delta("900,ifInErrors.[{#SNMPINDEX}]")
    Получаю ошибки вида:
    Cannot create item: Invalid first parameter "900,ifInErrors.[{#SNMPINDEX}]".
    Cannot create item: Invalid first parameter "ifInErrors.[{#SNMPINDEX}],900".

    Подскажите правильный синтаксис для решения этой задачи.
    Либо, если я выбрал неправильный метод, направьте в нужном направлении.
    Заранее благодарю всем ответившим
  • Danethz
    Junior Member
    • Aug 2018
    • 18

    #2
    Разобрался, корректный синтаксис:
    change("ifInErrors.[{#SNMPINDEX}]",900)

    Вдогонку теоретический вопрос:
    Как более правильно делать с точки зрения ресурсозатратности:
    1) Создать вычисляемый элемент и повесить триггер на результат работы функции в вычисляемом элементе (как в посте выше)
    2) Создать триггер, который сам будет вычислять исходя из собранных элементов данных: (100*(количество ошибок/ (количество unicast+количество не unicast)))>1

    Comment

    Working...