From time to time, you’ll need to monitor a port to see if there’s a problem brewing. For smaller companies, it can be quite a chore to deploy some sort of commercial or open-source monitoring solution (e.g., NAGIOS-based stuff), when all you want to do is do some quick and dirty monitoring. Example: you just want to check if a port is up or down and be alerted immediately so you can troubleshoot without having to go through a complicated configuration process.
Well, there are a ton of command-line tools that let you do just that.
For our example, we need two tools:
portqry.exe: this is basically a port pinger
Written by Microsoft
bmail.exe: this is a simple command line tool to send an email using a batch file
Written by Craig Peacock from Beyond Logic
So, how does this work?
All you need is a simple batch file that you would call from Windows Task Scheduler, e.g. every 5 or 10 minutes:
<ip> = IP or Name of the machine you want to check
<port> = port you want to check
The default timeout is 30 seconds.
portqry -n <ip> -e <port> -p TCP -q
if %ERRORLEVEL% == 0 goto allok
bmail -s mail.yourmailrelay.com -p 25 -t email@example.com -f firstname.lastname@example.org -h -a “port is down or saturated”
And there you go!
Every time the batch file runs, it checks to see if it can reach the port you specify: if it can’t, it’ll send an email through the relay server of your choice and send an alert to your cell phone.
Trackback from your site.