Getting Started with Private Location Monitoring

Private Location Monitoring brings the all-in-one monitoring, alerting, and reporting suite of the Uptime.com platform to a containerized Docker and as part of a larger Kubernetes deployment, which can be safely and securely deployed to monitor internal network resources that are otherwise blocked from external access.

Private Location probe servers work just like a normal Location, and communicate encrypted data from internal checks to the Uptime.com central check servers so that it can be viewed, reported on, and managed in line with other external checks in the same Uptime.com account. 

This tutorial will walk through the entire Private Location process, from requesting the probe servers themselves to troubleshooting techniques and use cases. For more technical information, such as hardware requirements and Command Line Interface (CLI) usage, check out our Github.

Please note: These instructions are specific to the Private Location image version 4.X. For information on using the old 3.2 image, please click here.

 

Table of Contents

Private Location Monitoring At A Glance

Monitor services on internal networks without sacrificing security measures.

Manage internal and external metrics, reports, and alerts from one account.

Protect against internal monitoring gaps to guarantee full stack availability.

Prerequisites

Return

Account Prerequisites

Private Location Monitoring is a feature that Premium-level subscribers can request as an add-on to their existing subscription plan. However, we also offer a limited Free Trial to accounts of all subscription levels.

To request a Private Location, send us an email with the preferred name of the probe server(s) (e.g., MyServer01) that you’d like to configure.

If using a Docker container, please also provide your Docker username for access to the Uptime.com repository.

If you have any questions, please contact support@uptime.com.

Technical Prerequisites

Return

Private Locations deployed to a Docker container require a registered Docker account as well as a Linux system of Ubuntu 20.04 (or higher) using kernel 4.x or 5.x. 

Please note: Windows machines are not supported, neither as a Docker host nor via any Linux virtual machines running on a Windows host (eg WSL or VirtualBox).

For a full list of technical and hardware requirements, please see our Github.

Pre-Container Prerequisites

Return

Before the Docker container initialization, you will need the following things:

  • An invite and access to the Uptime.com private repository in Docker
  • An API Key (provided by Uptime.com Support in the initial request ticket). Please note: Each configured Private Location will need its own API Key.

General Overview of Container Setup

Return

Full instructions for Container Setup, including Docker commands for “login” and “pull image”, and "Starting the Container", are found on our Github under Installation Instructions.

For Kubernetes deployments, a sample yaml file k8s-sample.yaml is available from our Github here.

Please note: Private Location probe servers (and their containers) require write permissions to the machine’s hard drive.

Upgrading from Private Location image v2.X or 3.x

Return

There are substantial differences and upgrades made in the v4.0 image, so it is highly recommended to upgrade as soon as possible.

 

Please Note: When upgrading your private location version, you will need to await a new configuration packet to be prepared and sent to the account, for config format changes to support the new features shipped with the new version. The new configuration should be sent and received within 5 minutes, at which point the private location container will continue it's start-up process and then run normally.

 

 

For full information regarding these changes, please refer to our Github, specifically the section on "Upgrading from 2.X and 3.X".

Adding a Private Location to a Check

Return

Once the container is started and running, it’s time to add a new (or edit an existing) check to use this Private Location.

From the Edit Check window, Click the “Locations” drop down to select the configured Private Location probe server(s). If adding checks programmatically via our REST API, GET /api/v1/checks/locations/ will provide the list of available locations in the account.

ss_pl_test_location.png

Before finalizing your check, use the Run Test button to verify your settings are configured properly and returning the expected results. 

ss_pl_test_location_run_test.png

Select the appropriate Private Location from the “Run Test” drop down, then click Run Test.

For help with setting up an Uptime.com check generally, see our article Overview of Checks.

Private Location Status

Return

The Private Location Status displays your private location deployments across various environments.

This dedicated page ensures that you have a comprehensive overview of your private locations, enabling you to track their health, availability, and any potential issues.

Within the Uptime.com UI, navigate to Support > Private Locations Status.

2024-04-03 11_52_58-Private Locations Status _ Uptime.com.png

Use the edit button to rename the current private location’s display name.

 

Please note: You must be the account owner, to be able to rename the private location.

PrivateLocationsStatus_Uptime.com-GoogleChrome2024-04-0311-53-15-ezgif.com-video-to-gif-converter.gif

Please note: Private location servers may show warnings or errors during the first hour of operation following a restart. The Version column is only available on Private Location images v3.0 and above.

2024-04-03 16_31_40-Private Locations Status _ Uptime.com.png2024-04-03 16_36_57-Private Locations Status _ Uptime.com.png

Special Configurations

Return

Private Locations can utilize the full range of Uptime.com check types and features, just like a normal Location. Generally, the only difference is that the checks in question need to have the correct Private Location probe server selected from the “Locations” menu (see above). 

However, there are a few specific instances that may require additional configuration:

Kubernetes (k8s)

Return

Private Location containers can be added to and managed via a wider Kubernetes (k8s) deployment as needed.

Please see our Github for instructions and a sample config file k8s-sample.yaml for reference.

Monitoring via Proxy

Return

Private Locations support monitoring resources via proxy connections on the host machine, assuming that the proxy is configured in accordance with the official Docker Proxy Server guide.

Once-per-day Checks

Return

Certain Check types, such as SSL Certificate Expiry, WHOIS/Domain Expiry, Domain Blacklist, and Malware/Virus checks, run on a 24 hour interval. To utilize a Private Location to monitor one of these sources, select the appropriate Private Location probe server from the “Locations” drop down menu (the default is Auto).

Traceroute

Return

Traceroute (if enabled with a Premium subscription) can also utilize a Private Location probe server as the starting address. To do so, go to the Real-Time Analysis page for a given check (click Monitoring > Checks, then Actions > Analysis), and then scroll to the bottom. Select the appropriate Private Location from the “Location” drop down, and hit Submit.

ss_pl_test_location_traceroute.png

Support for Private Location image v3.2

Return

Users running the older version 3.2 image of the Private Location, will have different troubleshooting steps, as there are new commands and syntax added in the 4.0 version image

For more troubleshooting information specific to v.3.2, please see the appropriate branch of our GitHub documentation here.

Use Cases

Return

In a general sense, Private Locations allow monitoring checks to access services or URLs that aren’t normally publicly accessible. There are any number of reasons and types of services that are protected from external access that still require monitoring to confirm that everything is up and running as expected. Below are two examples of use cases where Private Locations allow for monitoring without a lapse in security.

Firewalls

Return

Under normal circumstances, protected services or URLs behind a firewall or WAF require IP address whitelisting to allow our Uptime.com Locations access to run the specific check. Depending on the context, service, or organizational security standards, IP whitelisting may not be allowed. In this scenario, Private Locations on an internal Docker instance can exist entirely within the protected system, with only the encrypted check and synchronization data sent to our external Uptime.com check servers.

Intranet Endpoints

Return

Any organization — such as a school, business, or government organization — may use an Intranet server to host resources that don’t need to be accessible to the wider public. Private Locations would allow these private tools, such as a bulletin board, internally hosted metrics, or other employee-only resources, to be monitored just the same as any other external URL or resource. This way, such internal systems can still be monitored by an external party to ensure they’re up and running, without the hassle of exposing those internal endpoints.

General Settings

Return

Private Location monitoring does not change or adjust the following network settings:

  • SSH
  • Firewall (or Firewall rules)
  • Timezones
  • Hostname
  • DNS
  • Hostname
  • DHCP

Please confirm these settings during any troubleshooting efforts.

Tips and Tricks

Return

Private Locations need monitoring of their own to make sure they’re up and running too. Uptime.com advises using heartbeat check as well as an HTTPS check to monitor the Docker container itself.

To do this, create a heartbeat check and take note of the URL provided in its setup.

 

Next, create an HTTPS check that points to the URL from your heartbeat check and specify your Private Location as the location for this check.

 

Finally, for your HTTPS check to successfully transmit data to your heartbeat check, you will need to utilize the optional “String to Post” field since HTTPS uses GET by default. For example, adding “{"response_time": 0.8}” to this field.

By doing this, your HTTPS check will ping your heartbeat check, letting it know that the HTTPS check is operational, and in turn, your Private Location is working as expected.

Final Thoughts

Return

Private Locations allow for internal resources, endpoints, and URLs to be securely and safely monitored without external exposure.

Troubleshooting

For information about troubleshooting Private Locations, please see our thorough guide here.

 

To get started, contact support@uptime.com, or request a Private Location directly!

Was this article helpful?
3 out of 5 found this helpful

Comments

0 comments

Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.