Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions detect/uptime-monitoring/dns-monitors/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,7 @@ Set how often the monitor runs (every 10 seconds to 24 hours):
</Frame>

* **Strategy:** Choose between round-robin or parallel execution. Learn more about [scheduling strategies](/concepts/scheduling)
* **Locations:** Select one or more [public](/concepts/locations/#public-locations) locations to run the monitor from
* **Private locations**: DNS monitors do not currently support [private locations](/platform/private-locations/overview)
* **Locations:** Select one or more [public](/concepts/locations/#public-locations) or [private](/platform/private-locations/overview) locations to run the monitor from

### Additional Settings

Expand Down
4 changes: 0 additions & 4 deletions detect/uptime-monitoring/dns-monitors/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,6 @@ DNS monitors support the following DNS record types:
- **SOA**: Start of authority records
- **TXT**: Text records (SPF, DKIM, DMARC, etc.)

## Limitations

- **Private locations**: DNS monitors do not currently support private locations. You can only run DNS monitors from Checkly's global public locations.

## DNS Monitor Results

Select a specific check run to inspect its results:
Expand Down
3 changes: 1 addition & 2 deletions detect/uptime-monitoring/icmp-monitors/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@ Set how often the monitor runs (every 10 seconds to 24 hours):
</Frame>

* **Strategy:** Choose between round-robin or parallel execution. Learn more about [scheduling strategies](/concepts/scheduling)
* **Locations:** Select one or more [public](/concepts/locations/#public-locations) locations to run the monitor from
* **Private locations**: ICMP monitors do not currently support [private locations](/platform/private-locations/overview)
* **Locations:** Select one or more [public](/concepts/locations/#public-locations) or [private](/platform/private-locations/overview) locations to run the monitor from

### Additional Settings

Expand Down
6 changes: 5 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
"pages": [
"platform/private-locations/overview",
"platform/private-locations/agent-configuration",
"platform/private-locations/dev-agent",
"platform/private-locations/agent-images",
"platform/private-locations/kubernetes-deployment",
"platform/private-locations/proxy-setup",
"platform/private-locations/scaling-redundancy",
Expand Down Expand Up @@ -1273,6 +1273,10 @@
{
"source": "/api-reference/error-groups/update-an-error-group-mainly-used-for-archiving-error-groups/",
"destination": "/api-reference/error-groups/update-an-error-group"
},
{
"source": "/platform/private-locations/dev-agent",
"destination": "/platform/private-locations/agent-images"
}
]
}
13 changes: 13 additions & 0 deletions platform/private-locations/agent-configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Variable|Description
`USE_OS_DNS_RESOLVER`|When set to true, TCP monitors will resolve DNS using `getaddrinfo` C function, instead of using the network. This enables easier DNS resolution for internal services e.g. services running in the same Kubernetes cluster.
`DEPENDENCY_CACHE`|(Default: `OFF`) Set to `CHECKLY_S3` to enable dependency caching for [Playwright Check Suites](/detect/synthetic-monitoring/playwright-checks/overview). Caches installed dependencies between runs to speed up check execution. Learn more about [dependency caching](/detect/synthetic-monitoring/playwright-checks/custom-dependencies#dependency-caching).
`AGENT_HEALTH_PORT`|(Default: `8081`) Port for the HTTP [health probe endpoints](#health-probe-endpoints).
`EXTERNAL_OBSERVABILITY`|(Default: `ON`) Set to `OFF` to disable [external observability](#external-observability) reporting of agent runtime errors to Checkly.

For example, you can add these variables to the standard docker run command like this:

Expand Down Expand Up @@ -164,6 +165,18 @@ Endpoint|Description

These endpoints are useful for configuring [Kubernetes readiness and liveness probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) or any other container orchestration health checks.

## External Observability

The Checkly Agent reports error-level events to Checkly to help detect crashes, bugs, and environment-related issues. This is enabled by default starting with agent v7.0.0.

Only limited technical metadata is collected (e.g. error messages, stack traces, agent version, platform, go runtime information). Sensitive data such as API keys, environment variables, check configuration, URLs, headers, and response bodies is **never** sent.

To disable external observability, set the `EXTERNAL_OBSERVABILITY` environment variable to `OFF`:

```bash Terminal
-e EXTERNAL_OBSERVABILITY=OFF
```

## Agent Version and Runtimes

Each Checkly Agent only supports specific [runtimes](/platform/runtimes/overview/). This is to keep the container image at an acceptable size. When you change the runtime a check uses, you may also need to change to the corresponding agent version. Similarly, if you update the agent version to one using a different runtime you also need to update your checks to use the same runtime.
Expand Down
105 changes: 105 additions & 0 deletions platform/private-locations/agent-images.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
title: 'Agent Images'
sidebarTitle: 'Agent Images'
---

Checkly provides different agent images tailored to specific use cases:

* **Standard**: The full agent image, supporting all check types

* **Dev**: The standard image with build tools for compiling npm packages with native dependencies

* **Uptime**: A lightweight image for running uptime monitors only

## Image Tag Format

Image tags define which agent variant and version you run.

#### Versioned Tags (Recommended)

```bash
# Runtime (production)
docker pull checkly/agent:1.2.3

# Dev (with build tools)
docker pull checkly/agent-dev:1.2.3

# Uptime
docker pull checkly/agent-uptime:1.2.3
```

#### Floating Tags

```bash
# Latest runtime release
docker pull checkly/agent:latest

# Latest dev release
docker pull checkly/agent-dev:latest

# Latest uptime release
docker pull checkly/agent-uptime:latest
```

<Note> Use versioned tags for reproducible deployments. Floating tags (like `:latest`) may change between pulls.</Note>

## Standard Image

The standard image (checkly/agent:X.Y.Z) is the default and recommended option for most setups.

It supports the full range of Checkly monitors:

* Synthetic checks: API, Multistep, Browser and Playwright Check Suites
* Uptime monitors: URL, DNS, TCP, ICMP, Heartbeat

Use the standard image unless you have a specific need for the dev or uptime variants.

## Uptime Image

The uptime image (checkly/agent:uptime) is a lightweight version of the agent designed for uptime monitoring only.

It supports URL, DNS, TCP, ICMP and Heartbeat monitors.

Use this image if you only need uptime checks and want a smaller, more focused runtime.

## Dev Image

If any of the checks you run on Private Locations rely on npm packages with native code, those packages need to be compiled during installation.

The standard agent is optimized for size and doesn’t ship with build tools. In those cases, you’ll need to use the dev image instead.

### When to Use the Dev Image

Use the dev image (`checkly/agent-dev:X.Y.Z`) when your checks require npm packages with native dependencies that need compilation. Common examples include:

- `sqlite3` - SQLite database
- `zookeeper` - Apache ZooKeeper client

If your checks only use pure JavaScript packages, the standard runtime image is recommended for its smaller size and faster startup.

### What's Included in the Dev Image

The dev agent works exactly like the standard agent, but includes the build tools required to compile native modules.

It adds the following to the standard image:

| Tool | Purpose |
|------|---------|
| `gcc`, `g++`, `make` | Compile native extensions |
| `python3` | Required by node-gyp |

These tools enable compilation of native Node.js modules during `npm install`.

### FAQ

<Accordion title="Can I use the dev image in production?">
Yes, the dev image is production-ready. It contains the same runtime as the standard image, plus build tools. The only tradeoff is a larger image size.
</Accordion>

<Accordion title="Do I need the dev image for Playwright checks?">
No. Playwright and its dependencies are pre-installed in both variants. You only need the dev image if your check code imports npm packages with native dependencies.
</Accordion>

<Accordion title="How do I know if a package needs the dev image?">
If `npm install` fails with errors about `node-gyp`, `python`, `gcc`, or "compilation failed", you likely need the dev image.
</Accordion>
14 changes: 12 additions & 2 deletions platform/private-locations/change-log.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,16 @@ Learn more about:

## Full release history

<Update label="v7.0.0" tags={["March 2026"]}>
- Added support for running ICMP and DNS monitors on Private Locations
- Introduced the [uptime agent image](LINK), a lightweight version of the agent for running uptime monitors (URL, DNS, TCP, ICMP, Heartbeat) only
- Added external observability for Private Location agents to capture runtime errors
- Error-level events can be reported to Checkly to help detect crashes, bugs, and environment-related issues
- Only limited technical metadata is collected (error message, stack trace, agent version, platform, Go runtime)
- Sensitive data such as API keys, environment variables, check configuration, URLs, headers, and response bodies is never sent
- Enabled by default, can be disabled with `EXTERNAL_OBSERVABILITY=off`
</Update>

<Update label="v6.3.2" tags={["March 2026"]}>
- Improved error logging for failed Playwright test report uploads, including the report file size
- Increased the maximum artifact upload size from 75 MB to 150 MB
Expand All @@ -30,7 +40,7 @@ Learn more about:
</Update>

<Update label="v6.3.0" tags={["December 2025"]}>
- Added [agent-dev image](https://www.checklyhq.com/docs/platform/private-locations/dev-agent/) including build tools to support building native npm packages. Going forward, the dev variant is published as a separate image rather than a tag on the main agent image
- Added [agent-dev image](https://www.checklyhq.com/docs/platform/private-locations/agent-images/) including build tools to support building native npm packages. Going forward, the dev variant is published as a separate image rather than a tag on the main agent image
- Improved secret scrubbing speed
- Improved error logging for hanging or long running Playwright Check Suite jobs
</Update>
Expand All @@ -40,7 +50,7 @@ Learn more about:
</Update>

<Update label="v6.1.7" tags={["December 2025"]}>
- Added support for a [dev image](https://www.checklyhq.com/docs/platform/private-locations/dev-agent/) including build tools to support building native npm packages
- Added support for a [dev image](https://www.checklyhq.com/docs/platform/private-locations/agent-images/) including build tools to support building native npm packages
- Improved internal logging and metrics for [Playwright Check Suites](/detect/synthetic-monitoring/playwright-checks/overview)
- Browser and Multistep checks using runtime 2025.04 now automatically scrub the `Authorization` header from requests
</Update>
Expand Down
82 changes: 0 additions & 82 deletions platform/private-locations/dev-agent.mdx

This file was deleted.

2 changes: 1 addition & 1 deletion platform/private-locations/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ Run production-grade agent deployments on a container orchestrator like Kubernet
How to calculate the number of agents and amount of resources needed.
</Card>

<Card title="Dev Image" href="/platform/private-locations/dev-agent">
<Card title="Dev Image" href="/platform/private-locations/agent-images">
Use the dev agent for npm packages that require compilation.
</Card>
</Columns>