Ad Widget

Collapse

Суммирование результатов элемента данных

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • volotoviu
    Junior Member
    • Jan 2021
    • 8

    #1

    Суммирование результатов элемента данных

    Добрый день, у меня имеется группа хостов из 4 серверов.
    Шаблон в котором есть элементы данных, тип агента ssh. (key ssh.run[Собака,{HOST.IP},22,<encoding>])
    На выходе число. т.е запросы типа grep -c 'Собака' /tmp/dog.log
    Данный шаблон размножен на все 4 хоста.
    Теперь мне нужно просуммировать результаты выполнения данного агента со всех хостов. Как мне это сделать? Агент типа calculate не подходит т.к он работает внутри одного хоста. Пробовал через dependet, тоже не получилось.

    Спасибо за ответ.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Originally posted by volotoviu
    Агент типа calculate не подходит т.к он работает внутри одного хоста.
    Ну, во-первых, не агент типа calculate, а тип данных для элемента данных.
    Во-вторых, кто сказал, что только внутри одного хоста? Вполне можно ссылаться и на элементы данных других хостов.
    Наконец, в-третьих, мне кажется, что для данной задачи лучше подойдёт агрегированный тип данных: объединяете ваши хосты в группу хостов, и навешиваете на эту группу хостов агрегированную проверку с функцией группировки grpsum и функцией элемента данных last (см. Пример 1 по последней ссылке).
    Last edited by Kos; 12-01-2021, 17:16.

    Comment

    • volotoviu
      Junior Member
      • Jan 2021
      • 8

      #3
      Originally posted by Kos
      Ну, во-первых, не агент типа calculate, а тип данных для элемента данных.
      Во-вторых, кто сказал, что только внутри одного хоста? Вполне можно ссылаться и на элементы данных других хостов.
      Наконец, в-третьих, мне кажется, что для данной задачи лучше подойдёт аггрегированный тип данных: объединяете ваши хосты в группу хостов, и навешиваете на эту группу хостов аггрегированную проверку с функцией группироваки grpsum и функцией элемента данных last (см. Пример 1 по последней ссылке).
      Я пробовал через агрегированный тип данных, не получается. Хосты и так находятся в группе. Только эти хосты должны быть в этой группе или могут быть и другие на которых не навешан шаблон?
      Я пробовал вот так вот grpsum[NameGroup,key,last,0], вот только что подразумевается под key? я пробовал и имя элемента данных и ключ key ssh.run[Собака,{HOST.IP},22,<encoding>]

      Comment

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

        #4
        Originally posted by volotoviu
        Я пробовал через агрегированный тип данных, не получается. Хосты и так находятся в группе. Только эти хосты должны быть в этой группе или могут быть и другие на которых не навешан шаблон?
        Я пробовал вот так вот grpsum[NameGroup,key,last,0], вот только что подразумевается под key? я пробовал и имя элемента данных и ключ key ssh.run[Собака,{HOST.IP},22,<encoding>]
        Как я понимаю, в группе должны находиться те хосты, которые имеют элемент данных с указанным ключом. Этот ключ должен у них совпадать, и именно этот ключ и указывается параметром key в настройках агрегированного элемента данных.

        Если же ключи элементов данных на разных хостах не совпадают, то остаётся только вариант с вычисляемым элементом данных.

        Comment

        • volotoviu
          Junior Member
          • Jan 2021
          • 8

          #5
          Ключи совпадают, но ключ динамический (ssh.run[Собака,{HOST.IP},22,<encoding>]), как может произойти агрегация если он не знает что есть {HOST.IP}?
          Я специально шаблон , в котором создал item с динамическим IP чтобы его можно было размножить. Как мне теперь это агрегировать? я Пробовал сделать зависимый item, написал ему ключ, и пытался его агрегировать, не работает.

          Comment

          • volotoviu
            Junior Member
            • Jan 2021
            • 8

            #6
            Это работает, если создать зависимый элемент данных.
            Потом добавить в группу только те хосты которые нужно агрегировать.

            Всем спасибо

            Comment

            Working...