Ad Widget

Collapse

Тонкость в парсинге логов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Spec
    Member
    • Apr 2014
    • 37

    #1

    Тонкость в парсинге логов

    Вопрос следующий:
    Парсится лог, в лог данные пишутся каждую минуту при нормальной работе.
    Если что-то не так - данные не пишутся.
    Так же есть метки в логе которые говорят об ошибках. Например [w] и [e].
    Так вот суть вопроса - как сделать чтобы триггер срабатывал только когда набралось определенное количество ошибок. Ну например, 5 минут подряд идут ошибки. Сейчас триггер срабатывает на каждое появление сообщения об ошибке. Типа суммы какой-то сделать что ли.... Скажем, если 5 минут подряд идут сообщения об ошибке то только тогда срабатывает триггер. Либо Если в сообщениях лога в течении 5 минут попадаются сообщения об ошибках то срабатывает триггер. Любой из вариантов подойдет я думаю.
  • mkolomiets
    Senior Member
    • Jul 2009
    • 134

    #2
    Originally posted by Spec
    Вопрос следующий:
    Парсится лог, в лог данные пишутся каждую минуту при нормальной работе.
    Если что-то не так - данные не пишутся.
    Так же есть метки в логе которые говорят об ошибках. Например [w] и [e].
    Так вот суть вопроса - как сделать чтобы триггер срабатывал только когда набралось определенное количество ошибок. Ну например, 5 минут подряд идут ошибки. Сейчас триггер срабатывает на каждое появление сообщения об ошибке. Типа суммы какой-то сделать что ли.... Скажем, если 5 минут подряд идут сообщения об ошибке то только тогда срабатывает триггер. Либо Если в сообщениях лога в течении 5 минут попадаются сообщения об ошибках то срабатывает триггер. Любой из вариантов подойдет я думаю.
    Вычисляемый айтем с функцией count по фильтру.

    Comment

    • Spec
      Member
      • Apr 2014
      • 37

      #3
      Спасибо за наводку. Попробую реализовать.
      Если есть еще советы - пишите.

      Comment

      • Spec
        Member
        • Apr 2014
        • 37

        #4
        А можно более подробно?
        Т.е. мы получаем данные сразу фильтруя на входе? И потом к этому элементу данных применяем триггер использую функцию count?

        Я насколько знаю в элементе данных нельзя фильтровать. Т.е. из лога будет читаться все напрямую без разбора.
        Вот пример триггера, не рабочий:
        {artem-1:log["C:\Program Files (x86)\XTS\log\xts.log"].str("[I]",180).count(180)}>6
        Можно ли как - то и отфильтровать и сделать условие на количество одновременно?
        Last edited by Spec; 28-05-2014, 04:43.

        Comment

        • Jimson
          Senior Member
          • Jan 2008
          • 1327

          #5
          Originally posted by Spec
          Я насколько знаю в элементе данных нельзя фильтровать.
          Насколько я знаю документацию вы не почитали.
          log[/path/to/file/file_name,<regexp>,<encoding>,<maxlines>,<mode>,<o utput>]
          logrt[/path/to/file/regexp_describing_filename_pattern,<regexp>,<encod ing>,<maxlines>,<mode>,<output>]

          Comment

          • Spec
            Member
            • Apr 2014
            • 37

            #6
            Да, вы правы. Фильтровать можно. Я настроил фильтрацию, теперь отбираются только записи с ошибками. Попробовал сделать триггер, он загорается и не гаснет.
            Триггер:
            {WS-5:log["C:\Program Files\XTS\log\xts.log", "[E]"].count(180)}>1
            А все как я понял потому, что временной интервал берется в истории а не на текущий момент времени.
            Как быть?

            Comment

            • Jimson
              Senior Member
              • Jan 2008
              • 1327

              #7
              Originally posted by spec
              А все как я понял потому, что временной интервал берется в истории а не на текущий момент времени.
              Как быть?
              Этого я уже не знаю, не использую триггеры по сообщениям в журналах. Считаю это не очень правильной затеей именно из-за того что условия выхода из состояния ПРОБЛЕМА обычно не существует.

              Comment

              Working...