How to Measure Uptime SLOs Using Nobl9 and Pingdom

How to Measure Uptime SLOs Using Nobl9 and Pingdom

We often hear customers asking, “What should our first SLO be?” The simplest way to get started if you have a website is to create an uptime SLO. The SLO will measure your uptime and how your site measures up against your reliability goals.

By following the steps outlined here, you can get up and running with your first SLO in minutes.

Most monitoring tools today allow you to create a synthetic metric that pings your website every minute from different parts of the world. Nobl9 supports over a dozen metric sources, and we continue to add new ones every month. We’ll use Pingdom for our example in this article.

 

To get started, you’ll need to set up an account on Pingdom. If you don’t already have one, click here to sign up for a free 30-day trial. Once you’ve done that, log in to Pingdom, navigate to Synthetics, and choose “Uptime.”

Pingdom uptime

Click “Add new” in the top-right corner to create your Uptime metric.

pingdom add uptime check

You only need to add the name of the check, and the URL. All the other fields are optional, and you can update the configuration at a later time. Next, click “Create check.”

That’s it! You just created your first metric in Pingdom. Now you can navigate to Nobl9 and add an SLO.

Note: You can create a free Nobl9 account here.

Before you jump into creating an SLO, you’ll need to create a service and add Pingdom as a data source.

Add a Service

In Nobl9, SLOs are grouped under services, and services are grouped under projects. Projects allow you to control who has access to your SLOs and can be used to group teams, feature areas, or however you want to organize your company.

After logging in to Nobl9, select Catalog from the navigation menu and click on the Services tab.

nobl9 services catalog

Click the “+” button to add a new service.

nobl9 add new service

Type the name of the project you want to add your service to in the first field (if you leave this blank, the service will automatically be added to a project called “default”). Then click the blue “+” to add the service to the project.

Next, add a friendly display name for the service. A Kubernetes-style name will automatically be generated in the Name field. You can then optionally add labels and a description for the service. 

When you’re done, click “Add Service.”

Add Pingdom as a Data Source

Before you can add your first SLO, you need to tell Nobl9 about Pingdom. You can do this by adding Pingdom as a data source. The only prerequisite is that you need to get a Pingdom API token.

In Pingdom, navigate to Settings, select “Synthetic & RUM Settings,” then select “Pingdom API.”

Pindgom API

From the Pingdom API page, you can click “Add API token” to generate a new token to use with Nobl9. The token only needs read access to the data. Store your API token safely; you’ll use it in a few minutes.

Back in Nobl9, navigate to Integrations and click the “+” on the Sources tab.

nobl9 integrations tab

You’ll see the list of data sources supported by Nobl9. Select Pingdom.

nobl9 supported sources pingdom

Nobl9 supports both direct and agent integrations with Pingdom. Direct integrations require your API token, which Nobl9 will securely store. Agent integrations require you to deploy an agent to gather the Pingdom metrics and send those back to Nobl9. You pass the API token to the agent, and Nobl9 doesn’t store your credentials.  

For this example, select “Direct.”

On the configuration page, enter your Pingdom API token. Then select the project you want the data source to be part of. This can be the same project you created earlier, when adding the service. Next, add a friendly display name and an optional description. The Name field will be populated automatically. When you’re done, click “Add Data Source.”

nobl9 pingdom configuration

Setting Up a Pingdom SLO

To set up your first Pingdom SLO, you’ll need the monitoring check ID. You can retrieve this by following these steps:

  1. Log in to Pingdom and navigate to Synthetics -> Uptime.
  2. Click on the site name you created.
  3. Copy the check ID, which will be displayed in the URL in your browser’s address bar. It should look something like https://my.pingdom.com/app/reports/uptime#check=9681170.

Inside Nobl9, navigate to the SLO grid view and click the “+” to create a new SLO. Follow these steps in the wizard:

  1. Select the service you created earlier.
  2. Select the Pingdom data source you added, then select “Uptime” and enter the check ID. Set the Status field to “Up.”
  3. Set the time window to “Rolling.” This will reset the error budget in the time window you care about. In most cases, customers use a 28-day rolling window.
  4. This step is where you set your objective. Set the target to your reliability goal (for example, 99%). Set the experience name to “Good,” and set the desired value to less than 2000 (i.e., 2000 milliseconds). Of course, you can adjust these settings to match your expectations. You can also add additional objectives, such as a “Bad” experience with a 99.99% reliability target of less than 5000 milliseconds.
  5. Add a friendly display name for your SLO. We haven’t set up alert policies yet, but this is also where you can add your alert policies, labels for the SLO, a link to the SLO details, and a description of the SLO. These are all optional.

When you’re done, click “Create SLO” to create your first SLO!

If you went with a 28-day rolling window, it will take a few minutes for Nobl9 to get enough data points to plot the graph and show data in the SLO grid view. 

Once everything is working, you’ll be able to go to the SLO details page and see your SLO in action.

SLO pingdom uptime
SLO details pingdom uptime

If you run into any issues along the way, check out our documentation on creating SLOs.

Summary

You can create as many SLOs as you need, and Nobl9 makes it easy for you to monitor them, add alerts to them, and generate reports on them. You can also get a quick overview of the health of your services on the Nobl9 dashboard.

nobl9 slos dashboard

Nobl9 supports numerous alerting methods, including Slack, PagerDuty, Discord, ServiceNow, Jira, Opsgenie, and Microsoft Teams. We also have a webhook that you can use to send alerts to any tool with a REST endpoint, such as xMatters, Asana, FireHydrant, and many more.

As you can see, it only takes a few minutes to set up Nobl9 and Pingdom to start monitoring your website and build an SLO around it. If you want to try this for yourself and you haven’t used Nobl9 or Pingdom before, sign up for a free Pingdom trial and a Nobl9 account. To learn more about each tool, check out these links:

With Nobl9 and Pingdom, you’ll be monitoring the reliability of your websites in no time!

SLOs in Minutes, Not Months

Get Started with Nobl9 Reliability Center Free Edition

Start Now

Do you want to add something? Leave a comment