Global uptime monitoring with Upptime and Globalping

We've got some great news to share with you today! We're happy to announce the native integration of Globalping into the uptime monitoring tool, Upptime.

In this blog post, you'll learn more about this integration, what possibilities it brings to your table as a current or future Upptime user, and how you can benefit from using Globaping to get a global view of your services' availability and performance.

Why use Globalping with Upptime

First off, if you're not yet familiar with the tools:

  • Upptime is a free and open-source uptime monitor and status page solution. It utilizes GitHub Actions to run checks, GitHub Issues for incident tracking, and GitHub Pages for hosting status pages.
  • Globalping is an open-source network measurement platform. It relies on a globally distributed network of community-hosted probes, allowing anyone to run network tests, such as ping and HTTP requests, from virtually any location worldwide.

Before, Upptime users could only perform uptime checks through GitHub Actions runners or self-hosted alternatives. While effective, this approach limited the locations from which checks could run.

Now, with Globalping integrated within Upptime, users can define the origin of their checks – whether it's a geographical location, ASN, ISP, or even a cloud region.

How running Upptime checks with Globalping can improve your monitoring:

  • Run checks from regions that are especially important to your service or known to have network issues. This allows you to pinpoint localized problems more quickly.
  • Understand how users experience your website or service from different parts of the world. This can help you identify regional latency or accessibility issues that could impact user experience.
  • Instead of just running checks from a cloud provider via GitHub Actions, you can now get results from residential networks, various ISPs, or even your own Globalping probes.

All in all, the Globalping integration can improve the already great Upptime tool, making it even more valuable for anyone who wants an uptime monitor with a global view of network performance and availability.

Getting started with global uptime monitoring

Since Globalping is now a native integration within Upptime, it is always available by default. This means you don't have to set up anything beyond your Upptime configuration.

Let's explore how you can get started using Globalping within your Upptime config:

💡
Note: If you're new to Upptime, we recommend you get familiar with the tool first.

To use Globalping for a specific site check, add the type: globalping option to its configuration in your .upptimerc.yml file.

Next, specify the origin of your check using the `location` option. You can define continents, countries, regions, cities, ASNs, ISPs, and cloud region names (AWS). To specify more precise locations, use the + operator. For example, amazon+germany would target a probe in Amazon's network in Germany, or comcast+california would pick probes within Comcast's network in California.

💡
Note: If you don't specify a location, it will default to world, meaning checks will be distributed globally.

Here's an example:

sites:
  - name: Europe check
    url: https://api.myservice.com
    type: globalping
    location: europe
Important: With Globalping, Upptime supports both HTTP GET and PING tests. HTTP POST requests are not supported.

Authentication and API limits

By default, unauthenticated Globalping checks through Upptime have a limit of 250 tests per hour per IP address. Since GitHub Actions runners share IP addresses among many users, you may reach this limit sooner than expected.

To avoid this, we strongly recommend that you authenticate your Globalping-Upptime checks. By signing up for the Globalping Dashboard, you unlock a higher hourly limit of 500 and make sure that your checks only count against your Globalping API limit.

To authenticate:

  • Go to the Globalping Dashboard and create a free account
  • Once logged in, navigate to "Tokens" to generate an API token
  • In your Upptime setup's GitHub repository, navigate to Settings > Secrets and Variables > Actions. Here, add your API token as a new repository secret with the name GLOBALPING_TOKEN.

Use cases and examples

Finally, let's explore some practical applications that demonstrate how you can use Globalping and Upptime to get global insights into your service's performance and availability.

Broad regional uptime checks

Let's say you want to check if your website or service is accessible and responsive across an entire continent, such as Europe.

For this HTTP GET check, we'll use the `location` option to define the origin of the check, allowing you to quickly confirm whether your site is reachable.

sites:
  - name: Check website in Europe
    url: https://my-service.com/health-check
    type: globalping
    location: europe

Checking performance from a specific cloud provider in a region

Imagine hosting your service on AWS and having a large number of users in Germany. Thus, you want to specifically monitor your service's performance and availability from AWS in Germany to identify performance problems or routing issues that may happen there. To achieve this, we're using the `+` operator to combine filters for more precise probe selection:

sites:
  - name: AWS Germany performance
    url: https://www.yourwebsite.com
    type: globalping
    location: amazon+germany

Ping a service behind a specific ISP

To determine whether users connecting to your service through a specific ISP are experiencing any issues, you can check the availability of your service by performing a ping test from that network.

💡
Note: When you define check: "tcp-ping" in Upptime without type: globalping, it performs a ping with TCP. However, if you specify type: globalping, Globalping will run the check for Upptime and execute an ICMP ping.
sites:
  - name: Monitor Comcast in CA
    check: "tcp-ping"
    url: yourdomain.com
    type: globalping
    location: comcast+california

Conclusion

With the integration of Globalping into Upptime, we aim to provide Upptime users with greater flexibility when it comes to the location from which they can run their checks. Users are no longer restricted to specific locations and instead can perform targeted Upptime checks from virtually anywhere in the world.

Head over to the Upptime website to check the documentation on the Globalping integration to get started!