Ad Widget

Collapse

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

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Sept
    Junior Member
    • May 2018
    • 2

    #1

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


    Суть простая.
    Есть два элемента данных, собираемых с одного узла в асинхронном режиме:
    {host:service1.last()}
    {host:service2.last()}
    Есть триггер, который обрабатывает оба элемента, и который должен срабатывать в зависимости от САМОГО СВЕЖЕГО значения.
    Разумеется, проверка триггера происходит в тот момент, когда обновляется значение одного из элементов, а значение второго на тот момент можно считать устаревшим.

    Как определить, обновление какого из элементов вызвало проверку триггера?
    Ну или как в триггере определить метку времени каждого элемента?
    Last edited by Sept; 06-05-2018, 04:23.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Есть полезная триггерная функция count(), с помощью которой можно косвенно определить "свежесть" последних данных. Например, если у Вас данные поступают с интервалом, скажем, 5 минут, то условно "свежими" можно считать данные, пришедшие не менее 30 секунд назад:
    Code:
    {host:service1.count(30)}>0 and {host:service1.last()}>N and/or ...
    при этом иногда всю логику удаётся засунуть в эту функцию, без дополнительных функций last():
    Code:
    {host:service1.count(30,N,gt)}>0 and/or ...

    Comment

    • Sept
      Junior Member
      • May 2018
      • 2

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

      Comment

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

        #4
        Да, в отличие от nodata(), функция count() вычисляется только при получении новых значений.

        Comment

        Working...