Skip to Main Content

Integrate external website monitoring with SCOM & UptimeRobot

We've got another great new blog from rising star of the SCOM Community, Jasper Van Damme, a specialist SCOM consultant based in Belgium.

We've worked closely with Jasper for some time, he really knows his stuff and we're delighted he's now sharing his SCOM expertise with the rest of the community via his blog, No Alert Left Behind.

Make sure to follow him directly for handy free MPs and some great technical posts, one of which we're proud to present as a special guest blog below:

Integrate external website monitoring with SCOM & UptimeRobot

By Jasper Van Damme

Today I want to talk about a little management pack I made together with the help of Martin Erhnst, who helped redesign the MP to work with the new API.

Uptimerobot is a website that allows you to create up to 50 web checks for free. This includes TCP, Ping, HTTP checks. It literally takes 5 minutes to create a few checks. There is also a paid plan if you want to create more web checks and unlock more features.

What makes UptimeRobot great is that it has an easy to use API that exposes all your webcheck data. This allows us to query that data through powershell, and integrate it into a management pack.

Let’s go through what you need to do to set up the management pack.

First, you need to create an account on UptimeRobot.

Once logged in, you can start creating webchecks! Click the add New Monitor button.

Choose the type and fill in the blanks.

Once your webchecks are created, we’ll need the APIkey to get the data from the API. You can find this under My settings on the right bottom side of the page.

Next up we need to designate one or more servers that have access to the internet that will be polling the information from the API. These will be our web check watcher nodes.
To designate a server you need to create a registry key with a string value to trigger the discovery in SCOM. (Should create a task for this later)
Create a key UptimeRobot under HKLM\Software, in the key create a value APIkey, containing the APIkey from the web page.
A potential improvement, as Martin pointed out, would be to put this into a run as account.

Next you’ll need to define an AD account that has permissions to access the internet and create it in SCOM.

Once that’s created go to Administration -> Create Run As Account.

Select Windows and give the account a name.

Fill in the credentials

Choose Less Secure and click Create

Once created, you can distribute the account to the watcher nodes that will execute the web checks.
Right click the account you created and select the Distribution tab.

Next up, we’ll add the account to the Run as Profile, Go to Administration -> Profiles

Choose the Web Checks Monitoring Account we created and click Save

That’s it! Once the discoveries are done, the web checks will show up in SCOM.
The management pack contains 2 monitors and 1 rule. 1 Monitor which will poll the status from the API, another one will check the average response time over a default sample rate of 3 . The performance rule polls the response time of the web check.

Martin also created a task that will allow you to create web checks from the console, neat right?

Views are created under the UptimeRobot folder, or if you’re like me and prefer to create a SquaredUp dashboard, that’s up to you.

You can download the MP and VS Solution here