Why monitor from more than one place
A website can be up in one country and broken in another. CDN edge problems, regional DNS issues, misconfigured geo-redirects, blocked payment providers, regional ISP routing problems and over-eager bot protection can all affect visitors in one market while your monitoring, running from one data centre, shows green.
Monitoring through proxies in different countries lets you see your site from where your customers are. Geonode datacenter traffic is a cheap way to probe from hosting hubs in many countries, and residential traffic shows what consumers on home connections experience, including how your bot protection treats them.
What to monitor
| Check | What it tells you | Proxy type |
|---|---|---|
| Availability (HTTP status, key content present) | Is the site up for visitors in this market? | Datacenter, plus residential spot checks |
| Response time and time to first byte | Is the site fast enough here? | Datacenter for consistency, residential for realism |
| Geo-routing | Do visitors land on the right regional site? | Residential or datacenter per country |
| Bot protection false positives | Are real users being challenged? | Residential |
| Content and price correctness | Is the right content served in each market? | Datacenter or residential |
| Third-party dependencies | Do payment, maps and chat widgets load here? | Residential in a browser |
A simple multi-region probe
import os
import time
import requests
def proxy_for(country):
user = f"{os.environ['GEONODE_USER']}-country-{country}"
url = f"http://{user}:{os.environ['GEONODE_PASS']}@{os.environ['GEONODE_HOST']}:{os.environ['GEONODE_PORT']}"
return {"http": url, "https": url}
def probe(url, country, marker):
t0 = time.time()
try:
r = requests.get(url, proxies=proxy_for(country), timeout=30)
ok = r.status_code == 200 and marker in r.text
return {"country": country, "ok": ok, "status": r.status_code,
"seconds": round(time.time() - t0, 2), "final_url": r.url}
except requests.RequestException as e:
return {"country": country, "ok": False, "error": str(e)}
for c in ["us", "gb", "de", "br", "jp", "au"]:
print(probe("https://www.example.com/", c, "<title>"))Use the username format your Geonode dashboard gives you. Run probes every few minutes from a scheduler, store results, and alert when a market fails twice in a row.
Interpreting results
- One market failing, others fine: look at CDN edges, DNS and geo-routing for that region.
- Residential failing, datacenter fine: your bot protection may be challenging real users. Review its rules.
- Slow in one market: check CDN coverage and whether requests are routed to a distant origin.
- Wrong final URL: geo-redirect rules need fixing.
- Proxy errors rather than site errors: distinguish them. A failed proxy connection is not an outage. Retry through a new session before alerting.
Monitoring competitors' public pages
The same probes can watch competitors' public pages (pricing, product launches, terms) for changes. Fetch the page on a schedule, extract the relevant section, compare with the previous version and alert on differences. Keep frequency modest and respect their terms. See Geonode for price monitoring.
Proxy tip: You can try every step in this guide with a small balance: Geonode bills residential bandwidth per GB with no expiry, so testing costs very little. See our complete Geonode guide for the full product overview.
Costs
Uptime probes are tiny requests; even frequent probes from many countries use little bandwidth, especially on datacenter traffic. Browser-based checks for third-party dependencies cost more, so run them less often. Geonode's non-expiring residential bandwidth works well for periodic realism checks.
Building a regional monitoring dashboard
Probes are only useful if someone sees the results. A simple dashboard makes regional problems obvious:
- A grid of markets by checks, each cell green, amber or red based on the last few results.
- Response time charts per market, with median and p95 over the past day and week.
- A list of recent incidents: market, check, start time, duration and the error seen.
- Proxy health, shown separately: if probes in one market fail because the proxy path failed, that's not a site outage.
Most teams build this on whatever they already use for metrics and alerting. Store each probe result with timestamp, market, check, outcome, status code, latency and final URL, and the dashboard becomes a few queries.
Alerting without noise
- Require consecutive failures (for example, two or three in a row) before alerting.
- Retry through a new session before counting a failure, to rule out a single bad exit.
- Alert per market, with the market in the message, so the on-call person knows where to look.
- Separate proxy errors from site errors: connection refused by the proxy, 407 errors and proxy timeouts go to a different channel from 5xx responses and missing content.
- Schedule quiet hours for low-priority checks.
Checks worth adding over time
- Certificate expiry as seen from each region.
- DNS resolution results by region, if you use geo-DNS.
- Key third-party scripts (payments, consent, chat) loading in a real browser from residential exits.
- Geo-redirect correctness for your main entry pages.
Combined with localization testing before releases, regional monitoring after releases closes the loop: you test that each market works, then keep watching that it still does.
Starting small
You don't need a large system to get value. Begin with your home page and checkout entry page, probed every ten minutes from your five most important markets through Geonode datacenter traffic, with a residential check once an hour. Add pages, markets and browser-based checks as you learn which problems actually occur.
FAQ
Is proxy-based monitoring a replacement for a monitoring service?
It complements one. Commercial monitoring services provide many probe locations and alerting; proxies add residential realism and custom checks.
Why use residential exits for monitoring?
They show what consumers on home connections see, including how your CDN and bot protection treat them.
How do I avoid false alarms from proxy errors?
Classify errors, retry through a new session, and alert only on repeated failures.
Can I measure page speed through proxies?
Yes, with the caveat that the proxy adds latency. Compare markets with each other and over time rather than treating absolute numbers as exact.
Editorial note: Proxy providers change their pools, features and prices often, so treat any figures here as typical ranges at the time of writing and confirm current terms with the provider before you buy.