By David Kim · Sep 24, 2025

What Your Monitoring Tool Actually Does: Building Automated Health Checks from the Protocol Up

When a monitoring service tells you "your website is up," what did it actually do to reach that conclusion? Most small business owners treat monitoring as a black box: you give it a URL, it tells you up or down. But understanding what happens at the protocol level gives you two advantages. First, you can configure monitoring more effectively, catching failures that default settings miss. Second, when something breaks, you can interpret the alert and take faster action because you understand what the check was testing.

This article explains how automated website health checks work under the hood. We will walk through HTTP probe design, TCP connection testing, content validation at the protocol level, SSL certificate inspection, and DNS resolution checks. The goal is not to turn you into a network engineer, but to give you enough understanding to set up monitoring that actually catches the problems that matter to your business.

Anatomy of an HTTP Health Check

The most common type of health check is an HTTP probe. It simulates what a web browser does when a visitor loads your page. Here is what happens step by step when a monitoring service checks your website:

Step 1: DNS Resolution

Before any connection can be made, the monitoring probe needs to translate your domain name (e.g., yourbusiness.com) into an IP address. It sends a DNS query to a resolver, which returns the IP address associated with your domain.

This step can fail for several reasons: your domain registration has expired, your DNS provider is having an outage, your DNS records are misconfigured, or your DNS TTL (time-to-live) expired and the new lookup is failing. DNS failures are particularly deceptive because your web server is running perfectly, your code has no bugs, but nobody can reach you.

A well-designed monitoring probe measures the time DNS resolution takes and can alert you if it exceeds a threshold. Normal DNS resolution takes 1-50ms depending on caching. If it takes 500ms+, something is wrong with your DNS infrastructure.

Step 2: TCP Connection (The Three-Way Handshake)

Once the probe has an IP address, it initiates a TCP connection. TCP is the transport protocol that HTTP rides on top of. Establishing a TCP connection requires a three-way handshake:

  1. The probe sends a SYN (synchronize) packet to your server on port 443 (for HTTPS) or port 80 (for HTTP).
  2. Your server responds with a SYN-ACK (synchronize-acknowledge) packet.
  3. The probe sends an ACK (acknowledge) packet, completing the handshake.

This exchange takes one round-trip time (RTT). If the monitoring probe is 50ms away from your server, the TCP handshake takes about 50ms. If the SYN packet gets no response, the probe waits for a timeout period (typically 5-10 seconds) before declaring the connection failed.

TCP connection failures mean one of several things: the server is completely offline, the network path is broken, a firewall is blocking the port, or the server's connection queue is full (it is too busy to accept new connections). Each of these has different implications and different fixes.

Step 3: TLS Handshake (For HTTPS)

For HTTPS connections (which every business website should use), a TLS handshake follows the TCP connection. During this exchange, the probe and server negotiate an encryption protocol, the server presents its SSL certificate, and both sides establish the encryption keys for the session.

The TLS handshake adds 1-2 additional round-trips depending on the TLS version (TLS 1.3 needs one round-trip; TLS 1.2 needs two). A monitoring probe inspects the certificate during this phase: Is it valid? Is it expired? Does the certificate's Common Name or Subject Alternative Names match the domain being checked? Is the certificate chain complete back to a trusted root CA?

This is where SSL certificate monitoring gets its data. The probe does not need a separate check for SSL. It naturally encounters the certificate during the TLS handshake and can evaluate its properties. UptyBots checks your SSL certificates automatically during health checks and sends alerts well before expiration. You can also use our free SSL Expiry Countdown tool for a quick manual check. For a detailed walkthrough, see our guide on SSL expiration alerts and how to never miss a renewal.

Step 4: The HTTP Request

With the encrypted connection established, the probe sends an HTTP request. At its simplest, this is:

GET / HTTP/1.1
Host: yourbusiness.com

The probe is asking for the root document ("/") of your website. The Host header tells the server which website to serve (important because one server can host multiple domains).

For more targeted health checks, the probe can request specific URLs: your checkout page (/checkout), your API endpoint (/api/v1/health), or any page you consider critical. It can also send POST requests with specific headers and body content, which is how API monitoring works.

Step 5: Response Evaluation

Your server processes the request and sends back an HTTP response. The probe evaluates this response on multiple dimensions:

  • Status code. HTTP status codes are three-digit numbers that indicate the result of the request. 200 means "OK," 301/302 means "redirect," 403 means "forbidden," 404 means "not found," 500 means "server error," 502 means "bad gateway," 503 means "service unavailable." Your monitoring should expect specific status codes for each URL. A homepage should return 200. A URL that should redirect should return 301 or 302. Anything else indicates a problem.
  • Response body content. This is where content validation comes in, and it catches failures that status code checks miss. A server can return HTTP 200 with a page that says "Database connection failed" or "Maintenance mode" or even a completely blank page. By validating that specific text appears in the response (your business name, a product title, a specific HTML element), the probe catches these silent failures.
  • Response time. The probe measures total time from the start of the connection to the receipt of the full response. This includes DNS resolution + TCP handshake + TLS handshake + server processing + data transfer. Setting a response time threshold (e.g., alert if over 3 seconds) catches performance degradation before it becomes a full outage.
  • Response headers. Headers can reveal problems: a missing Content-Type, unexpected X-Cache: MISS (CDN not caching), or a Retry-After header indicating rate limiting.

TCP Port Monitoring: Testing Below the Application Layer

HTTP health checks test the full stack: network, encryption, web server, application code, database. But sometimes you need to test individual layers in isolation. TCP port monitoring does exactly this.

A TCP port check sends a SYN packet to a specific port on your server and waits for a SYN-ACK response. If it gets one, the port is open and the service behind it is accepting connections. If it gets a RST (reset) packet, the port is closed (no service listening). If it gets no response at all, the port is filtered (a firewall is blocking it).

For small business websites, the ports that matter are:

  • Port 443 (HTTPS). Your secure web server. If this port stops responding, your entire website is unreachable via HTTPS. This is the most important port to monitor.
  • Port 80 (HTTP). Should redirect to HTTPS on modern sites. Still needs to be open so the redirect works. Visitors who type your domain without "https://" hit port 80 first.
  • Port 587 or 465 (SMTP/submission). If your server sends transactional emails (order confirmations, contact form responses, password resets), these ports must be open. If your email delivery stops, customers do not receive order confirmations and you do not receive contact form submissions.
  • Port 22 (SSH). If you manage your server via SSH, monitoring this port ensures you can access the server for maintenance and emergency fixes.

Port monitoring catches a category of failures that HTTP checks might miss. A firewall rule change that blocks port 443 would cause HTTP checks to fail too, but the TCP port check identifies the specific cause (port blocked) rather than just the symptom (website down). This makes troubleshooting faster.

ICMP Ping Monitoring: The Most Basic Network Test

Ping monitoring sends an ICMP Echo Request packet to your server's IP address and waits for an ICMP Echo Reply. It measures the round-trip time and tracks whether the packet arrived at all.

ICMP operates at Layer 3 (the network layer), below TCP and HTTP. A ping check tells you whether the server is reachable at the most fundamental level. If ping fails, it means one of three things: the server is completely offline, the network path is broken, or ICMP is being filtered (some servers and firewalls block ICMP for security reasons).

What ping gives you that higher-level checks do not:

  • Fastest failure detection. A ping probe is smaller and simpler than an HTTP request. It can detect a downed server faster because there is less protocol overhead.
  • Network quality metrics. Ping monitoring tracks not just reachability, but latency (how fast the round-trip is), jitter (how much the latency varies between probes), and packet loss (what percentage of probes fail). These metrics reveal network quality problems that affect user experience even when the website is technically "up."
  • Infrastructure-level visibility. Ping works for any IP-reachable device: web servers, database servers, mail servers, routers. You can monitor servers that do not run web services.

The limitation of ping is that it only tests network reachability. A server that responds to ping might still have a crashed web server, a broken application, or an expired SSL certificate. This is why ping monitoring complements HTTP monitoring but does not replace it.

API Health Checks: Going Beyond "Is the Page Loading?"

Many small business websites depend on API endpoints for critical functions: processing payments, submitting contact forms, booking appointments, calculating shipping rates, or pulling data from a CRM. A website that loads perfectly but has a broken payment flow is effectively broken from the customer's perspective.

An API health check is an HTTP probe with additional validation. Instead of just checking that a URL returns 200, it validates the response body. Here is why this matters:

Consider a payment API endpoint that your website calls during checkout. Under normal conditions, a POST to this endpoint returns:

HTTP/1.1 200 OK
Content-Type: application/json

{"status": "ready", "version": "2.4.1"}

When the payment service has an internal issue, it might still return HTTP 200 but with a different body:

HTTP/1.1 200 OK
Content-Type: application/json

{"status": "degraded", "message": "Processing delays expected"}

A basic HTTP check sees "200 OK" and reports everything is fine. An API health check with content validation sees that the response body does not contain "status": "ready" and triggers an alert. This is the difference between finding out about a payment outage from your monitoring system (in 2 minutes) versus finding out from angry customers (in 2 hours).

UptyBots supports full API monitoring with response body validation, header checks, and response time thresholds. Read more in our guide on API monitoring: ensuring your backend really responds.

SSL Certificate Inspection: What the Monitoring Probe Checks

During the TLS handshake, the monitoring probe receives your server's SSL certificate and can inspect several properties:

  • Expiration date. The most common SSL problem. Certificates expire, and if auto-renewal fails silently, you do not know until browsers show a full-screen warning. Monitoring tracks the expiration date and alerts you 30, 14, and 7 days in advance.
  • Certificate chain completeness. Your SSL certificate is part of a chain: your certificate, signed by an intermediate CA, signed by a root CA. If the intermediate certificate is missing from your server's configuration, some browsers and devices will reject the connection. The monitoring probe validates the complete chain.
  • Domain name match. The certificate must match the domain being checked. A certificate for www.yourbusiness.com might not cover yourbusiness.com (without the www) unless it includes both as Subject Alternative Names.
  • Certificate authority trust. The certificate must be signed by a CA that browsers trust. Self-signed certificates or certificates from untrusted CAs will trigger browser warnings.

Even if you use Let's Encrypt with auto-renewal, monitoring is still important. Auto-renewal can fail for many reasons: DNS validation fails because you changed DNS providers, HTTP validation fails because your web server configuration changed, the renewal service crashes silently, or rate limits are hit. For more details, see our guides on SSL expiration alerts and automating SSL and domain monitoring.

Domain Expiration Monitoring: How WHOIS Checks Work

Domain expiration monitoring works differently from the other checks. Instead of connecting to your server, the monitoring system queries the WHOIS database for your domain's registration record. This record contains the registration date, expiration date, registrar name, and name server information.

The probe parses the WHOIS response (which varies in format by TLD and registrar) and extracts the expiration date. It then calculates how many days remain and compares against your alert thresholds (typically 60, 30, and 14 days).

Why this check matters for small businesses:

  • Your domain name is your online identity. If it expires, everything stops: website, email, advertising links, everything.
  • Expired domains can be registered by domain squatters within hours. Getting it back can cost hundreds or thousands of dollars, and sometimes the domain is gone permanently.
  • Many small businesses have domains registered under former employees' or contractors' accounts, with payment methods that may no longer be valid.
  • Auto-renewal fails if the credit card on file expires, or if the registrar's payment processing has an issue.

Multi-Location Probing: Why One Probe Is Not Enough

A monitoring system that checks your website from a single location has a blind spot: regional failures. Your website might be perfectly accessible from the monitoring probe's location (say, Virginia) while being completely unreachable from Europe due to a CDN edge node failure, a regional DNS issue, or a network routing problem.

Multi-location monitoring solves this by running the same health check from probes in different geographic regions simultaneously. If all probes report a failure, the outage is global (your server is down). If only some probes report failure, the outage is regional (a CDN, DNS, or routing issue is affecting specific areas).

This distinction matters because regional failures are common and easy to miss. Your website could be down for all of Europe while working perfectly for North American visitors. If your monitoring probe is in the US, you would not know about the European outage until customers in that region complain. Learn more about this in our article on why your website appears down only in certain countries.

Setting Up Automated Health Checks: A Step-by-Step Guide

Now that you understand what each type of check actually does, here is how to set up monitoring that covers every protocol layer. This takes under 20 minutes and requires no technical expertise.

Step 1: Create Your UptyBots Account (2 minutes)

Sign up at UptyBots. The onboarding process guides you through adding your first monitor.

Step 2: Add Your Primary HTTP Monitor (2 minutes)

  1. Enter your website's URL (e.g., https://yourbusiness.com).
  2. Set the check interval to 3 minutes (a good balance for most small businesses).
  3. Set the expected status code to 200.
  4. Add content validation: enter a word or phrase that should always appear on your homepage (like your business name). This catches the "200 OK but wrong content" failures we discussed above.
  5. Set a response time threshold (e.g., alert if response exceeds 3 seconds).

Step 3: Add SSL and Domain Monitors (3 minutes)

  1. Add an SSL monitor for your domain. This activates the TLS handshake inspection that checks certificate expiration and chain validity.
  2. Add a domain expiration monitor. This activates the WHOIS-based registration check with alerts at configurable intervals before expiry.

Step 4: Add Monitors for Critical Functionality (5-10 minutes)

Based on what your website does, add targeted monitors:

If your site has... Add this monitor What it tests at the protocol level
A contact form HTTP monitor on the contact page Full HTTP request/response cycle to the contact page URL. Content validation confirms the form renders.
Online payments HTTP monitor on checkout + API monitor on payment endpoint HTTP probe validates the checkout page loads. API probe sends a request to the payment health endpoint and validates the response body.
Online booking HTTP monitor on booking page + API monitor on booking API HTTP probe checks the booking page. API probe validates the booking service's health endpoint response.
Transactional email Port monitor on SMTP port (587 or 465) TCP SYN probe checks the email submission port is open and accepting connections.
An online store HTTP monitors on homepage, category, product, cart, checkout Individual HTTP probes for each stage of the purchase funnel, each with content validation.

Step 5: Configure Notifications (3 minutes)

  1. Add your email address for alert notifications.
  2. Set up Telegram notifications for instant mobile alerts (recommended because you get push notifications within seconds).
  3. Optionally, configure webhooks if you want to integrate with other tools.

Use at least two notification channels. Email is reliable but can be delayed. Telegram is instant but requires a phone with internet. Together they cover each other's blind spots. For detailed setup instructions, see our guide on setting up notification integrations. And to avoid notification overload, read our article on alert fatigue and how to configure notifications properly.

Step 6: Verify Everything Is Working (2 minutes)

  1. Check your UptyBots dashboard. All monitors should show a green/healthy status.
  2. Send a test notification to verify your notification channels work.
  3. Note the baseline response times for your site. This is your "normal" to compare against later.

What to Do When an Alert Fires

Understanding what each check tests at the protocol level makes alerts more actionable. Here is a decision tree based on alert type:

  1. HTTP monitor alert (site down):
    • If the status code is 502 or 503, your web server is running but the application behind it has crashed. Contact your hosting provider or restart the application.
    • If the connection times out (no response at all), the server may be offline or the network path is broken. Check your hosting provider's status page.
    • If content validation fails but status is 200, your server is responding with wrong content (maintenance page, error page, cached stale content). Check your application and CDN.
  2. SSL certificate alert:
    • 30 days before expiry: initiate renewal. Plenty of time.
    • 7 days before expiry: renew immediately. Check why auto-renewal did not trigger.
    • Certificate chain error: your server is missing an intermediate certificate. This requires a server configuration fix.
  3. Domain expiration alert:
    • Log into your domain registrar and renew immediately.
    • Verify the payment method on file. Update if the card has expired.
    • Enable auto-renewal if it is not already on.
  4. API monitor alert:
    • If the API returns an error in the response body but status is 200, the third-party service has a partial outage. Check their status page.
    • If the API connection times out, the service is down or unreachable from your server. If it is a payment provider, activate your fallback process (phone orders, manual invoicing).
  5. Port monitor alert:
    • If port 443 is closed, check for firewall rule changes or web server crashes.
    • If SMTP port is closed, your transactional emails are not being delivered. Check your mail server or SMTP relay service.
  6. Ping monitor alert:
    • If ping fails completely, the server is unreachable at the network level. This is a hosting or network infrastructure issue. Contact your hosting provider.
    • If ping shows high latency or packet loss, there is network degradation. Performance will be affected across all services on that server.

How Automated Health Checks Protect Your Search Rankings

Search engines evaluate your website's reliability and performance as ranking factors. Here is how each type of health check connects to SEO:

  • HTTP monitoring catches crawl errors. When Googlebot visits your site and encounters a 500 error or a timeout, it records a crawl error. Repeated crawl errors tell Google your site is unreliable. Monitoring catches these before Google's next crawl.
  • Response time monitoring protects Core Web Vitals. Google measures your site's loading performance (Largest Contentful Paint, First Input Delay, Cumulative Layout Shift) as ranking factors. If your server response time degrades gradually, your Core Web Vitals scores drop. Monitoring catches this trend before it affects your search position.
  • SSL monitoring preserves HTTPS ranking signal. Google explicitly uses HTTPS as a ranking factor. An expired or misconfigured SSL certificate not only scares visitors but actively hurts your search rankings.
  • Domain monitoring prevents catastrophic SEO loss. An expired domain means Google cannot reach your site at all. Even a few days of domain expiration can set your SEO back by months.

For a detailed analysis, read why uptime monitoring improves SEO and Google rankings and how slow websites cost you customers.

The Cost of Not Monitoring: A Real-World Example

Maria runs a bakery with a website that handles online orders for cakes and catering. Her website generates about $3,500 per week, concentrated on Thursday through Saturday when customers order for weekend events.

One Thursday afternoon, the payment processing API on her site silently stopped working. The site loaded fine. Customers could browse products, add items to their cart, and fill in their details. But when they clicked "Place Order," the payment failed. The HTTP status code was 200. A basic uptime check would have reported the site as healthy.

Without API monitoring that validated the payment endpoint's response body, Maria did not discover the problem until Friday morning when she noticed zero orders overnight. Eighteen hours of lost orders. Roughly $750 in direct revenue, plus frustrated customers who might not come back.

With UptyBots's API monitoring, the response body validation would have detected the payment failure within 2-3 minutes. Maria could have contacted her payment provider or switched to phone orders within the hour. Total loss: under $50 instead of $750. The monitoring costs less per month than a single lost cake order.

How Much Does Downtime Actually Cost?

The cost depends on your business type and how much revenue flows through your website:

Business Type Weekly Online Revenue Cost of 4 Hours Downtime Cost of 24 Hours Downtime
Local service business (lead generation) $500 in leads $12 direct + lost leads $71 direct + significant lead loss
Small e-commerce store $3,000 $71 $429
Appointment-based business $2,000 in bookings $48 + missed appointments $286 + full day of bookings lost
Restaurant with online ordering $4,000 $95 $571
Growing online retailer $10,000 $238 $1,429

These figures count only direct revenue loss. Hidden costs (damaged reputation, lost repeat customers, SEO ranking drops, wasted ad spend) often exceed the direct revenue loss by 2-5 times. Calculate your specific risk with our Downtime Cost Calculator. For more context, read the real cost of website downtime.

Monitoring While You Focus on Running Your Business

Once your health checks are configured, here is what your ongoing time investment looks like:

  • Setup: 15-20 minutes, one time.
  • Daily time: Zero. The probes run automatically, every few minutes, from multiple locations.
  • Weekly review: 5 minutes to check the dashboard for any response time trends.
  • When an alert fires: 5-30 minutes to investigate and resolve, depending on the issue type.

Because UptyBots is cloud-based, the monitoring runs regardless of where you are. Whether you are at your office, at home, traveling, or away from the internet entirely, the probes keep running and alerts will be waiting when you come back online. For more on this, see our article on monitoring your website while traveling.

If you manage more than one website, a single dashboard gives you visibility across all of them. See our guides on monitoring multiple websites from one dashboard and monitoring multiple sites without a dedicated IT team.

Key Takeaways

  • An HTTP health check is not a simple "ping." It involves DNS resolution, TCP handshake, TLS negotiation, HTTP request/response, and content validation. Each step can fail independently.
  • Status code monitoring alone misses silent failures. Always add content validation to catch pages that return 200 but display error messages or wrong content.
  • TCP port monitoring tests infrastructure-level reachability. Monitor port 443 (HTTPS), port 80 (HTTP redirect), and SMTP ports if your server sends email.
  • ICMP ping monitoring detects the most fundamental reachability problems and tracks network quality metrics (latency, jitter, packet loss).
  • API health checks must validate response bodies, not just status codes. A "200 OK" with an error in the body is still a broken API.
  • SSL monitoring inspects the certificate during the TLS handshake. It catches expiration, chain issues, and domain mismatches before browsers show warnings.
  • Multi-location probing catches regional failures that single-location monitoring misses.
  • Use at least two notification channels (email + Telegram) so alerts always reach you.
  • Setup takes under 20 minutes. Ongoing time cost is near zero. The cost of monitoring is a fraction of the cost of one undetected outage.

See setup tutorials or get started with UptyBots monitoring today.

Ready to get started?

Start Free