Skip to main content

Catchpoint

Forward Catchpoint synthetic monitoring results — DNS time, connect time, response time, availability, and packet loss — to xScaler using webhooks and the OpenTelemetry Collector.

Pattern: Catchpoint Webhook → OTel Collector (HTTP receiver) → xScaler OTLP endpoint


Prerequisites

  • Catchpoint account with webhook access
  • OpenTelemetry Collector running at a publicly accessible URL
  • xScaler tenant credentials (token + tenant ID)

Setup

1. Configure OTel Collector to receive Catchpoint webhooks

receivers:
otlp:
protocols:
http:
endpoint: 0.0.0.0:4318

processors:
transform:
metric_statements:
- context: metric
statements:
- set(description, "Catchpoint test metric")
batch:
timeout: 10s

exporters:
otlphttp/xscaler:
endpoint: https://euw1-01.m.xscalerlabs.com
headers:
Authorization: "Bearer <token>"
X-Scope-OrgID: "<tenant-id>"
compression: gzip

service:
pipelines:
metrics:
receivers: [otlp]
processors: [transform, batch]
exporters: [otlphttp/xscaler]

2. Configure Catchpoint Webhook

In Catchpoint portal → Settings → Webhooks:

  • URL: http://your-collector:4318/v1/metrics
  • Format: JSON
  • Test types: Web, API, DNS, Ping, etc.

3. Alternative — Prometheus bridge

Use the Catchpoint Prometheus exporter if available for your plan:

scrape_configs:
- job_name: catchpoint
static_configs:
- targets: ['catchpoint-exporter:9096']

remote_write:
- url: https://euw1-01.m.xscalerlabs.com/api/v1/push
authorization:
credentials: <token>
headers:
X-Scope-OrgID: <tenant-id>

Option B — Grafana Alloy

otelcol.receiver.otlp "catchpoint" {
http { endpoint = "0.0.0.0:4318" }
output {
metrics = [otelcol.exporter.otlphttp.xscaler.input]
}
}

otelcol.exporter.otlphttp "xscaler" {
client {
endpoint = "https://euw1-01.m.xscalerlabs.com"
headers = {
"Authorization" = "Bearer <token>",
"X-Scope-OrgID" = "<tenant-id>",
}
}
}

Logs

Catchpoint test results — available via the Catchpoint REST API. Forward to xScaler using an OTel Collector.

Key metrics

MetricDescription
catchpoint_test_duration_msTotal test duration
catchpoint_dns_time_msDNS resolution time
catchpoint_connect_time_msTCP connect time
catchpoint_response_time_msTime to first byte
catchpoint_availability_percentTest availability percentage
catchpoint_packet_loss_percentPacket loss for ping tests