Ad Widget

Collapse

Проблема с вычисляемым элементом данных

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sanhces7
    Junior Member
    • Dec 2015
    • 17

    #1

    Проблема с вычисляемым элементом данных

    Коллеги, доброго времени суток!
    Решаю задачу мониторинга IP SLA процесса udp-jitter, наподобие темы пользователя DejaVu - https://www.zabbix.com/forum/showthread.php?t=51501.

    Мне необходимо создать вычисляемый элемент данных, состоящий из суммы трех величин, объекты которых получены низкоуровневым обнаружением. Здесь я получаю последние значения last().

    Три эти величины по отдельности прекрасно обнаруживаются, для них работают триггеры и графики, но вот вычисляемый элемент данных, делающий сумму этих элементов - не работает. Я подозреваю, что проблема в синтаксисе выражения, которое я пытаюсь вычислить. Пробовал писать его по-разному, скобки там, точки и кавычки, не работает.

    На данный момент вычисляемый элемент данных выглядит так:

    Code:
    last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossDS)+
    last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossSD)+
    last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossMIA)

    Элемент данных rttMonLatestJitterOperPacketLossDS для примера:

    Имя - rttMonLatestJitterOperPacketLossDS
    Тип - SNMPv2 агент
    Ключ - rttMonLatestJitterOperPacketLossDS[{#IFDESCR}]
    SNMP OID - 1.3.6.1.4.1.9.9.42.1.5.2.1.27.{#IFINDEX}
    Last edited by sanhces7; 31-12-2015, 09:17. Reason: Убрал скриншоты из-за лимита на иk
  • sanhces7
    Junior Member
    • Dec 2015
    • 17

    #2
    триггер на базе суммы трех этих элементов прекрасно работает:
    {Cisco_IP_SLA:rttMonLatestJitterOperPacketLossDS[{#IFDESCR}].last()}+{Cisco_IP_SLA:rttMonLatestJitterOperPacke tLossSD[{#IFDESCR}].last()}+{Cisco_IP_SLA:rttMonLatestJitterOperPacke tLossSD[{#IFDESCR}].last()}>3
    Last edited by sanhces7; 31-12-2015, 09:13.

    Comment

    • glebs.ivanovskis
      Senior Member
      • Jul 2015
      • 237

      #3
      В ключе Вы забываете квадратные скобки и то, что в них.

      Comment

      • tuban
        Senior Member
        Zabbix Certified Specialist
        • Sep 2012
        • 286

        #4
        Для начала, проверить отдаётся ли что-то по этим MiB с железяки, судя по всему - нет.

        Comment

        • sanhces7
          Junior Member
          • Dec 2015
          • 17

          #5
          tuban, в том-то и дело, что устройство прекрасно отдает эти элементы данных. Zabbix их получает, по ним работает триггер суммы элементов, и ним строится график (если отображать элементы по одному).

          Скриншоты тела триггера и его срабатывание, а так же отображение на графике отдельных элементов данных, прилагаю.

          Я пытаюсь сделать так, чтобы вычисляемый элемент данных DropRate был суммой трех элементов данных - last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLoss DS), last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLoss SD) и last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLoss MIA).
          Но он почему-то не вычисляется. Может, дело в том, что мои элементы данных получены из низкоуровневого обнаружения, и есть какие-то проблемы с написанием суммы вычисляемого элемента?
          Копаю синтаксис, но пока безуспешно.
          Last edited by sanhces7; 31-12-2015, 09:10.

          Comment

          • rough-84
            Senior Member
            • Oct 2014
            • 198

            #6
            Так вы считаете по названию элемента, а надо по ключу. Проверил у себя, нормально считает элементы snmp, но у меня нет автообнаружения поэтому не знаю будут ли с этим проблемы.

            Comment

            • sanhces7
              Junior Member
              • Dec 2015
              • 17

              #7
              Спасибо за ответы!
              Извините, что подолгу молчу - посты на модерации. Рисунки из первых постов пришлось убрать - не хватает квоты на изображения, сейчас внесу в посты необходимую информацию.
              Попробовал вычисляемый элемент данных DropRate считать по такой конструкции (вызывал переменные по ключам):

              Code:
              last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossDS[{#IFINDEX}])+
              
              last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossSD[{#IFINDEX}])+
              
              last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossMIA[{#IFINDEX}])
              получил вот такое (на скриншоте в конце названия переменной [4] - это номер ip sla теста из низкоуровневого обнаружения. по этому ключу отдельный элемент данных прекрасно считается, график на его основе строится, триггер срабатывает):


              попробовал так же - дословно по ключу. ошибка подобная тому же, что на скриншоте.
              Code:
              last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossDS[{#IFDESCR}])+
              
              last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossSD[{#IFDESCR}])+
              
              last(Cisco_IP_SLA:rttMonLatestJitterOperPacketLossMIA[{#IFDESCR}])
              Last edited by sanhces7; 29-03-2018, 06:34.

              Comment

              Working...