Warning: imagecreatefromstring() [function.imagecreatefromstring]: Empty string or invalid image in /var/www/vhosts/tachytelic.net/httpdocs/wp-includes/media.php on line 258

Author Archive

Earlier this year I posted a script which sends email alerts from Dell servers using the alerting system built into Dell Openmanage. However, that script will only work on Windows systems.

A visitor to the blog called Steve has kindly posted some code on that post which enables the same functionality in Linux and I think it is worthy of its own post.

Before attempting to use the script you will need to download this perl script called sendEmail and that you have unix2dos installed.

The script accepts two arguments, which are setup or show.

“setup” will set the alerts action to the value of $alert_script which should be the full path to the script itself.
“show” will print the current alert settings for the system to the screen.

The code of the script is as follows, or you can download from here:


#!/usr/bin/perl
########
#
# Alter these setting to suit your system
$alert_script='/opt/asx_scripts/send_alert.pl';
$argument = 0;
$argument = $ARGV[0];
$omreport = '/opt/dell/srvadmin/bin/omreport';
$omconfig = '/opt/dell/srvadmin/bin/omconfig';
$sendemail = '/opt/asx_scripts/sendEmail';
$toname = 'name';
$fromname = 'name';
$domain = 'domain.com';
$tmp_path = '/tmp';
$mail_gateway = 'ip or name of mailgate';
$unix2dos = '/usr/bin/unix2dos';
#
#

if("$argument" eq "setup"){
set_available_alerts();
exit;
}
if("$argument" eq "show"){
display_set_alerts();
exit;
}
if("$argument" eq "help"){
print "If you need some help read the code\n";
exit;
}
unless($argument){
$desc=`$omreport system alertlog 2>/dev/null | grep "Description" | head -1 | cut -f2-9 -d: | sed 's/ //'`;
chomp($desc);
$date=`$omreport system alertlog 2>/dev/null | grep "Date and Time" | head -1 | cut -f2-9 -d: | sed 's/ //g' | sed 's/://g'`;
chomp($date);
$host=`$omreport system summary 2>/dev/null | grep "Host Name" | head -1 | cut -f2-9 -d: | sed 's/ //'`;
chomp($host);
$tag=`$omreport system summary 2>/dev/null | grep "Chassis Service Tag" | head -1 | cut -f2-9 -d: | sed 's/ //'`;
chomp($tag);
$attach="$tmp_path/$date.log";
`$omreport system alertlog > "$attach"`;
if( -f "$unix2dos"){
`$unix2dos "$attach" 2>/dev/null`;
}
$send=`$sendemail -f "$fromname\@$domain" -t "$toname\@$domain" -u "System Error: $host SvcTag: $tag Time: $date" -m "$host SvcTag: $tag Error: $desc Time: $date" -a "$attach" -s "$mail_gateway"`;
}else{
print "If you need some help read the code\n";
exit;
}

sub set_available_alerts {
$alert_list = `$omconfig system alertaction 2>/dev/null | cut -f2 -d"<" | cut -f1 -d">"`;
chomp($alert_list);
chomp($alert_list);
@split_alert_list = split(/\|/, $alert_list);
foreach my $alert (@split_alert_list){
$set_result = `$omconfig system alertaction event=$alert execappath="$alert_script" 2>/dev/null | head -1`;
chomp($set_result);
if("$set_result" eq "Alert action(s) configured successfully."){
print "Set Action:\t$alert\n";
}else{
print "ERROR Set didnt return expected value ($set_result)\n";
}
}
}
sub display_set_alerts {
$currently_set = `$omreport system alertaction`;
print "$currently_set\n";
}

exit;

A good way to test the script is to temporarily set the “Temperature Maximum” to something low like 12 to trigger an alert.

Unfortunately all of my Linux machines are virtual machines so I cannot test or modify this script, so if anyone wants to give me SSH access to a server running OMSA, be my guest. :)

Again, big thanks to Steve for posting this and I am sure it will be useful to lots of people. This has also inspired me to make some improvements to my original Windows version.

Comments (24)

Had a situation with a customer who is running Sage Instant Accounts version 15 being extremly slow to respond after the installation of Trend Worry Free Business Security.

The problem is most noticiable when switching between modules within Sage, which was taking around 20 seconds.

Adding all the recommend exclusions did not make any difference, but using the Trend Micro Performance Tuning tool fixed the problem instantly.

The tool can be downloaded from:

http://esupport.trendmicro.com/Pages/Identifying-and-resolving-performance-related-issues-caused-by-Behavior-Monitoring-and-Device-Control-features.aspx

Simply add “SBDDesktop.exe” to the exception list and see if Sage runs at normal speed.

Add SDBDesktop.exe to the exception list to speed up Sage

If the speed of Sage goes back to normal speed you must now add an exception to behavior monitoring within the WFBS dashboard:

Go into Security settings and then behavior monitoring and and then add the full path to SDBDesktop.exe to the exception list, in this case the path was:

C:\Program Files\Common Files\Sage SBD\SBDDesktop.exe

Categories : Uncategorized
Comments (3)

Today I was trying to use clnpack.exe fom a command line to automatically create updated installation packages for Trend Officescan on a weekly basis.  This seemed a simple case of putting together a command line but I wasn’t having any luck getting it working.

Annoyingly clnpack.exe does not give any error messages at all if the syntax of the commad is not perfect and you get nowhere.  In the end I discovered that I could only make clnpack.exe work by using 8.3 file paths instead of long path names.

An example of a working command line:


C:\PROGRA~1\TRENDM~1\OfficeScan\PCCSRV\Admin\Utility\ClientPackager\clnpack.exe /i /o NT /s C:\PROGRA~1\TRENDM~1\OfficeScan\PCCSRV /d d:\shared~1\software\trend32.exe

You can see 8.3 format filenames by going into a command prompt and using:

dir /x

Now that I have this command working I can integrate it with a batch file which will upload it to our web server.

Categories : Technical Posts
Comments (0)

Updated Version now available: http://www.tachytelic.net/2011/01/updated-linksys-spa-personal-directory-manager/

We’ve been using the Linksys SPA942 handsets for a while and they have worked very well for us. One of the major annoyances for us and others is the inability to populate the personal directory automatically.

I’ve read a number of posts on how to use wget to issue to personal directory to the phone via a HTTP post and this seemed like a good solution. In particular this post and this post inspired me to see if I could create a solution using the same technique in VB.Net.

So I have put together a simple program which will allow you to load/save a personal directory to/from a tab delimited file or handset. There are loads of enhancements that could be made in order to make the application more sophisticated but this is really a first attempt, so please report any problems.  You will need .net framework 3.0 to run the tool.  I’ll put the project into a proper setup file if it is sufficiently popular.

Here is a screenshot of the utility:

Download the program from the newer post :

http://www.tachytelic.net/2011/01/updated-linksys-spa-personal-directory-manager/

I’m using firmware version 6.1.5a, I’d be interested to hear if this does/does not work on other versions or if anyone has any suggestions for enhancements.

This is also a great way to backup/restore your Linksys SPA handset – I factory reset my handset and this much easier than re-entering all the personal directory.

Categories : Scripts & Utilities
Comments (29)