Ad Widget

Collapse

items ping

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • djin59
    Member
    • Jul 2023
    • 86

    #1

    items ping

    Добрый денЬ! zabbix 7.0.19
    подскажите пожалуйста
    как создать элемент данных (предположу, что вычисляемый) который будет в трех состояниях
    Пинг есть, и он НЕ пропадал за последние 7 минут ЗЕЛЕНЫЙ
    Пинг есть, но он пропадал за последние 7 минут ЖЕЛТЫЙ
    Пинга нет, его нет более 7 минут, КРАСНЫЙ
    и где создать в items шаблона или в items узла
    ???
  • djin59
    Member
    • Jul 2023
    • 86

    #2

    пробовал так сделать (на узле):
    Click image for larger version

Name:	image.png
Views:	50
Size:	43.5 KB
ID:	508197

    Comment

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

      #3
      В формуле вычисляемых элементов данных (ссылка) можно использовать любые поддерживаемые функции (ссылка), но функции if() среди них нет.
      Я бы делал сочетание вычисляемого элемента данных (где в качестве значения указал бы простую формулу count(), возвращающую количество успешных пингов за последние N минут), и предобработку с шагом "JavaScript", в котором уже (со всеми доступными этому языку if'ами) сравнивать это значение и возвращать нолик, единичку либо двоечку в зависимости от того, вернулись все пинги, вернулись частично либо не вернулись вообще.

      Comment


      • djin59
        djin59 commented
        Editing a comment
        разобрался, спасибо

        count(/{HOST.HOST}/png20,5m,,1)


        сделал
        предобработка:
        var success_count = parseInt(value);
        var total_expected = 5; // Ожидаемое количество пингов за 5 минут

        if (success_count === total_expected) {
        return 0; // ЗЕЛЕНЫЙ
        } else if (success_count >= 1 && success_count <= 4) {
        return 1; // ЖЕЛТЫЙ
        } else if (success_count === 0) {
        return 2; // КРАСНЫЙ
        }
        Last edited by djin59; 20-10-2025, 11:11.
    • djin59
      Member
      • Jul 2023
      • 86

      #4
      и все же
      вообщем проблемка
      имеется вычисляемый элемент данных count(/{HOST.HOST}/ping20,5m,,1) с предобработкой:

      var success_count = parseInt(value);
      var total_expected = 5; // Ожидаемое количество пингов за 5 минут

      if (success_count === total_expected) {
      return 0; // ЗЕЛЕНЫЙ
      } else if (success_count >= 1 && success_count <= 4) {
      return 1; // ЖЕЛТЫЙ
      } else if (success_count === 0) {
      return 2; // КРАСНЫЙ
      }

      и основной элемент от которого вычисления ping20
      Click image for larger version  Name:	image.png Views:	0 Size:	25.1 KB ID:	509547
      ​но при этом вычисляемый в желтом состоянии - хотя такого быть не должно т.к. основной элемент: пинги есть все норм!
      Click image for larger version  Name:	image.png Views:	0 Size:	25.8 KB ID:	509548почему так происходит???​
      Last edited by djin59; 08-12-2025, 08:45.

      Comment

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

        #5
        Вы нигде не указали, какой элемент данных используется у вас в качестве основного. Скажем, метрика agent.ping (ссылка) всегда возвращает единицу, и на графике никаких других значений (вроде нуля) не будет; максимум, что может быть - это разрывы линии на графике в те моменты, когда единица не вернулась (но на это полагаться нельзя, т.к. вид графика зависит от многих факторов - в частности, выбранного периода и даже релиза версии Zabbix).
        Проверьте поступившие данные за это время на экране Последние данные (Latest data) -> график по этому основному элементу данных, выберите нужный интервал времени (с некоторым запасом), а затем переключите в правом верхнем углу показ с графика на конкретные значения ("View as: Graph" -> "View as: Values"). Вероятнее всего, за момент времени 09:23-09:27 у вас и в самом деле были пропадания этих пингов.

        Comment

        • djin59
          Member
          • Jul 2023
          • 86

          #6
          не понял Вас , как зависимый элемент от основного может выдать информацию другую ?зависимый просто считаем последние 5 пингов если есть пропажа от 1 до4 то желтый все 5 пропали то красный все есть зеленый

          график привел вверху элемента (данные есть)
          UserParameter=png20,powershell -file "c:\zabbix\20.ps1"

          Click image for larger version  Name:	image.png Views:	0 Size:	38.6 KB ID:	509556
          последние 500 значений:


          Click image for larger version  Name:	image.png Views:	0 Size:	26.7 KB ID:	509557
          Last edited by djin59; 08-12-2025, 09:47.

          Comment

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

            #7
            Originally posted by djin59
            не понял Вас , как зависимый элемент от основного может выдать информацию другую ?
            [...]
            график привел вверху элемента (данные есть)
            Моя мысль была как раз в том, что график не всегда может подтверждать, что данные есть; нужно смотреть на сами данные.
            Тот фрагмент, что вы привели (выдержка из последних 500 значений) показывает, что вы смотрите туда, куда надо, только не за тот период (вас интересует промежуток 09:15 - 09:30).

            Comment

            • djin59
              Member
              • Jul 2023
              • 86

              #8
              В том и дело, что кубики у меня Желтые а потерь по основному элементу НЕТ
              могу грешить на предобработку, но вроде как она нормально отрабатывала ... возможно проблемы после обновления начались с 20 на 21 версию
              08.12.2025 09:31:26 1
              08.12.2025 09:30:26 1
              08.12.2025 09:29:25 1
              08.12.2025 09:28:26 1
              08.12.2025 09:27:25 1
              08.12.2025 09:26:25 1
              08.12.2025 09:25:26 1
              08.12.2025 09:24:26 1
              08.12.2025 09:23:26 1
              08.12.2025 09:22:25 1
              08.12.2025 09:22:23 1
              08.12.2025 09:21:26 1
              08.12.2025 09:20:25 1
              08.12.2025 09:19:25 1
              08.12.2025 09:18:25 1
              08.12.2025 09:17:26 1
              08.12.2025 09:16:26 1
              08.12.2025 09:15:26 1
              08.12.2025 09:14:26 1
              08.12.2025 09:13:26 1
              08.12.2025 09:12:26 1
              08.12.2025 09:11:26 1
              08.12.2025 09:10:26 1
              08.12.2025 09:09:26 1
              08.12.2025 09:08:26 1
              и до сих пор он желтый хотя

              p/s на 1 сервере вообще три аналогичных пинга при этом 2 отражают реальную картинку а 1 также не верно отражает , и потерь нет! Просто какой-то абсурд...
              Last edited by djin59; 08-12-2025, 11:21.

              Comment

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

                #9
                Я вижу несколько возможных причин такого поведения.

                Первая - скорее, теоретическая, но возможная. Глядя на список полученных значений и время сбора этих значений, видно, что, хотя интервал опроса и задан "1 минута", но выдерживается не всегда точно: как правило, это 60 секунд, иногда может быть 59 или 61 секунда (а иногда разброс и больше). И если проверка вычисляемого элемента данных попадёт на момент, скажем, 09:25:25, то за последние 5 минут (т.е. начиная с 09:20:25) будет подсчитано аж 6 значений (и ваш вычисляемый элемент данных не вернёт ничего), а в какой-то момент будет подсчитано только 4 значения, а тогда вычисляемый элемент данных вернёт единицу вместо нуля.

                Вторая причина - то, что пинг у вас оформлен как активный элемент данных. С одной стороны, это хорошо и правильно (меньше нагрузка на сервер), но с другой стороны - нужно учесть, что результаты активных проверок кэшируются агентом и при перебоях со связью отсылаются на сервер, как только связь востановится. Другими словами, легко может быть ситуация, когда ваша PowerShell-проверка отрабатывает успешно и возвращает единицу, но агент не отсылает эти данные сразу (поскольку кэширует их у себя, по умолчанию - до пяти секунд, ссылка), а при попытке переслать делает это не с первой попытки, а позже. В итоге данные на Zabbix-сервер, в конечном итоге, доходят, но с задержкой (допустим, в полминуты), при этом они проштампованы тем временем, когда агент их собирал (а не тем, когда они дошли реально). А за эти полминуты вычисляемый элемент данных на сервере мог сработать, посчитать количество пришедших за последние 5 минут пингов, увидеть вместо ожидаемых пяти только четыре, и выдать результат "1" вместо "0".

                Наконец, третья причина - банальное отсутствие синхронизации времени между сервером Zabbix и агентами. Сейчас мне эта причина кажется даже наиболее вероятной. Допустим, время на агенте на минуту отстаёт от времени на сервере - в этом случае все пересылаемые данные, даже если никаких проблем со связью нет и они доходят до сервера мгновенно, будут иметь штамп времени на минуту раньше. И при подсчёте количества значений "за последние 5 минут" у нас их всегда будет только 4.

                Comment

                • djin59
                  Member
                  • Jul 2023
                  • 86

                  #10
                  спасибо, ситуация исправилась после чего?Ё!?? не понятно... делал только ребут сервера Zabbix
                  варианты Ваши, пока не один , не могу исключить... будем наблюдать.

                  Comment

                  Working...