Ad Widget

Collapse

График доступности хостов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dima1208
    Junior Member
    • Sep 2018
    • 15

    #1

    График доступности хостов

    Здравствуйте.
    Я новичок в заббиксе. Создал группу хостов. Как можно сделать круговой график, чтобы в нем отображались зеленым хосты в сети, а красным не в сети? На хостах агенты стоят.
    Заранее спасибо.
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Иначе говоря, нужна круговая диаграмма (пирог), у которой зеленый сектор отображает % доступных хостов в группе, а красный - недоступных?

    Comment


    • dima1208
      dima1208 commented
      Editing a comment
      Да именно, так)
  • dima1208
    Junior Member
    • Sep 2018
    • 15

    #3
    Originally posted by Semiadmin
    Иначе говоря, нужна круговая диаграмма (пирог), у которой зеленый сектор отображает % доступных хостов в группе, а красный - недоступных?
    Да, именно так)

    Comment

    • Semiadmin
      Senior Member
      • Oct 2014
      • 1625

      #4
      Я бы использовал для получения статуса агента внутреннюю проверку zabbix[host,agent,available]. Для этой проверки можно сделать вычисляемые (а если постараться - даже зависимые) айтемы для каждого из 3 возможных статусов, принимающие 0 или 1. После этого число доступных/недоступных/с неизвестным статусом хостов в группе считал бы агрегированными проверками grpsum, отдельно для разных статусов. Эти агергированные проверки вывел бы на круговую диаграмму.

      Comment

      • dima1208
        Junior Member
        • Sep 2018
        • 15

        #5
        Originally posted by Semiadmin
        Я бы использовал для получения статуса агента внутреннюю проверку zabbix[host,agent,available]. Для этой проверки можно сделать вычисляемые (а если постараться - даже зависимые) айтемы для каждого из 3 возможных статусов, принимающие 0 или 1. После этого число доступных/недоступных/с неизвестным статусом хостов в группе считал бы агрегированными проверками grpsum, отдельно для разных статусов. Эти агергированные проверки вывел бы на круговую диаграмму.
        Я бы тоже делал именно так, если бы знал как)) Если вам не трудно, можете по шагам написать, что нужно сделать?

        Comment

        • Semiadmin
          Senior Member
          • Oct 2014
          • 1625

          #6
          Да я вроде бы в правильном порядке шаги расставил).
          Попробуйте начать идти этим путем, сверяясь с документацией и проверяя в Latest data, что получается на каждом шаге. Если возникнут проблемы - спрашивайте, отвечу.

          Comment

          • dima1208
            Junior Member
            • Sep 2018
            • 15

            #7
            Originally posted by Semiadmin
            Да я вроде бы в правильном порядке шаги расставил).
            Попробуйте начать идти этим путем, сверяясь с документацией и проверяя в Latest data, что получается на каждом шаге. Если возникнут проблемы - спрашивайте, отвечу.
            По ходу я тупой. Пытаюсь создать элемент данных вычисляемый. Ключ: agent.ping, Формула: agent.ping.nodata(15m)=1, тип: числовой. Имя OFFLINE.
            Не удалось добавить элемент данных. Элемент данных с ключом "agent.ping" уже существует.
            Капец как все сложно((

            Comment

            • Semiadmin
              Senior Member
              • Oct 2014
              • 1625

              #8
              Оно всегда непросто, если знакомство с продуктом начинать с создания нестандартных решений)
              Ключ должен быть уникальным, agent.ping уже есть, вы для него пытаетесь вычисляемый сделать, придумайте что-то свое.
              Синтакис формул для вычисляемых элементов несколько отличается от синтаксиса аналогичных триггерных выражений.
              В вашем случае формула для элемента, возвращающего 1 при наличии данных от agent.ping и 0 при их отсутствии, будет nodata("agent.ping",15m)=0. Соответственно, для элемента с противоположным смыслом, nodata("agent.ping",15m)=1, или даже просто nodata("agent.ping",15m)

              Comment

              • dima1208
                Junior Member
                • Sep 2018
                • 15

                #9
                Originally posted by Semiadmin
                Оно всегда непросто, если знакомство с продуктом начинать с создания нестандартных решений)
                Ключ должен быть уникальным, agent.ping уже есть, вы для него пытаетесь вычисляемый сделать, придумайте что-то свое.
                Синтакис формул для вычисляемых элементов несколько отличается от синтаксиса аналогичных триггерных выражений.
                В вашем случае формула для элемента, возвращающего 1 при наличии данных от agent.ping и 0 при их отсутствии, будет nodata("agent.ping",15m)=0. Соответственно, для элемента с противоположным смыслом, nodata("agent.ping",15m)=1, или даже просто nodata("agent.ping",15m)
                Спасибо, элементы данных получились, в обзоре показывают 0 и 1 соответственно. Теперь нужно создать еще один элемент типа внутренний заббикс с ключом zabbix[host,agent,available], а потом еще два ОНЛАЙН и ОФФЛАЙН с типом "заббикс агрегированный" и там в ключах прописывать grpfunc?

                Comment

                • Semiadmin
                  Senior Member
                  • Oct 2014
                  • 1625

                  #10
                  Нет, zabbix[host,agent,available] - это альтернатива agent.ping. Я предлагал этот путь, вы пошли другим. Оба варианта имеют свои + и -. Теперь надо создать 2 агрегированных айтема для подсчета сумм по всей группе.

                  Comment

                  • dima1208
                    Junior Member
                    • Sep 2018
                    • 15

                    #11
                    Originally posted by Semiadmin
                    Нет, zabbix[host,agent,available] - это альтернатива agent.ping. Я предлагал этот путь, вы пошли другим. Оба варианта имеют свои + и -. Теперь надо создать 2 агрегированных айтема для подсчета сумм по всей группе.
                    в ключе агрегированного айтема надо написать grpsum[моя_группа_хостов, мой_айтем, sum, время_проверки]? А потом к графику привязать эти 2 агрегированных айтема? Я правильно понял? Или вместо sum нужен count?
                    Я так сделал, создал график, но при переходе в мониторинг--графики я могу посмотреть график по отдельному хосту только.

                    Comment

                    • Semiadmin
                      Senior Member
                      • Oct 2014
                      • 1625

                      #12
                      нет, grpsum["моя_группа_хостов","мой_айтем",last]

                      Comment

                      • dima1208
                        Junior Member
                        • Sep 2018
                        • 15

                        #13
                        Большое вам спасибо за помощь, еще подскажите, как прикрутить это к графику? Я его создал в шаблоне, добавил два элемента графика "cash_hosts: host_online" и "cash_hosts: host_offline". Перехожу в мониторинг-графики, выбираю свою группу, узел сети: все, а в поле "график" куча этих самых графиков для каждого хоста. А как сделать один график на все хосты - не пойму.

                        Comment

                        • Semiadmin
                          Senior Member
                          • Oct 2014
                          • 1625

                          #14
                          Не добавлять в шаблон, а сделать виртуальный хост и на нем агрегированные айтемы и графики. Можно даже не включать его в эту группу.

                          Comment

                          • dima1208
                            Junior Member
                            • Sep 2018
                            • 15

                            #15
                            Originally posted by Semiadmin
                            Не добавлять в шаблон, а сделать виртуальный хост и на нем агрегированные айтемы и графики. Можно даже не включать его в эту группу.
                            Опять ступор) Виртуальный хост, это просто любой хост как я понял. Я создал хост с адресом 127.0.0.1. В нем создал все айтемы и график. Теперь график показывает Онлайн 1 (100%), офлайн 0 (0%), хотя в группе сейчас 400 хостов, много из них не в сети.

                            Comment

                            Working...