Ad Widget

Collapse

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

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • _=Alex=_
    Junior Member
    • Apr 2012
    • 26

    #1

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

    Hi ALL,

    Имеется Zabbix 2.2.6, через Discovery rules/прототипы формируется множество значений айтемов вида
    param_1=х
    ...
    param_N=y

    Хочется сделать вычисляемый элемент данных, который показывает кол-во айтемов param, значения которых не ноль.
    Пример:
    param_1=0
    param_2=1
    param_3=0
    param_4=2

    Вычисляемый элемент даёт результат 2 (т.к. param_2#0 и param_4#0).
    Подскажите, как это сделать.
  • glebs.ivanovskis
    Senior Member
    • Jul 2015
    • 237

    #2
    Немного хакерский приём, но должен работать:
    Code:
    (param_1#0) + (param_2#0) + ... + (param_N#0)
    Следите за ZBX-9905, надеюсь, скоро такой способ будет узаконен.

    Comment

    • _=Alex=_
      Junior Member
      • Apr 2012
      • 26

      #3
      Спасибо за совет. Можете ещё подсказать, как это применить в контексте Discovery rules/прототипов , т.к. я заранее не знаю длину выборки param_N и нужно как-то записать такую сумму с неизвестным кол-вом слагаемых?

      Comment

      • glebs.ivanovskis
        Senior Member
        • Jul 2015
        • 237

        #4
        Расскажите поподробнее про Вашу ситуацию. Если нужно посчитать ненулевые значения одного айтема, то может помочь триггерная функция count(). Если param_* - это макросы LLD, то я не совсем понимаю, как их может быть разное количество.

        Comment

        • _=Alex=_
          Junior Member
          • Apr 2012
          • 26

          #5
          Originally posted by glebs.ivanovskis
          Расскажите поподробнее про Вашу ситуацию.
          Приложил список айтемов, полученных через LLD (индексы берутся из правила chNumber) - item_.jpg , и список значений latest data этих айтемов - state.jpg (где chState 804 #0).

          Нужно посчитать кол-во айтемов множества chState_x , значения которых #0 (на данном скриншоте такой один - chState 804).
          Attached Files

          Comment

          • glebs.ivanovskis
            Senior Member
            • Jul 2015
            • 237

            #6
            Наверное, красивого решения Вашей задачи средствами Zabbix'а нет.

            Чисто теоретически для Вашего прототипа айтема Вы можете создать прототип хоста и на нём - айтем, который будет принимать значения 0 или 1 в зависимости от того, равен ли исходный айтем нулю. Все LLD хосты Вы можете сгрузить в одну группу и воспользоваться аггрегированной проверкой, чтобы посчитать сумму. Если Вас привлекает такой путь решения, могу рассказать подробнее.

            Comment

            • _=Alex=_
              Junior Member
              • Apr 2012
              • 26

              #7
              Tnx, этот вариант более сложный. Сделал подсчёт внешним скриптом.

              Comment

              Working...