WPAR monitoring shell script suggestions needed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting WPAR monitoring shell script suggestions needed
# 1  
Old 10-21-2012
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.

Quote:
lswpar command output below:
root@wparsprd01:/#lswpar
Name State Type Hostname Directory RootVG WPAR
-----------------------------------------------------------------------
usprd02 A S usprd02 /wpars/usprd02 yes
usprd03 A S usprd03 /wpars/usprd03 yes
usprd03 B S usprd03 /wpars/usprd03 yes
usprd03 T S usprd03 /wpars/usprd03 yes
usprd03 D S usprd03 /wpars/usprd03 yes
Quote:
If All WPARs are Active, below output:

====== MMDDYYYY HH:MM ======
==== WPAR Status Check =====

**** WPAR state A-Active:
usprd02 usprd03 usprd04 usprd05 usprd06

All WPARs are in Active State

No Defined/Transition/Broken WPARs

If 2 WPARs are Active, and 3 are Defined/Transition/Broken each, below output:

====== MMDDYYYY HH:MM ======
==== WPAR Status Check =====

**** WPAR state A-Active:
usprd02 usprd03

2 WPARs are in Active State

**** WPAR state D-Defined/T-Transition/B-broken:
usprd04 usprd05 usprd06

3 WPARs are in Defined/Transition/Broken State

Code:
Script code:
lswpar | awk '
/^Name/ { next; }
/^---/ { next; }
{ state[$2] = state[$2] $1 " "; }
END {
printf( "==== WPAR Status Check =====\n" );
printf( "**** WPAR state Active:\n\t%s\n\n", state["A"] );
printf( "**** WPAR state Defined/Transition/broken:\n\t%s %s %s\n", state["D"], state["T"], state["B"] );
}
' | mail -s "WPAR `hostname` Server monitoring Status of Client WPARs" unix_support@xyz.com

Code:
Current Mail Output from script:
==== WPAR Status Check =====
**** WPAR state A-Active:
usprd02 usprd03 
**** WPAR state D-Defined/T-Transition/B-broken:
usprd04 usprd05 usprd06


Last edited by aix_admin_007; 10-21-2012 at 12:09 PM.. Reason: corrected word spelling
# 2  
Old 10-21-2012
Small changes to generate the total counts:

Code:
awk '
/^Name/ { next; }
/^---/ { next; }
{
    state[$2] = state[$2] $1 " ";
    if( $2 == "A" )
        acount++;
    else
        others++;
}
END {
printf( "==== WPAR Status Check =====\n" );
printf( "**** WPAR state Active:\n\t%s\n", state["A"] );
printf( "\t%d WPAR state A-Active\n\n", acount );
printf( "**** WPAR state Defined/Transition/broken:\n\t%s %s %s\n", state["D"], state["T"], state["B"] );
printf( "\t%d WPARs are in Defined/Transition/Broken state\n", others );
}
'

I assume the output from the mail you posted is correct (all were active), and that you're not suggesting that the script isn't putting out incorrect lists; you were only looking to have the additional count information added to the output.
This User Gave Thanks to agama For This Post:
# 3  
Old 10-21-2012
Thanks agama, you are the BEST

Thanks agama, you are the BEST

---------- Post updated at 11:35 AM ---------- Previous update was at 11:27 AM ----------

Hi agama,

I am trying to get the date included in the output, am i doing it correctly, need your suggestion.

Code:
awk '
/^Name/ { next; }
/^---/ { next; }
{
    state[$2] = state[$2] $1 " ";
    if( $2 == "A" )
        acount++;
    else
        others++;
}
END {
printf( "==== WPAR Status Check =====\n" );
printf( "==== `date` ====" );
printf( "**** WPAR state Active:\n\t%s\n", state["A"] );
printf( "\t%d WPAR state A-Active\n\n", acount );
printf( "**** WPAR state Defined/Transition/broken:\n\t%s %s %s\n", state["D"], state["T"], state["B"] );
printf( "\t%d WPARs are in Defined/Transition/Broken state\n", others );
}
'

Quote:
Output:
==== WPAR Status Check =====
==== `date` ====**** WPAR state Active:

Last edited by aix_admin_007; 10-21-2012 at 12:36 PM.. Reason: added more data
# 4  
Old 10-21-2012
Not quite the way to get date in. From inside of awk you cannot use backquotes like that. This is one way which should work with even older awks. I haven't used an AIX system since about 2001, and then only briefly, so I'm not sure what awk you have installed and what it supports.

Code:
 lpar-command | awk '
/^Name/ { next; }
/^---/ { next; }
{
    state[$2] = state[$2] $1 " ";
    if( $2 == "A" )
        acount++;
    else
        others++;
}
END {
printf( "==== WPAR Status Check =====\n" );
printf( "==== %s ====\n", date );
printf( "**** WPAR state Active:\n\t%s\n", state["A"] );
printf( "\t%d WPAR state A-Active\n\n", acount );
printf( "**** WPAR state Defined/Transition/broken:\n\t%s %s %s\n", state["D"], state["T"], state["B"] );
printf( "\t%d WPARs are in Defined/Transition/Broken state\n", others );
}
' date="$(date)" |mail-command

If $(date) doesn't work (I did assume you're using a modern kshell or bash) replace with `date`.

The way this works is to execute the date command in the shell, and supply that to awk as a variable. The original (or very early) awk specification allowed for variables to be defined like this after the programme, and before the list of input files (if any).

Hope this helps.

Last edited by agama; 10-21-2012 at 12:44 PM.. Reason: might need quotes, added them
This User Gave Thanks to agama For This Post:
# 5  
Old 10-21-2012
works great

works great.

Thanks.
This User Gave Thanks to aix_admin_007 For This Post:
# 6  
Old 10-22-2012
script to monitor wpar

Hi agama,

Below script perfectly works, giving below mail output. 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 your suggestions.

Quote:
==== WPAR Status Check =====
====== MMDDYYYY HH:MM ======

**** WPAR state Active:
usprd02 usprd03

2 WPARs are in A-Active State

**** WPAR state Defined/Transition/Broken:
usprd04 usprd05 usprd06

3 WPARs are in D-Defined/T-Transition/B-Broken State


Code:
 lpar-command | awk '
/^Name/ { next; }
/^---/ { next; }
{
    state[$2] = state[$2] $1 " ";
    if( $2 == "A" )
        acount++;
    else
        others++;
}
END {
printf( "==== WPAR Status Check =====\n" );
printf( "==== %s ====\n", date );
printf( "**** WPAR state Active:\n\t%s\n", state["A"] );
printf( "\t%d WPAR state A-Active\n\n", acount );
printf( "**** WPAR state Defined/Transition/broken:\n\t%s %s %s\n", state["D"], state["T"], state["B"] );
printf( "\t%d WPARs are in D-Defined/T-Transition/B-Broken state\n", others );
}
' date="$(date)" |mail-command

# 7  
Old 10-22-2012
Have a go with these small changes:

Code:
if !  lpar-command | awk '
/^Name/ { next; }
/^---/ { next; }
{
    state[$2] = state[$2] $1 " ";
    if( $2 == "A" )
        acount++;
    else
        others++;
}
END {
    printf( "==== WPAR Status Check =====\n" );
    printf( "==== %s ====\n", date );
    printf( "**** WPAR state Active:\n\t%s\n", state["A"] );
    printf( "\t%d WPAR state A-Active\n\n", acount );
    printf( "**** WPAR state Defined/Transition/broken:\n\t%s %s %s\n", state["D"], state["T"], state["B"] );
    printf( "\t%d WPARs are in Defined/Transition/Broken state\n", others );
    exit( others > 0 );
}
' date="$(date)"  >/tmp/mail_txt.$$
then
    mail command -s "subject" user@domain </tmp/mail.txt.$$
fi
cat /tmp/mail_txt.$$ >>/path/logfile

This User Gave Thanks to agama For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Server monitoring using shell script

I want to write a shell script which is used in cron job and it runs every 4 hours to check whether tomcat servers are running or not . If servers are not running , one email should be triggered like alert notification. if servers are Running then no need to print anything. This is what i want... (5 Replies)
Discussion started by: kk123
5 Replies

2. Shell Programming and Scripting

Shell Monitoring Script

Hi guys, I didn't understand this monitoring script request - I don't ask for the script result. If you understand the request, I'm just asking an explanation to simplify it for me. THE Script Request: Our organization keeps various files in directories structured as... (2 Replies)
Discussion started by: moshesa
2 Replies

3. 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

4. Solaris

Need Suggestions to monitoring Scan Rate

Hi All, I need suggestions to monitoring Scan Rate on Solaris Operating System. Any idea? Thanks Edy (5 Replies)
Discussion started by: edydsuranta
5 Replies

5. UNIX for Dummies Questions & Answers

Server Monitoring Suggestions

Hi all - newb here. We're a Windows shop and I'm looking for something that I could stand up to monitor various aspects of our servers. I'm specifically looking for something that can: verify that servers are up verify services are up verify remote sites are up/accessible monitor CPU &... (2 Replies)
Discussion started by: Phylum
2 Replies

6. Shell Programming and Scripting

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. {Heap before gc invocations=46516: PSYoungGen ... (6 Replies)
Discussion started by: kenchen722
6 Replies

7. Shell Programming and Scripting

Opinions/Ideas/Suggestions needed

I'm currently developing a script to clean out certain directories based on age and name. Part of the assignment is to ensure that the cleaning of a directory is done under the user id of the owner (script is running as root). I have a few ideas on how to do this, but I'd like to hear your... (3 Replies)
Discussion started by: pludi
3 Replies

8. Windows & DOS: Issues & Discussions

Backing up virtual machines - opinions/suggestions needed.

Hi, I was required to do a backup of a virtual machine that runs on vmware. The guest operating system is windows, and the host is windows too. I have to backup the whole directory of the virtual machine (say in linux it'll be in /var/lib/vmware/virtual machines/) to a linux server. Initially... (0 Replies)
Discussion started by: 60doses
0 Replies

9. Shell Programming and Scripting

help/suggestions needed with wget

Hi I'm thinking of using the following command to download some music from websites I visit (designated in the mp3blogs.txt file): wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off -i ~/mp3blogs.txt -P ~/Music/WGet My only question is, is there ANY way to either download files that have... (0 Replies)
Discussion started by: gMan2020
0 Replies

10. Shell Programming and Scripting

Weblogic monitoring shell script

HI, I'm new in unix. I would like to know if you have a ready script for monitoring the weblogic and managed servers. I want to have a script that checks the weblogic once in a while if it's up and running. if not running, will send an email to me. any idea? please help me. i will... (4 Replies)
Discussion started by: tungaw2004
4 Replies
Login or Register to Ask a Question