Ad Widget

Collapse

Количество строк в логах

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rekby
    Member
    • Jul 2010
    • 91

    #1

    Количество строк в логах

    Надо анализировать логи с ротацией по количеству запросов в секунду (логи front-eng http-сервера), при этом содержимое лога передавать, анализировать и хранить в заббикс не надо, нужно знать только количество новых строк, это можно реализовать средствами агента, без внешних скриптов?
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #2
    Банальный UserParameter с 'wc -l', а элемент данных в виде дельты (если строк в секунду надо, то дельта по времени).

    Comment

    • rekby
      Member
      • Jul 2010
      • 91

      #3
      wc -l это на случай если других решений нет - всё же не хочется целиком читать лог каждую минуту, он может быть большим (несколько гигабайтов).
      И то наверное предпочту свой скрипт, который позицию в логе запоминать будет.

      Обрабатывается он конечно быстро, но при этом забивается дисковый кеш.

      + Если на сервер пойдет HTTP-флуд - лог может быстро вырасти до десятков гигабайтов и тогда он и в кеш уже не поместитсяи парсится будет медленно и заодно всё остальное из кеша вытеснит.

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        можно тайлить лог и посылать на вход скрипту. Скрипт в первом потоке считает колво строк, а во втором засылает цифру траппером

        Comment

        • gescheit
          Senior Member
          • Jul 2007
          • 156

          #5
          Тайлить даже с предыдущей позиции будет тяжко в случае быстрого увеличения объема. Обязательно нужно знать количество строк? Может просто объем смотреть? А еще можно глянуть в сторону inotify, если это линукс.

          Comment

          • yukra
            Senior Member
            • Apr 2013
            • 1359

            #6
            Originally posted by gescheit
            Тайлить даже с предыдущей позиции будет тяжко в случае быстрого увеличения объема. Обязательно нужно знать количество строк? Может просто объем смотреть? А еще можно глянуть в сторону inotify, если это линукс.
            Тайл ведь будер работать в реалтайме, а значит в кэше (тайлить постоянно, значения отсылать переодически). inotify это "ок" при редких изменениях. Использовать inotify для постоянно дозаписываемого файла - плохая идея по моему. Будет генерироваться куча уведомлений которые нужно будет дополнительно обрабатывать что создаст лишнюю нагрузку.

            Comment

            Working...