Ad Widget

Collapse

Сравнение элемента данных с юникс-времен

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • fors4k3n
    Junior Member
    • Feb 2018
    • 5

    #1

    Сравнение элемента данных с юникс-времен

    На хосте есть файл, с вписанным вручную юникс-временем. Есть необходимость его сравнивать с текущим юникс-временем хоста.
    vfs.file.contents[/opt/ups/1] - получаем дату из файла, тип числовой(целое положительное) единицы измерения - пусто.

    {hostname:system.localtime[utc].now()}-{hostname:vfs.file.contents[/opt/ups/1].now()}>50w

    Триггер сравнения разности между текущим юникс-временем и числом из файла (по факту - юникс-временем), т.е. если прошло 50 недель со времени, указанного в файле, то триггер срабатывает. Но он почему то не срабатывает Проверил на значение в 30 секунд, не сработал триггер.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Originally posted by fors4k3n
    На хосте есть файл, с вписанным вручную юникс-временем. Есть необходимость его сравнивать с текущим юникс-временем хоста.
    vfs.file.contents[/opt/ups/1] - получаем дату из файла, тип числовой(целое положительное) единицы измерения - пусто.
    Для таких величин есть специальная единица измерения (не поверите - unixtime).
    Originally posted by fors4k3n
    {hostname:system.localtime[utc].now()}-{hostname:vfs.file.contents[/opt/ups/1].now()}>50w

    Триггер сравнения разности между текущим юникс-временем и числом из файла (по факту - юникс-временем), т.е. если прошло 50 недель со времени, указанного в файле, то триггер срабатывает. Но он почему то не срабатывает Проверил на значение в 30 секунд, не сработал триггер.
    А такой вариант не устраивает (пример для тридцати секунд)?
    Code:
    {hostname:vfs.file.contents[/opt/ups/1].fuzzytime(30)}=0

    Comment

    • fors4k3n
      Junior Member
      • Feb 2018
      • 5

      #3
      Originally posted by Kos
      Для таких величин есть специальная единица измерения (не поверите - unixtime).
      Юникстайм конвертит в формат yyyy.mm.dd hh:mm:ss. Поэтому не подходит, на выходе получается human-readable дата и из неё неповычитать

      Comment

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

        #4
        Originally posted by fors4k3n
        Юникстайм конвертит в формат yyyy.mm.dd hh:mm:ss. Поэтому не подходит, на выходе получается human-readable дата и из неё неповычитать
        Конвертит в "человеческий" формат только при отображении (например, когда смотришь в Latest data или когда формируется текст оповещения). Внутри хранится (и обрабатывается) как число.

        Comment

        • fors4k3n
          Junior Member
          • Feb 2018
          • 5

          #5
          Originally posted by kos
          Конвертит в "человеческий" формат только при отображении (например, когда смотришь в latest data или когда формируется текст оповещения). Внутри хранится (и обрабатывается) как число.
          А, окей! Буду знать.

          Originally posted by kos
          А такой вариант не устраивает (пример для тридцати секунд)?
          Code:
          {hostname:vfs.file.contents[/opt/ups/1].fuzzytime(30)}=0
          Спасибо, вот так сработало, теперь главное что б с большими числами сработало.

          Comment

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

            #6
            Originally posted by fors4k3n
            А, окей! Буду знать.


            Спасибо, вот так сработало, теперь главное что б с большими числами сработало.
            Вот я, честно говоря, не уверен, поддерживаются ли суффиксы в данном месте. Можно попробовать, поставив, например, fuzzytime(2m) для двух минут. С точным указанием в секундах должно работать без вариантов.

            Comment

            Working...