RESOLVED - Slightly OT: External Perl Script
Taylor, Robert
Robert.Taylor at HendrickAuto.com
Wed Mar 1 20:00:04 CET 2006
All,
WOW, thanks for the responses. In the end several of the solutions
worked and it was indeed an issue with the double quotes.
I just gained about 30% CPU usage by getting rid of the shell scripts
with this Perl version. I couldn't have done it without your help.
Robert Taylor
-----Original Message-----
From: Taylor, Robert [mailto:Robert.Taylor at HendrickAuto.com]
Sent: Wednesday, March 01, 2006 9:24 AM
To: hobbit at hswn.dk
Subject: [hobbit] Slightly OT: External Perl Script
All,
This may be slightly off topic, but I figured that there is someone here
that can help. Over the past weekend I wrote my first Perl script to
replace a number of aging shell scripts that I had. What I have done is
written Perl scripts to query Liebert UPS systems, Netbotz environment
monitors and Juniper SSL VPN appliances. Needless to say I am now a
believer in how much faster Perl is than shell. My scripts dropped from
about almost two minutes to run to 8 seconds.
I can see all of the output when I print to screen so I know that it is
polling everything okay. The problem that I am having is getting Perl
to send this data to Hobbit. It is just a formatting issue as I can
have it send plain text fine, but I am trying to send HTML to create
nice looking status pages. I have looked at previous scripts, but they
all use the BigBrother.pm module and I would like to get this working
without that. I am by no means a programmer but this problem is going
to bother me until I can get it working.
Perhaps someone could provide just a bit of Perl guidance? The portion
of the code that I think it is getting hung up on is the colons in the
HTML, but I am not sure.
sub sendupdates {
$msg = <<EOM;
<html><body><center>
<!-- Created with Version 3 of the Liebert Test Script-->
<table border=\"0\" align=\"center\" id=\"table1\"
style=\"height: 197px; width: 649px;\">
<tbody>
<tr>
<th align=\"center\">
<hr width=\"100%\"></th>
</tr>
< snip other HTML >
</center>
</body>
</html>
EOM
my $now = localtime($^T) . "\n";
if ($debug eq "yes"){
print "------------------- Time Stamp --------------------\n";
print "Time Stamp: $now\n";
print "------------------- HTML Output -------------------\n";
print $msg;
}
system("$bb $bbhost \"status ${bbhostname}.ups $color $now ${msg}\"");
}
The error messages that our output to the screen give the following:
bb: incorrect number of arguments
Format: <IP-ADDR> <DATA>
sh: line 5: width:: command not found
sh: line 13: >
then there are also a lot of the following messages:
sh: line 14: > </div>
<table id=table2 style=width:: No such file or directory
sh: line 14: height:: command not found
sh: line 17: >
<tbody>
<tr>
<th width=267style=font-weight:: command not found
sh: line 17: text-align:: command not found
sh: line 18: >Hostname:</th>
Thanks in advance for any help.
Robert Taylor
To unsubscribe from the hobbit list, send an e-mail to
hobbit-unsubscribe at hswn.dk
More information about the Xymon
mailing list