Pingdom Website Monitoring: Complete Guide

Pingdom Website Monitoring: Complete Guide

Pingdom has been around since 2007. That's ancient by SaaS standards. It survived the shift from dedicated servers to cloud, from "is it up?" to "how fast is it for real users in São Paulo?" That longevity means something — but it also means you need to understand what Pingdom actually does well versus where it's been outpaced by newer tools.

This guide covers what Pingdom is, how its check types work, where its probes live, and what you actually get out of SLA reports and Root Cause Analysis. No marketing spin — just what engineers need to know.

What Pingdom Is (And Isn't)

Pingdom is a synthetic monitoring platform owned by SolarWinds. "Synthetic" means it sends automated requests to your URLs on a schedule and reports whether they succeeded — as opposed to Real User Monitoring (RUM), which instruments actual user sessions.

Pingdom does both, but they're separate products with separate billing. The core product most people buy is uptime monitoring. RUM is an add-on.

What Pingdom is not: an APM tool. It won't profile your application code, show you slow database queries, or trace distributed systems. If you need that, you want Datadog, New Relic, or Grafana. Pingdom sits at the edge — it tells you whether your site is reachable and how fast it loads from the outside.

Check Types

HTTP(S) Uptime Checks

The simplest check type. Pingdom sends an HTTP request to a URL at a configured interval (1 minute minimum on standard plans, 30 seconds on higher tiers). It marks the check as "up" if it gets a response within the timeout and the status code matches what you expect.

You can configure:

  • Expected status codes — default is 2xx, but you can check for 301 redirects or specific codes
  • String match — verify a specific string appears in the response body. Useful for detecting "maintenance mode" pages that return 200 but aren't your real app
  • Authentication — basic auth credentials for protected endpoints
  • Request headers — set custom headers if your CDN or WAF requires them
  • SSL certificate monitoring — Pingdom checks cert expiry separately and alerts before it expires

The string match feature is underused but critical. A load balancer returning a 200 with an error page body will fool a naive uptime check. If you're monitoring a login page, match on something specific to that page content.

Real Browser (Synthetic) Checks

Called "Page Speed Monitoring" in Pingdom's UI. These use a real headless browser — currently Chromium — to load your URL and measure actual page performance. You get a waterfall chart showing every resource request, timing breakdowns (DNS, connect, TLS, TTFB, content transfer), and performance grades.

These checks run less frequently than HTTP checks (every 10-60 minutes depending on plan) because they're more expensive to run. Use them for your critical pages where you need to know not just "is it up" but "is it loading acceptably fast."

The waterfall data is particularly useful for catching third-party script regressions. Your own server might be fast, but if a new marketing tag is blocking render, HTTP uptime checks won't catch it. A real browser check will show you the offending request in the waterfall.

Transaction Checks

Transaction monitoring is Pingdom's most powerful and most underutilized feature. It uses a Selenium-based recorder to script multi-step user flows: log in, add to cart, reach checkout, verify order confirmation.

The recorder is a Chrome extension that captures your clicks and form inputs. You export the script, configure it in Pingdom, and it runs on a schedule against your real (or staging) environment.

This is where synthetic monitoring earns its keep. Pure uptime checks confirm your homepage loads. Transaction checks confirm your payment flow works at 3am on a Sunday when no one's watching. Downtime on the homepage is obvious — someone will notice in minutes. A broken checkout that only fails for certain card types or geographies? That'll run for hours undetected without transaction monitoring.

Transaction check limits vary by plan. On the standard Pingdom plan you get a handful of transaction slots — plan accordingly and prioritize your highest-value flows.

Probe Locations

Pingdom runs checks from a global network of probe servers. As of 2024, they have roughly 100+ locations across North America, Europe, Asia-Pacific, South America, and Africa. This matters more than people realize.

A check that passes from Virginia might fail from Singapore if you have regional CDN misconfiguration, GeoDNS issues, or network routes that degrade outside your primary region. Configure checks to run from multiple locations — at minimum from your primary user geographies.

You can set checks to alert when a threshold number of locations report failure (e.g., alert if 2 of 3 locations fail). This prevents false positives from transient probe-side network issues. A single location timing out might be noise. Two independent locations timing out simultaneously is a real problem.

For e-commerce and SaaS products with global users, consider running separate check configurations for different regions and mapping them to regional on-call teams.

SLA Reporting

Pingdom generates uptime reports that show your SLA achievement over any time range. The math is straightforward: total time minus downtime minutes, divided by total time, expressed as a percentage.

A few things engineers get wrong about SLA reports:

Scheduled maintenance skews numbers. If you take your app down for 2 hours of planned maintenance and don't set a maintenance window, that counts against your uptime. Configure maintenance windows in advance for any planned work.

Check interval affects detection granularity. A 5-minute check interval means you could have up to 5 minutes of downtime that doesn't register as an incident. Your "99.9% uptime" SLA might technically pass while users experience an outage that started between check cycles. On critical services, run checks every minute.

The report is only as good as your check config. If you're checking the wrong URL, not verifying content, or checking a CDN origin that's separate from what users hit, your SLA report measures something other than user experience.

Pingdom exports reports as PDF or CSV. Most teams use the PDF for stakeholder reporting and pull the CSV into their own dashboards for trending.

Root Cause Analysis

When Pingdom detects an outage, it generates a Root Cause Analysis (RCA) report that attempts to identify whether the issue was DNS, network connectivity, server response, or SSL-related.

The RCA works by running diagnostic checks in parallel from multiple probe locations during the outage window:

  • DNS resolution time and results
  • TCP connection establishment
  • TLS handshake timing
  • HTTP response codes and timing

This data helps you distinguish between "our server crashed" (all probes can connect to the IP but get 5xx) versus "our DNS is misconfigured" (probes can't resolve the hostname) versus "our SSL cert expired" (TCP connects but TLS fails).

In practice, Pingdom's RCA is useful for post-incident analysis but rarely tells you something your own logs don't. The value is in having a third-party perspective that's independent of your infrastructure — useful when your monitoring stack is down along with your app, or when you need evidence for vendor SLA claims.

What Pingdom Doesn't Tell You

To use Pingdom effectively, you need to know its limits:

No distributed tracing. Pingdom can tell you your API endpoint is slow. It cannot tell you whether the slowness is in your application code, your database queries, or an external API you depend on.

No log correlation. Pingdom doesn't integrate with your application logs. Outage timestamps from Pingdom give you a starting point, but you'll need ELK, Splunk, or CloudWatch to find the actual cause.

No code-level visibility. Browser checks show resource waterfall timing, not JavaScript execution profiles or memory usage.

Synthetic ≠ real users. Your Pingdom checks pass from probe servers that often have better connectivity than real users on mobile networks or constrained corporate proxies. Pingdom RUM (separate product) addresses this, but the uptime checks themselves don't reflect real user experience.

Configuration Best Practices

A few patterns that separate well-configured Pingdom accounts from ones that just generate alert noise:

Check your actual user path, not just the homepage. Add checks for /api/health, your login page, your main application views, and any third-party integrations you own.

Use content verification. Every HTTP check should verify a string that only appears when the page is working correctly. String contains "Welcome" or String contains "api_version" beats relying on status codes alone.

Set realistic timeouts. Default timeouts are often too generous. If your API normally responds in 200ms, a 30-second timeout means an outage can go undetected for 30 seconds per check cycle. Set your timeout to 2-3x your 95th percentile response time.

Deduplicate alerts. Pingdom will alert every integration (email, Slack, PagerDuty) every time a check fails and recovers. Configure contact groups so alerts route to the right team, and use alert policies to avoid waking people up for sub-60-second blips.

Pingdom's strength is its simplicity and its global probe network. It's easy to set up, the data is reliable, and it's been battle-tested for nearly two decades. Use it for what it's good at — external synthetic monitoring — and pair it with APM and logging tools for full observability coverage.

Read more

Start now free