ConnectivityWatchdog: Inaccessible TCP based Service Notification via Email

This is dual “yet another…” and utility clearance series. Once again an attempt to easily automate network availability check for a service.

The application is doing periodic TCP connectivity check and sends an email to notify on inaccessible service. If you got systems running at 2+ sites, they can be set up to check one another and inform timely on network issues.

ConnectivityWatchdog Screenshot

Configuration is provided through ConnectivityWatchdog.ini file to be put into the directory of the binary. Sample file is as follows:

[General]

[Host]
$(SomeUniqueIdentifer)=$(FriendlyName), tcp, $(TcpHostOrIpAddress), $(TcpPort)
$(SomeUniqueIdentifer)=$(FriendlyName), tcp, $(TcpHostOrIpAddress), $(TcpPort)

[Probe.TCP]
Connection Time=45 ; Timeout for TCP connection attempt, seconds
Success Idleness Time=60 ; Next attempt in case of successful connection, seconds
Failure Idleness Time=10 ; Next attempt in case of failed connection, seconds
Notification Failure Count=3, 33, 333 ; Numbers of failure attempts which trigger email notification 

[Notification]
Delay=450 ; Delay in notification in order to combine messages into single email, seconds 

[Notification.SMTP]
Host=smtp.gmail.com
Sender=$(UserName)@gmail.com
To=$(UserName)@gmail.com
TLS=1
Authentication Methods=login
Authentication Name=$(UserName)@gmail.com
Authentication Password=$(Password)

Once the application notices TCP connectivity issues, it updates UI status and as configured (see “Notification Failure Count” value above) it will trigger a notification email:

The following are the updates on $(Host) system:

 * Remote host $(FriendlyName) connection SUCCEEDED after 8 failures [2013-12-12 02:15:06 - 4 minutes ago]
 * Remote host $(FriendlyName) connection FAILED 3 times in a row (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond - 0x8007274c) [2013-12-12 02:12:21 - 7 minutes ago]

--
  System: $(Host)
  Time: 2013-12-12 02:19:51
  Agent: Alax.Info ConnectivityWatchdog Application/1.0.0.58

All $(…) values above are placeholders.

The application has a convenient option to enable automatic startup with user logon.

ConnectivityWatchdog Current User Startup

Download links

Leave a Reply