Ad Widget

Collapse

Разбор данных журнала

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Victor Sklyarov
    Senior Member
    • Apr 2016
    • 184

    #1

    Разбор данных журнала

    Не могу найти, что собой представляет структура данных Журнал. Как извлечь штамп времени? Задача - узнать время простоя из-за отключения эл энергии Это разница между временем в Значении события и временем записи в логе System
    24.06.2022 11:44:30 31.05.2022 10:15:20 EventLog Ошибка 6008 Предыдущее завершение работы системы в 9:45:50 на ‎31.‎05.‎2022 было неожиданным.
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Хороший вопрос. Не придумали триггерную функцию для local time ивентлога винды. И если для обычных логов оно не критично, т.к. local time опционально и парсится из value, то тут этого времени в value нет.

    Comment


    • Victor Sklyarov
      Victor Sklyarov commented
      Editing a comment
      Получается, что добраться до timestamp никак нельзя, кроме как через API во внешней обработке?

    • Semiadmin
      Semiadmin commented
      Editing a comment
      Ну я даже не про timestamp (1-й столбец, время, в которое агент прочитал лог), а про local time (2-й столбец, время события в логе). Тут я и насчет API не уверен, надо проверять

    • Victor Sklyarov
      Victor Sklyarov commented
      Editing a comment
      Исходя из описания протокола экспорта timestamp и есть Local Time В описании элемента данных API по-видимому это свойство mtime
      {"host":"Host A","groups":["Group X","Group Y","Group Z"],"applications":["Log files","Critical"],"itemid":1,"name":"Messages in log file","clock":1519304285,"ns":123456789,"timestamp ":1519304285,"source":"","severity":0,"logeventid" :0,"value":"log file message"}
      clock число Количество секунд начиная с Эпохи к моменту, когда значение было собрано (целочисленная часть).
      ns число Количество наносекунд, которое добавляется к clock, чтобы получить более точное время сбора значения.
      timestamp (только Журнал (лог)) число 0 если недоступно.
      Last edited by Victor Sklyarov; 25-06-2022, 07:45.
  • orbital
    Senior Member
    • Dec 2019
    • 104

    #3
    Можно читать журнал скриптом на Powershell и извлекать любые данные, в том числе и время

    Comment


    • Victor Sklyarov
      Victor Sklyarov commented
      Editing a comment
      Городить пользовательские параметры на PowerShell, распространять на сотни узлов - это крайний случай. Хотелось бы предобработкой.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #4
    Хотелось бы предобработкой.
    Предобработкой вы можете обрабатывать (извините за тавтологию) только значение, но не метаданные. В значение у вас попадает лишь текст (в вашем примере: "Предыдущее завершение работы системы в 9:45:50 на ‎31.‎05.‎2022 было неожиданным."). Если этот текст имеет фиксированный формат, то можно пытаться его парсить и извлекать нужный фрагмент - либо через регулярные выражения, либо с помощью JavaScript (если нужно, скажем, дополнительно преобразовать формат - например, в unixtime).

    Метаданные же для типа данных "Log" доступны либо через соответствующие макросы ({ITEM.LOG.*<1-9>}) при отсылке уведомлений, либо (частично) через соответствующие триггерные функции (logeventid(), logseverity(), logsource(); но функции для таймстэмпа, как справедливо отметил коллега Semiadmin, к сожалению, нет).

    Comment

    Working...