in reply to Re: Parsing a specific section of a log file
in thread Parsing a specific section of a log file

but the goal is to check every 5 minutes for 30 mins back :)

so if for example now is 17:15 you want to read the file back to 16:45 and note if theres a string you are interested in

and at 17:20 you are supposed to check back to the 16:50 timestamp and note if theres at least 1 string in that timeframe

and if i understood you correctly (perhaps i didnt ? ) your solution would only "run" (the logical AND) every 30 mins

and to further complicate matters, this script cant run as a daemon/process that continously runs :)

this is a Hobbit (monitoring tool like BigBrother, Nagios, etc) check, and as such can only run when Hobbit execs it (each 5 mins in this case) :)

  • Comment on Re^2: Parsing a specific section of a log file

Replies are listed 'Best First'.
Re^3: Parsing a specific section of a log file
by jethro (Monsignor) on Mar 05, 2007 at 04:13 UTC
    No, my solution would make a logical AND every 5 minutes. I'll elaborate:

    At 17:20 your program would get called and would read in a small file (lets call it /tmp/last). In that file would be stored
    1) a file positon from tell
    2) two boolean values for the time slot 16:50 to 16:55 (note the difference to above)
    3) two boolean values for the time slot 16:55 to 17:00
    ...
    6) two boolean values for the time slot 17:10 to 17:15

    Now your program would open the logfile, seek to the file position from 1), read the logfile from there and calculate the two boolean values (is there a success line? is there a non-zero value ?). This would be the result for time slot 17:15 to 17:20

    Now the program can calculate the endresult for the half hour by ANDing the values from 2) to 6) and the newly calculated values.

    Finally the program overwrites /tmp/last and stores the following into it:
    1) the file position from tell
    2) two boolean values for the time slot 16:55 to 17:00
    2) two boolean values for the time slot 17:00 to 17:05
    ...
    6) the newly calculated boolean values for the time slot 17:15 to 17:20

    After 5 minutes your program gets called and does all of the above again. The temporary file is like a pipeline storing only the last 5 results, shifting out an old one and getting a new one.