help needed - log file monitoring script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help needed - log file monitoring script
# 1  
Old 06-14-2011
help needed - log file monitoring script

hi Gurus,
Need to pick your brains on this minor script project.
I would like to continuously monitor a log file with sample log messages as below, and if PSOldGen percentage is either 99% or 100% for consecutively 10 times, alert someone.

Code:
{Heap before gc invocations=46516:
 PSYoungGen      total 63616K, used 54426K [0xcdc00000, 0xd2c00000, 0xf8800000)
  eden space 48064K, 100% used [0xcdc00000,0xd0af0000,0xd0af0000)
  from space 15552K, 40% used [0xd0d20000,0xd1356b38,0xd1c50000)
  to   space 15040K, 0% used [0xd1d50000,0xd1d50000,0xd2c00000)
 PSOldGen        total 892928K, used 869520K [0x78400000, 0xaec00000, 0xcdc00000)
  object space 892928K, 97% used [0x78400000,0xad5243f8,0xaec00000)
 PSPermGen       total 786432K, used 185250K [0x48400000, 0x78400000, 0x78400000)
  object space 786432K, 23% used [0x48400000,0x538e8b10,0x78400000)
1016119.682: [GC [PSYoungGen: 54426K->6458K(58752K)] 923947K->875979K(951680K), 0.0316028 secs]
Heap after gc invocations=46516:
 PSYoungGen      total 58752K, used 6458K [0xcdc00000, 0xd2800000, 0xf8800000)
  eden space 47808K, 0% used [0xcdc00000,0xcdc00000,0xd0ab0000)
  from space 10944K, 59% used [0xd1d50000,0xd239eb68,0xd2800000)
  to   space 14592K, 0% used [0xd0b80000,0xd0b80000,0xd19c0000)
 PSOldGen        total 892928K, used 869520K [0x78400000, 0xaec00000, 0xcdc00000)
  object space 892928K, 97% used [0x78400000,0xad5243f8,0xaec00000)
 PSPermGen       total 786432K, used 185250K [0x48400000, 0x78400000, 0x78400000)
  object space 786432K, 23% used [0x48400000,0x538e8b10,0x78400000)
}

In the sample above, the percentage I'm interested in is that 97% immediately after the PSOldGen line. I can't grep for "object space" because that would give me PSPermGen, the 23% line as well. I don't care about that.
How can I read a line with the exact text "PSOldGen" and get that percentage on the very next line?
Would I be able to accomplish my objectives in one script? Or should I direct the percentage output to some other file and create another script that monitors that file?
If the script can be done purely in shell (ksh or bash), that'd be great, but other implementations like in python or perl are also cool.
Any pointers would be much appreciated. Thanks in advance.

Last edited by pludi; 06-14-2011 at 09:06 AM..
# 2  
Old 06-14-2011
check the below code is working or not...

Code:
grep -A 1 "PSOldGen" filename

if the above code is giving the output (with the next line ).. then we can easily count the no. of occurance which has the value more than 98

Last edited by itkamaraj; 06-14-2011 at 05:33 AM..
This User Gave Thanks to itkamaraj For This Post:
# 3  
Old 06-14-2011
How about this?
Code:
awk '/^PSOldGen/{getline;match($0,/[0-9]*\%/);if(int(substr($0,RSTART,RLENGTH-1)) > 98 ){print $0}}' filename

This User Gave Thanks to pravin27 For This Post:
# 4  
Old 06-14-2011
This will print only the numbers you are expected to see.
As per your input it should print 97 twice.
From there its fairly easy to do the calculation yourself.

Code:
 
perl -0lne 'BEGIN{$,="\n"}@arr=(/PSOldGen.+\nobject space .+(\d{2,3})%.+\n/g); print @arr' inputFile

This User Gave Thanks to getmmg For This Post:
# 5  
Old 06-14-2011
Thank you all!
# 6  
Old 06-14-2011
Code:
nawk '/PSOldGen/ {getline;{gsub(/%/,"");print $4}}' inputfile
97
97

# 7  
Old 06-14-2011
Code:
awk '/PSOldGen/ { getline;if (int($4)>=99) {i++} else {i=0}
                  if (i>=10) {print "Something wrong, be careful";i=0 }
                 }' infile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell script for continuously monitoring log file

Hi I have written below log monitoring script to egrep multiple words and redirect the output to a text file and its working fine but I want to add some more below given functionality to it, which is very advance and im not very good in it, so please help if you can :) I am egrepping all the... (1 Reply)
Discussion started by: scazed
1 Replies

2. UNIX for Beginners Questions & Answers

Monitoring script for Log file

Hi, Iam new to unix , plz help me to write below script. I need to write a script for Monitoring log file when any error occurs it has to send a mail to specified users and it should be always pick latest error not the existing one and the script should be able to send mail all errors (more... (1 Reply)
Discussion started by: vij05
1 Replies

3. Shell Programming and Scripting

Monitoring script for a log file

Hi, I need to get a script working to monitor a log file and throw an alert via mailx as soon as a particular error is encountered. I do not want repeatative email notifications of same error so simply cat logfile and grepping the error would not work. Here is what i planned but it seems... (2 Replies)
Discussion started by: roshan.171188
2 Replies

4. Shell Programming and Scripting

Help needed to create a UNIX Space monitoring script

Hi All, Its urgent.. pls help me out.. I want to create a KSH which should generate a report with the list of users and the files larger than 5 GB created by them in a direcorty and send autogenerated e-mail to them. my input would be users list,directory path and the file size (say 5 GB) ... (11 Replies)
Discussion started by: anman0523
11 Replies

5. Shell Programming and Scripting

Help needed: script for timely average from log file

Please repost your query: Help needed: script for timely average from log file - Thank you. (0 Replies)
Discussion started by: mkfs
0 Replies

6. Shell Programming and Scripting

script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions. ... (4 Replies)
Discussion started by: aix_admin_007
4 Replies

7. Shell Programming and Scripting

WPAR monitoring shell script suggestions needed

Hi All, This is for WPAR monitoring shell script, earlier opened thread was closed, had to open a new thread, as suggested I have used script as below, But am trying to get the output in below format, need suggestions with it. Below is the lswpar output, required output format. ... (7 Replies)
Discussion started by: aix_admin_007
7 Replies

8. Shell Programming and Scripting

Log folder size monitoring script

Hi All, Can anyone refer to me a readymade script for the purpose of log folder size monitoring script. Example : I have a log folder of size 10 G, and as the logs keep accumulating the folder gets full and i have to manually zip/remove the files in order to keep the server running. Something... (1 Reply)
Discussion started by: findjai
1 Replies

9. Shell Programming and Scripting

Online log monitoring script

#!/bin/bash tail /oracle/app/admin/ABC/bdump/alert_ABC.log >> tempoutput& Error=`egrep 'error|warn|critical|fail|ORA-1683' tempoutput` echo "$Error" |mailx -s "ABC Error " ABCD@domain.lk cat /dev/null > tempoutput I wrote this script and put in to cronjob every 5 min. so every 5... (4 Replies)
Discussion started by: hishanms
4 Replies

10. Shell Programming and Scripting

Monitoring log file

Hi, I ned to monitor the tomcat log file called "catalina.out" for "Out of memory" error. the script should monitor this file and send us the mail as soon as it finds the string "Out of memory" in the file. can ypu suggest me which is the best way to do this? (4 Replies)
Discussion started by: shivanete
4 Replies
Login or Register to Ask a Question