We frequently get asked how you can monitor uptime of various machines and services that they offer. Immediately following that people frequently want to be notified when some set of monitored services go down.
Paglo can do both of these things for you. There are four pieces involved in this: The Service Health Paglo Crawler Plugin, the Inventory app, the Server Health app, and the Alerts app.
The Service Health Paglo Crawler Plugin
The Service Health Plugin scans a variety of network services on the hosts that it is run against. It records the success or failure of these probes to Paglo along with the amount of time the probe took to complete. Currently this list of services that are probed is hard coded in to the Service Health Plugin itself.
The list of services that it probes are ICMP echo (aka ping), HTTP on port 80, HTTPS on port 443, FTP on port 21, telnet, SMTP, POP3, IMAP, LDAP, SQLServer on port 1443, Oracle on port 1521, MySQL on port 3306, and DNS queries via UDP.
By default, as is the same for any other device plugin that the Paglo Crawler runs, this will be run approximately once per day against every device that has been discovered. This is not very useful for actually monitoring services on specific machines. This is where setting up a schedule for the crawler becomes necessary.
On the Paglo site go to the Crawlers app by clicking on the Crawlers link in the left hand column. If you have only one crawler this will take you to that crawler’s configuration. If you have more than one you will need to click on the box for the crawler you wish to configure. The configuration page will start on the Scheduler tab.

Creating a Service Check Schedule
In the Scheduler tab click on the Create New Schedule link. This will present you with a form for your new schedule. You should give it some distinctive name so that you will know what this schedule is doing. For service health check we recommend that you set the Interval to at least 5 minutes. This means for the selected hosts the plugins in this schedule will be run every 5 minutes.
Next you will select the plugins you want this schedule to run. By clicking on the Select… button a dialog will come up with the list of plugins available to run in this schedule. In this case we only want the Service Health Plugin.

The final thing we need is to select which hosts it will be run against. Press the Select… button in the Hosts section and another dialog will come up.

NOTE: This list will be the hosts that the crawler has found. You can click the Custom… button and enter the IP address of any specific you want.
After you have selected all of the hosts you wish to monitor the services on your form should look something like this:

Do not forget to click on the Save Changes button at the bottom of the page!
Making a Group of the Monitored Hosts
One of the features of Paglo that we are expanding is the ability to create groups of hosts either using various search criteria or a static set of hosts. The Server Health app uses groups to determine what hosts to display. Creating groups is done in the Inventory app.
Once you have entered the Inventory app click on the Configure link in the upper right hand corner of the page, below the Paglo Search bar. On the ‘Configure the Inventory Application’ page, select the tab labeled Groups.
In the Groups tab click the Add Group… button. This will bring up a dialog that lets you create a group. Since we are making a group to track the hosts that we want to view in the Server Health app, we will call this group “Service Health Check”.

Now that you have created the group we can add hosts to it. Currently you do this by navigating in the Inventory app to lists of hosts. Here you can see we are looking in our Network appliances and have selected our three Netgear NAS boxes to add to the Service Health Check group by selecting it from the Group: Add to Group menu in the top right of the page:

Once you have added all the hosts you wish to monitor in the Server Health app you can browse to the group you created.

The Server Health app
The Server Health app is where you select which services you wish to be alerted when they stop responding. We created a group in the Inventory app so that we could tell the Server Health app to use that group.
In the Server Health app click on the Configure link in the upper right hand of the page. By default the Server Health app will show you the list of devices that Paglo has classified as either a server, a router, or a switch. In this case, however, we want it to show the list of devices defined in our Service Health Check group. Select the Use Group item and in the pull down menu select the Service Health Check group.

You can then go back to the main page of the Server Health app by clicking either on the app in the left menu, or on the Servers link at the top of the page. On the left side of the page there will be an expandable tree widget. There will be a node for every device you have specified in the Service Health Check group. By clicking on a device name you can see the report for all the services on that device on the right side of the page.

The report will show you an uptime bar for each device. Below each uptime bar will be the probed latency of that service. The uptime bar will show increasing amounts of red for the longer a device is down. One of the features is that no matter the time scale of the uptime bar, if a device was down red will show up so that downtimes will be easy to see.
Here you can select which services you care about for this device and additionally which of these services you want to receive a Paglo Alerts for.
Going through each device this way and selecting the Device uptime service may be a bit tedious so instead you can instead expand the Services node in the tree and then expand the ping node. By clicking on ping the right side of the Server Health app will display the results of the ping service check for all devices in the Service Health Check group. You can now go through this list and enable the Alert when down checkbox for all the devices you wish to receive an alert when that device stops responding to pings.

Receiving Service Health Check Alerts
The final piece of our tour brings us to the app that started this whole quest: The Alerts app. Select the Alerts app from the list of apps in the left hand menu of the Paglo site. By selecting any service in the Server Health app for Alert when down the alert Service Down alert will automatically be created in the Alerts app.

You can not select the Service Down alert. It is important that you do not modify the Name or the PQL statement inside the Generate alert when box. These are tuned specifically to watch for services being down in the Server Health app.
You can now add your email address or twitter account to have messages sent to when any service that you selected with Alert when down in the Server Health app. You can see here where I have added my email address to be notified when any service I am monitoring goes down, as well as every hour when it is still down, and an additional notification when the service comes back up.

This one alert will fire when any service listed in the Server Health app is down, letting you centralize your alerts for services instead of having to create a new alert for every one of dozens of services you may be monitoring.
That concludes our tour of the Service Health Check Paglo Crawler Plugin, setting up a schedule in the Crawlers app, collecting a set of hosts together in to a group in the Inventory app. Using this group in the Server Health app to select which services to be alerted on, and finally adding a notification address in the Alerts app to send those alerts to.


