10-07-2009
Shell Script - Generate SNMP Traps
Good morning to you all
Iīm kinda of a noob to scripting, and my knowledge is still very basic: anyway, Iīve developed a small .sh script with the following purpose:
- it will check a result file, checking if it has any values, or if itīs empty
- if itīs empty it will send an email
What i wanted to do, is eliminate the email part and generate some kind of snmp trap to be used for Nagios for instance, and create an alarm.
Does anybody know how to do that? Any help is apreciated. Thkx
Here goes the code:
##############################################
cat /var/www/monitor/scripts/TestProbes/probelist.txt | while read probe
do
if [[ -s /var/www/monitor/scripts/TestProbes/Probes/"$probe".txt ]] ; then
echo "Probe has data at $(date +%Y-%m-%d) $(date +%H:%M:%S)" > /var/www/monitor/scripts/TestProbes/results.txt
else
SUBJECT="No\\ Service\\ at\\ "$probe" "
EMAIL="XXXX@XXXX.com"
EMAILMESSAGE="mail"
echo "====================================================
A "$probe" ISNīT WORKING:"> $EMAILMESSAGE
echo "$(date -d "-3 hours" +%Y-%m-%d) $(date -d "-1 hours" +%H:%M:%S)
====================================================" >>$EMAILMESSAGE
su -c "/usr/bin/mail -s $SUBJECT $EMAIL < $EMAILMESSAGE" Probe_Tester
fi
rm /var/www/monitor/scripts/TestProbes/Probes/"$probe".txt
touch /var/www/monitor/scripts/TestProbes/Probes/"$probe".txt
chmod 777 /var/www/monitor/scripts/TestProbes/Probes/"$probe".txt
done
##############################################
---------- Post updated 10-07-09 at 04:31 AM ---------- Previous update was 10-06-09 at 06:21 AM ----------
Anyone?
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
Just wondering if anyone knows how can I send an SNMP Trap in Unix Environment(AIX) to another machine (NT/Ux) after having activated the SNMP in the AIX.
Can this be done by using a single command line or do I have to write a script for it?
Thanks in advance for your advices.
:) (1 Reply)
Discussion started by: goliath
1 Replies
2. Solaris
Hello
I am trying to check that SNMP traps could be sent from one server to other .
I am running this command from receiving server to see it can receive it
/usr/sbin/snoop udp port 162
and on the sending end I am running this commad
cst051 UDP D=162 S=1480 LEN=120
but i am... (1 Reply)
Discussion started by: Ajwat
1 Replies
3. UNIX for Dummies Questions & Answers
Hello!
I would like to generate an xml file from the output of various commands generated from within a shell script (some will be in CDATA).
At the moment the only solution I have come up with is echoing xml tags around the commands eg.
echo "<bitism>" >> outputfile
/usr/sbin/prtconf... (1 Reply)
Discussion started by: speedieB
1 Replies
4. Linux
Can anybody please tell me how to configure linux to receive snmp traps from a windows server? I am not able to receieve snmp traps on unix machines specifically linux and solaris. I have tried starting snmptrapd service on linux but it didn't work. Is there anything special that I have to do on... (2 Replies)
Discussion started by: iamtulipin
2 Replies
5. Solaris
Hi,
I want the list of SNMP traps supported by Solaris 10. DO anyone has the list prepared.
Regards,
Rajesh (1 Reply)
Discussion started by: grrajeish
1 Replies
6. Infrastructure Monitoring
Hi all,
lately i managed to install SNMP agent on Solaris 9 & 10. The second objective is now to configure traps. However (since i'm totally new to the SUN world) i don't know a way of how to start. Can somebody help me with details? What is the first thing that you need to do to start trapping?... (3 Replies)
Discussion started by: Wizard_1979
3 Replies
7. UNIX for Dummies Questions & Answers
All,
I have a question regarding setting up a virtual interface to recieve snmp traps from network devices.
My Solaris 10 server is running the HPOV-NNMi application. The network devices in our environment (many thousands) are all pre-configured to send their snmp traps to a specific IP... (4 Replies)
Discussion started by: turk22
4 Replies
8. UNIX for Dummies Questions & Answers
Hi,
We are using Zyrion Traverse to monitor all the servers. I like to set the traps on all of the Linux servers to send the traps to that servers.
So for on the /etc/snmp/snmp.conf file, this is what I have...
### SNMP Traps ###
trap2sink x.x.x.x # Traverse server
My... (4 Replies)
Discussion started by: samnyc
4 Replies
9. Infrastructure Monitoring
Dear Champs,
I am new to unix, and need to configure linux server to send below traps to a SNMP server.
Monitoring TRAP Disk Space Low
Monitoring TRAP Memory Low
Monitoring TRAP CPU high
Monitoring TRAP Admin login/Logoff
Please help me how to send this information to my SNMP server... (2 Replies)
Discussion started by: stavar
2 Replies
10. UNIX for Beginners Questions & Answers
Hi,
I am totally a newbie to any programming languages and I just started an entry level job in an IT company. One of my recent tasks is to create a script that is able to show the log file of linux service (i.e. ntpd service)
lets say, if I run my script ./test.sh, the output should be... (3 Replies)
Discussion started by: xiaogeji
3 Replies
LEARN ABOUT DEBIAN
text::micromason::texttemplate
MicroMason::TextTemplate(3pm) User Contributed Perl Documentation MicroMason::TextTemplate(3pm)
NAME
Text::MicroMason::TextTemplate - Alternate Syntax like Text::Template
SYNOPSIS
Instead of using this class directly, pass its name to be mixed in:
use Text::MicroMason;
my $mason = Text::MicroMason::Base->new( -TextTemplate );
Use the standard compile and execute methods to parse and evalute templates:
print $mason->compile( text=>$template )->( @%args );
print $mason->execute( text=>$template, @args );
Text::Template provides a syntax to mix Perl into a text template:
{ my $hour = (localtime)[2];
my $daypart = ( $hour > 11 ) ? 'afternoon' : 'morning';
'' }
Good { $daypart }, { $name }!
DESCRIPTION
This mixin class overrides several methods to allow MicroMason to emulate the template syntax and some of the other features of
Text::Template.
Compatibility with Text::Template
This is not a drop-in replacement for Text::Template, as the Perl calling interface is quite different, but it should be able to process
most existing templates without major changes.
This should allow current Text::Template users to take advantage of MicroMason's one-time compilation feature, which in theory could be
faster than Text::Template's repeated evals for each expression. (No benchmarking yet.)
Contributed patches to more closely support the syntax of Text::Template documents would be welcomed by the author.
Template Syntax
The following elements are recognized by the TextTemplate lexer:
o literal_text
Anything not specifically parsed by the below rule is interpreted as literal text.
o { perl_expr }
A Perl expression to be interpolated into the result.
Good { (localtime)[2]>11 ? 'afternoon' : 'morning' }.
The block may span multiple lines and is scoped inside a "do" block, so it may contain multiple Perl statements and it need not end
with a semicolon.
Good { my $h = (localtime)[2]; $h > 11 ? 'afternoon'
: 'morning' }.
To make a block silent, use an empty string as the final expression in the block.
{ warn "Interpreting template"; '' }
Hello there.
Although the blocks are not in the same a lexical scope, you can use local variables defined in one block in another:
{ $phase = (localtime)[2]>11 ? 'afternoon' : 'morning'; '' }
Good { $phrase }.
Argument Passing
Like Text::Template, this package clobbers a target namespace to pass in template arguments as package variables. For example, if you pass
in an argument list of "foo => 23", it will set the variable $foo in your package.
The strict pragma is disabled to facilitate these variable references.
Internally, this module inherits this functionality from the PassVariables mixin. If you are using the TextTemplate mixin, do not also
specify the PassVariables mixin or it will be included twice. For more information, see Text::MicroMason::PassVariables.
Supported Attributes
package
Target package namespace.
Private Methods
prepare()
If a package has not been specified, this method generates a new package namespace to use only for compilation of a single template.
lex()
Lexer for matched braces - produces only text and expr tokens. Uses Text::Balanced.
SEE ALSO
The interface being emulated is described in Text::Template.
For an overview of this templating framework, see Text::MicroMason.
This is a mixin class intended for use with Text::MicroMason::Base.
For distribution, installation, support, copyright and license information, see Text::MicroMason::Docs::ReadMe.
perl v5.10.1 2007-01-29 MicroMason::TextTemplate(3pm)