Re[2]: log_scan

From: Lobahin Ilya <ex_corsar_at_DOMAIN_REMOVED>
Date: Sat, 16 Sep 2006 00:16:24 +0400

Здравствуйте NetXMS Users - Russian!
30 августа 2006 г. вы писали.

AK> LogScan.FindString() принимает два параметра: имя файла и подстроку для
AK> поиска. Если подстрока найдена, то этот вызов вернет полную строку из
AK> файла, в которой найдена подстрока и завершится. Текущая позиция в файле
AK> сохраняется между запросами, если размер файла меньще позиции - считаем,
AK> что это был log rotate и начинаем с начала файла.

У меня довольно давно реализован подобный log-whatcher на bash-е.
За последние пару лет наблюдений случаются моменты:
а) размер файла не изменился, но содержимое изменилось. (к примеру
string1 изменился на string2)
б) лог отротейтился и за время между чтением его из DCI - вырос, по
сравнению с доротейченным логом. т.е. в старом логе было 10 строчек,
потом, после ротейта он резко стал 15 строчек. Мы естественно обрабатываем
последние 5 строчек.

Вариант (а) можно вылечить чтением даты изменения файла и сравнения с
предыдущим значением.
По поводу варианта (б) можно только советовать смотреть с сторону
tail, который (с опцией -f) понимает, что файл отротейтился. Может
конечно постоянно заниматься чтением из файла, а серверу отдавать
информацию пачками. Сырцы не копал, может так уже и сделано? =)

>> LogScan.FindString на linux-агенте.
>> Какое предназначение этой функции?

----------------
С уважением.
Lobahin Ilya
Received on Fri Sep 15 2006 - 23:16:24 EEST

This archive was generated by hypermail 2.2.0 : Fri Sep 15 2006 - 23:17:51 EEST