Integrate external website monitoring with SCOM & UptimeRobot

Hello Everyone,

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.

2017-06-28 17_29_08-Dashboard _ Uptime Robot

Choose the type and fill in the blanks.2017-06-28 17_31_02-Dashboard _ Uptime Robot

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.

2017-06-28 17_33_53-Clipboard

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.
2017-06-28 17_38_14-Clipboard

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.

2017-06-30 11_12_59-domav401.belgianrail.be - Remote Desktop Connection

Select Windows and give the account a name.

2017-06-30 11_14_01-domav401.belgianrail.be - Remote Desktop Connection

Fill in the credentials

2017-06-30 11_17_10-Clipboard

Choose Less Secure and click Create

2017-06-30 11_18_03-domav401.belgianrail.be - Remote Desktop Connection

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.

2017-06-30 11_21_20-Clipboard

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

2017-06-30 11_22_14-domav401.belgianrail.be - Remote Desktop Connection

Choose the Web Checks Monitoring Account we created and click Save

2017-06-30 11_22_57-domav401.belgianrail.be - Remote Desktop Connection

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?

2017-06-30 13_10_06-Clipboard

Views are created under the UptimeRobot folder, or if you’re like me and prefer to create a Squared Up dashboard, that’s up to you.
2017-06-30 13_18_43-Uptime Robot Dashboard - Squared Up

You can download the MP and VS Solution here:

Jasper

 

One thought on “Integrate external website monitoring with SCOM & UptimeRobot

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s