Ad Widget

Collapse

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

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Elv1$
    Junior Member
    • Jun 2022
    • 5

    #1

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

    Доброго времени суток! Создал прототип вычисляемого элемента c формулой "sum(last_foreach(/VS-DC1-FL-MS01-file/*?[tag="wmstb:{#FILE}->TB"]))"
    по задумке он должен суммировать данные по всем элементам данного узла с тегом содержащим макрос
    Click image for larger version

Name:	1.png
Views:	134
Size:	16.2 KB
ID:	446371


    тест проходит успешно


    Click image for larger version

Name:	2.png
Views:	103
Size:	4.5 KB
ID:	446372+

    но элементы данных не создаются, ошибка такая Cannot create item, error in formula: Invalid item key at position 0.

    Click image for larger version

Name:	3.png
Views:	105
Size:	36.1 KB
ID:	446373

  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Добрый день!

    К сожалению, детали реализации агрегированных элементов данных пока не очень хорошо документированы. Например, в изначальной спецификации предполагалась возможность использовать символ "звёздочка", в том числе, и как заменитель всего ключа элемента данных; но была ли такая возможность реализована - неясно, т.к. в документации такого примера нет: есть примеры лишь замены звёздочкой хоста и параметров ключа элемента данных (внутри квадратных скобок), но не всего ключа целиком.

    Когда я пытался разобраться с этой темой, то просил уточнить некоторые детали (ссылка); поскольку тот тикет был уже закрыт, то мои замечания были перенесены в новый (ссылка), но и там пока что остались без ответа - статус тикета "Confirmed", но по-прежнему "Unresolved" (и без разъяснений от разработчиков).

    Подозреваю, что всё-таки реализовано не всё так, как предполагалось изначально, и весь ключ звёздочкой заменять нельзя.

    Comment

    • Elv1$
      Junior Member
      • Jun 2022
      • 5

      #3
      Да, соглашусь документирование весьма скудное. В целом неясно даже можно ли так делать суммировать разные элементы данных(разные элементы данных одного хоста но с одинаковым тегом). Вот суммировать элементы разных хостов, с одинаковым тэгом вполне получается. При этом удивительно, что проходит тест из прототипа и притом правильно.

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #4
        Originally posted by Elv1$
        В целом неясно даже можно ли так делать суммировать разные элементы данных(разные элементы данных одного хоста но с одинаковым тегом). Вот суммировать элементы разных хостов, с одинаковым тэгом вполне получается.
        Точно работает агрегирование (как в пределах одного хоста, так и нескольких) в случае, когда ключ элемента данных отличается только параметрами (внутри квадратных скобок), и этот параметр заменяется звёздочкой. Причём, звёздочкой можно заменять либо один конкретный параметр, либо даже несколько.
        Например:
        Code:
        sum(last_foreach(/*/vfs.fs.size[*,"used"])?[group="My Servers"]))
        Посчитать сумму места, занятого на всех файловых системах всех серверов из группы "My Servers".
        Здесь звёздочки заменяют имя сервера и первый параметр ключа (но сам ключ и его второй параметр заданы явно).

        Comment

        Working...