[{"data":1,"prerenderedAt":670},["ShallowReactive",2],{"\u002Fblog\u002Fmonitor-website-availability-multiple-countries":3},{"id":4,"title":5,"author":6,"body":8,"category":659,"date":660,"description":661,"extension":662,"image":663,"lastUpdated":663,"meta":664,"navigation":556,"path":665,"readingTime":666,"seo":667,"stem":668,"__hash__":669},"blog\u002Fblog\u002Fmonitor-website-availability-multiple-countries.md","How to Monitor Website Availability from Multiple Countries",{"name":7},"Vantaj Team",{"type":9,"value":10,"toc":636},"minimark",[11,15,18,21,26,29,32,35,42,48,54,57,61,64,67,73,79,90,93,97,100,105,143,147,150,183,186,190,211,215,218,225,228,267,270,276,279,283,286,290,307,311,319,323,334,338,341,401,404,408,411,465,468,479,483,486,492,498,501,505,508,513,516,522,525,530,533,538,541,545,595,599,632],[12,13,14],"p",{},"If your monitoring tool checks your website from one location in Virginia and there is a routing problem between Virginia and your users in Tokyo, your monitoring stays green while your Japanese users see errors.",[12,16,17],{},"Multi-country monitoring catches regional outages your single-probe setup will never see. It also eliminates most false positive alerts by requiring agreement across multiple independent vantage points before firing.",[12,19,20],{},"This guide explains how multi-country monitoring works and how to set it up.",[22,23,25],"h2",{"id":24},"why-single-region-monitoring-fails","Why Single-Region Monitoring Fails",[12,27,28],{},"A monitoring check from one location answers a narrow question: can this specific probe reach your server right now?",[12,30,31],{},"It does not answer: can your users in Germany, Australia, or Brazil reach your service right now?",[12,33,34],{},"Three failure modes single-region monitoring misses:",[12,36,37,41],{},[38,39,40],"strong",{},"Regional CDN failures."," CDN providers like Cloudflare and Fastly have regional edge nodes. When a European edge fails, European users get errors. Your US-based probe still hits a healthy US edge and shows green.",[12,43,44,47],{},[38,45,46],{},"Anycast routing problems."," Many services use anycast DNS or load balancers that route each user to the nearest available region. A probe in one region may route to a healthy node while users in another region route to a degraded one.",[12,49,50,53],{},[38,51,52],{},"Transient path failures."," Network paths between two specific locations fail temporarily without affecting other paths. A blip between your probe and server looks like an outage to a single-region check but is invisible to users on different network paths.",[12,55,56],{},"The practical result: your monitoring misses real regional outages and generates false alarms from path issues that affect nobody.",[22,58,60],{"id":59},"how-multi-country-monitoring-works","How Multi-Country Monitoring Works",[12,62,63],{},"Multi-country monitoring runs the same check from several geographically distributed probe locations simultaneously.",[12,65,66],{},"The key detail is what happens when results disagree.",[12,68,69,72],{},[38,70,71],{},"Any-fail alerting"," - alerts when any single probe reports a failure - makes false positives worse, not better. Every probe has its own network path, each with its own chance of a transient failure.",[12,74,75,78],{},[38,76,77],{},"Consensus-based alerting"," - alerts only when multiple probes independently confirm a failure - is what you want. When all probes report failure, your service is genuinely down globally. When one probe fails and others pass, a network path had a bad moment.",[80,81,86],"pre",{"className":82,"code":84,"language":85},[83],"language-text","Check cycle example:\n\nUS-East:    ✅ 200 OK - 142ms\nEU-West:    ✅ 200 OK - 198ms\nAP-South:   ❌ Timeout\n\nResult: 1 of 3 probes failed\nAction: No alert. Log as path issue. Re-check next interval.\n\n---\n\nNext cycle:\n\nUS-East:    ❌ 503 Error\nEU-West:    ❌ 503 Error\nAP-South:   ❌ 503 Error\n\nResult: 3 of 3 probes failed\nAction: Alert fired. Incident opened.\n","text",[87,88,84],"code",{"__ignoreMap":89},"",[12,91,92],{},"Consensus eliminates the noise from transient network events. When your phone buzzes, every probe on every continent agrees your service is down.",[22,94,96],{"id":95},"setting-up-multi-country-monitoring-in-vantaj","Setting Up Multi-Country Monitoring in Vantaj",[12,98,99],{},"Vantaj runs checks from 10 global probe regions and applies multi-region consensus by default. You do not configure consensus as a feature - every monitor uses it.",[101,102,104],"h3",{"id":103},"step-1-add-your-monitor","Step 1: Add your monitor",[106,107,108,112,118,124,130,137],"ol",{},[109,110,111],"li",{},"Log in to Vantaj",[109,113,114,115],{},"Click ",[38,116,117],{},"Add Monitor",[109,119,120,121],{},"Select ",[38,122,123],{},"HTTP\u002FHTTPS",[109,125,126,127],{},"Enter your URL: ",[87,128,129],{},"https:\u002F\u002Fyourdomain.com",[109,131,132,133,136],{},"Set check interval: ",[38,134,135],{},"1 minute"," for production services",[109,138,139,140],{},"Set expected status code: ",[87,141,142],{},"200",[101,144,146],{"id":145},"step-2-configure-check-regions","Step 2: Configure check regions",[12,148,149],{},"Vantaj checks from all active probe regions by default. The current regions include:",[151,152,153,156,159,162,165,168,171,174,177,180],"ul",{},[109,154,155],{},"US East (Virginia)",[109,157,158],{},"US West (Oregon)",[109,160,161],{},"EU West (Ireland)",[109,163,164],{},"EU Central (Frankfurt)",[109,166,167],{},"Asia Pacific (Singapore)",[109,169,170],{},"Asia Pacific (Tokyo)",[109,172,173],{},"Asia Pacific (Sydney)",[109,175,176],{},"South America (São Paulo)",[109,178,179],{},"Middle East (Bahrain)",[109,181,182],{},"Africa (Cape Town)",[12,184,185],{},"Select the regions that matter for your users. For a global SaaS, use all available regions. For a service with a regional user base, use the regions where your users are plus a few others for cross-validation.",[101,187,189],{"id":188},"step-3-set-your-alert-policy","Step 3: Set your alert policy",[106,191,192,202,205,208],{},[109,193,194,195,198,199],{},"Go to ",[38,196,197],{},"Alert Policies"," > ",[38,200,201],{},"New Policy",[109,203,204],{},"Add your notification channels (Slack, email, SMS, webhook)",[109,206,207],{},"Set escalation timing: notify secondary contact if no acknowledgment within 5 minutes",[109,209,210],{},"Assign the policy to your monitor",[101,212,214],{"id":213},"step-4-add-keyword-validation","Step 4: Add keyword validation",[12,216,217],{},"A status code check confirms the server responded. A keyword check confirms it responded correctly.",[12,219,220,221,224],{},"In monitor settings, add a ",[38,222,223],{},"keyword check",": enter a string that appears in a healthy response and not in error pages.",[12,226,227],{},"For an API health endpoint:",[80,229,233],{"className":230,"code":231,"language":232,"meta":89,"style":89},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\"status\":\"ok\"}\n","json",[87,234,235],{"__ignoreMap":89},[236,237,240,244,247,251,253,256,258,262,264],"span",{"class":238,"line":239},"line",1,[236,241,243],{"class":242},"sMK4o","{",[236,245,246],{"class":242},"\"",[236,248,250],{"class":249},"spNyl","status",[236,252,246],{"class":242},[236,254,255],{"class":242},":",[236,257,246],{"class":242},[236,259,261],{"class":260},"sfazB","ok",[236,263,246],{"class":242},[236,265,266],{"class":242},"}\n",[12,268,269],{},"For a website:",[80,271,274],{"className":272,"code":273,"language":85},[83],"\u003C!-- your expected page title or a unique element -->\n",[87,275,273],{"__ignoreMap":89},[12,277,278],{},"This catches cases where the server returns 200 with an error page - a common failure mode for load balancers and CDNs.",[22,280,282],{"id":281},"what-to-monitor-from-multiple-countries","What to Monitor from Multiple Countries",[12,284,285],{},"Not every endpoint needs global coverage. Prioritize by user impact.",[101,287,289],{"id":288},"monitor-globally","Monitor globally",[151,291,292,295,298,301,304],{},[109,293,294],{},"Your homepage or main landing page",[109,296,297],{},"Login and authentication endpoints",[109,299,300],{},"API health check endpoints",[109,302,303],{},"Checkout and payment flows",[109,305,306],{},"Any endpoint in your SLA",[101,308,310],{"id":309},"monitor-regionally","Monitor regionally",[151,312,313,316],{},[109,314,315],{},"CDN performance check (add a monitor per major user region if you serve users globally and use regional CDN edges)",[109,317,318],{},"Third-party vendor endpoints that have regional failover",[101,320,322],{"id":321},"skip-multi-country-for","Skip multi-country for",[151,324,325,328,331],{},[109,326,327],{},"Internal admin panels (users are on your network)",[109,329,330],{},"Staging environments",[109,332,333],{},"Batch processing endpoints not user-facing",[22,335,337],{"id":336},"reading-multi-region-results","Reading Multi-Region Results",[12,339,340],{},"When a monitor reports an incident, check which regions confirmed the failure.",[342,343,344,357],"table",{},[345,346,347],"thead",{},[348,349,350,354],"tr",{},[351,352,353],"th",{},"Pattern",[351,355,356],{},"What it means",[358,359,360,369,377,385,393],"tbody",{},[348,361,362,366],{},[363,364,365],"td",{},"All regions failing",[363,367,368],{},"Global outage - your service is down",[348,370,371,374],{},[363,372,373],{},"One region failing, others passing",[363,375,376],{},"Regional issue or network path problem",[348,378,379,382],{},[363,380,381],{},"Two of five regions failing",[363,383,384],{},"Possible regional CDN or routing failure",[348,386,387,390],{},[363,388,389],{},"Intermittent failures across regions",[363,391,392],{},"Overloaded origin, connection pool issues",[348,394,395,398],{},[363,396,397],{},"One region consistently slower",[363,399,400],{},"Regional latency problem or edge node degradation",[12,402,403],{},"Response time data across regions also reveals performance problems before they become availability problems. If your Tokyo probe reports 1,800ms while US probes report 200ms, users in Japan are experiencing degraded service even though the check passes.",[22,405,407],{"id":406},"interpreting-regional-latency-data","Interpreting Regional Latency Data",[12,409,410],{},"Multi-country monitoring gives you latency by region. Track these thresholds:",[342,412,413,423],{},[345,414,415],{},[348,416,417,420],{},[351,418,419],{},"Latency",[351,421,422],{},"User experience",[358,424,425,433,441,449,457],{},[348,426,427,430],{},[363,428,429],{},"Under 200ms",[363,431,432],{},"Fast",[348,434,435,438],{},[363,436,437],{},"200 - 500ms",[363,439,440],{},"Acceptable",[348,442,443,446],{},[363,444,445],{},"500ms - 1s",[363,447,448],{},"Noticeable delay",[348,450,451,454],{},[363,452,453],{},"1s - 3s",[363,455,456],{},"Users start abandoning",[348,458,459,462],{},[363,460,461],{},"Over 3s",[363,463,464],{},"Significant churn risk",[12,466,467],{},"If a region consistently shows high latency, your users there are experiencing a different product than your internal testing shows. Common fixes:",[151,469,470,473,476],{},[109,471,472],{},"Add a CDN edge presence in that region",[109,474,475],{},"Move static assets to a closer object storage bucket",[109,477,478],{},"Use a regional database read replica to cut cross-continental query latency",[22,480,482],{"id":481},"setting-up-regional-alerting","Setting Up Regional Alerting",[12,484,485],{},"You may want different alert policies for different failure patterns.",[12,487,488,491],{},[38,489,490],{},"Global outage policy"," (all regions failing): wake someone up via SMS and phone call immediately.",[12,493,494,497],{},[38,495,496],{},"Regional failure policy"," (subset of regions failing): notify the on-call channel in Slack with lower urgency.",[12,499,500],{},"In Vantaj, you can configure separate alert policies and assign them to different monitors, or use escalation tiers within one policy.",[22,502,504],{"id":503},"testing-your-multi-region-setup","Testing Your Multi-Region Setup",[12,506,507],{},"Verify the monitoring works before you rely on it.",[12,509,510],{},[38,511,512],{},"Test 1: Global detection",[12,514,515],{},"Temporarily point a test monitor at a URL that returns a 503:",[80,517,520],{"className":518,"code":519,"language":85},[83],"https:\u002F\u002Fhttpstat.us\u002F503\n",[87,521,519],{"__ignoreMap":89},[12,523,524],{},"Confirm all regions report the failure and an alert fires.",[12,526,527],{},[38,528,529],{},"Test 2: Regional check",[12,531,532],{},"Confirm the probe list shows checks arriving from the expected regions. In Vantaj, the incident detail view shows which regions confirmed the failure.",[12,534,535],{},[38,536,537],{},"Test 3: Recovery notification",[12,539,540],{},"Delete the test monitor and confirm a recovery notification arrives through your configured channels.",[22,542,544],{"id":543},"quick-checklist","Quick Checklist",[151,546,549,559,565,571,577,583,589],{"className":547},[548],"contains-task-list",[109,550,553,558],{"className":551},[552],"task-list-item",[554,555],"input",{"disabled":556,"type":557},true,"checkbox"," Monitors configured with at least 3 probe regions",[109,560,562,564],{"className":561},[552],[554,563],{"disabled":556,"type":557}," Consensus-based alerting enabled (not any-fail)",[109,566,568,570],{"className":567},[552],[554,569],{"disabled":556,"type":557}," Production endpoints checked at 1-minute intervals",[109,572,574,576],{"className":573},[552],[554,575],{"disabled":556,"type":557}," Keyword validation set for critical monitors",[109,578,580,582],{"className":579},[552],[554,581],{"disabled":556,"type":557}," Regional latency baseline documented for each endpoint",[109,584,586,588],{"className":585},[552],[554,587],{"disabled":556,"type":557}," Alert policy covers both global and regional failure patterns",[109,590,592,594],{"className":591},[552],[554,593],{"disabled":556,"type":557}," Full pipeline tested end-to-end",[22,596,598],{"id":597},"related-guides","Related Guides",[151,600,601,608,614,620,626],{},[109,602,603],{},[604,605,607],"a",{"href":606},"\u002Fblog\u002Fsingle-region-monitoring-is-broken","Single-Region Monitoring Is Broken by Design",[109,609,610],{},[604,611,613],{"href":612},"\u002Fblog\u002Freduce-false-positive-alerts","How to Reduce False Positive Alerts in Uptime Monitoring",[109,615,616],{},[604,617,619],{"href":618},"\u002Fblog\u002Finstant-website-downtime-alerts","How to Get Instant Alerts When Your Website Goes Down",[109,621,622],{},[604,623,625],{"href":624},"\u002Fblog\u002Fcomplete-guide-uptime-monitoring","Complete Guide to Uptime Monitoring",[109,627,628],{},[604,629,631],{"href":630},"\u002Fblog\u002Fthe-5-minute-check-interval-is-a-lie","The 5-Minute Check Interval Is a Lie",[633,634,635],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":89,"searchDepth":637,"depth":637,"links":638},2,[639,640,641,648,653,654,655,656,657,658],{"id":24,"depth":637,"text":25},{"id":59,"depth":637,"text":60},{"id":95,"depth":637,"text":96,"children":642},[643,645,646,647],{"id":103,"depth":644,"text":104},3,{"id":145,"depth":644,"text":146},{"id":188,"depth":644,"text":189},{"id":213,"depth":644,"text":214},{"id":281,"depth":637,"text":282,"children":649},[650,651,652],{"id":288,"depth":644,"text":289},{"id":309,"depth":644,"text":310},{"id":321,"depth":644,"text":322},{"id":336,"depth":637,"text":337},{"id":406,"depth":637,"text":407},{"id":481,"depth":637,"text":482},{"id":503,"depth":637,"text":504},{"id":543,"depth":637,"text":544},{"id":597,"depth":637,"text":598},"tutorials","2026-04-28","Single-region monitoring misses regional outages and fires false positives from network path failures. This guide explains how multi-country website monitoring works and how to set it up.","md",null,{},"\u002Fblog\u002Fmonitor-website-availability-multiple-countries",10,{"title":5,"description":661},"blog\u002Fmonitor-website-availability-multiple-countries","F8zxvYwSRxIzmresWC2RB203wxoeEQJijGN2s1sy15Y",1782668047074]