Ad Widget

Collapse

Вопрос по vfs.file.regexp

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • holamedia
    Junior Member
    • Dec 2020
    • 3

    #1

    Вопрос по vfs.file.regexp

    Как можно мониторить последние три строки файла с vfs.file.regexp? Файл постоянно перезаписывается, то есть как лог не катит.
    можно ли с vfs.file.regexp сделать так чтобы он смотрел последние 3 строки?
    я не до конца понял как сделать начальную строку last(-3) а не конкретным значением.

    Спасибо.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Для метрики vfs.file.regexp нет возможности указать условие "смотри только последние три строки файла". Но есть возможность указать, например: "просматривай в файле строки с пятой по десятую".
    Возвращаться всегда будет только одна строка - первая из тех, которые соответствуют заданному регулярному выражению; а если соответствия не найдено, то вернётся пустая строка.
    Поэтому если файл регулярно перезаписывается, а интересующее вас выражение находится в конце файла (но больше нигде не встречается), то можно спокойно просматривать хоть весь файл.

    Если же в файл данные таки дописываются в конец, то вполне можно рассматривать его как лог и использовать метрику log[...] (если имя файла фиксированное) или logrt[...] (если меняется). В обоих случаях при перезаписи файла он будет заново перечитан агентом с самого начала.

    Comment

    • holamedia
      Junior Member
      • Dec 2020
      • 3

      #3
      Привет Кос, Спасибо. Проблема то в том и заключается, что данные перезаписываются в тот же файл (overwritten) и размер разный, количество строк разное и данные в середине файла другие, которые иногда повторяются, поэтому мне regexp и выводил не ту строку постоянно. Но ответ понятен, я думал может я не правильно понял мануал. Будем думать как сделать. Спасибо.

      Comment

      Working...