Skip to content

Get monitor time series

GET
/monitors/{monitor_id}/series
curl --request GET \
--url https://api.perstat.io/monitors/example/series \
--header 'Authorization: Bearer <token>'

Returns the aggregated measurement time series of a monitor over a selectable range from 3 hours to 90 days (default 1 day), bucketed server-side into evenly spaced points with uptime, latency, and check statistics. For agent-based threshold monitors the curve carries the measured metric instead of latency, and service monitors accept a series_metric parameter to choose between process CPU and memory. Accepts API keys.

monitor_id
required
string
range
string

3h|6h|12h|1d|7d|14d|30d|90d (default 1d)

series_metric
string

Dienst-Monitore: cpu|mem (Default cpu); Kurve = Prozess-CPU-% bzw. RAM-MB

Media typeapplication/json

Zeitreihe für die Monitor-Detailansicht: serverseitig in Buckets aggregiert, damit auch große Zeiträume (bis 90 Tage) wenige, gleichmäßige Punkte liefern.

object
bucket_seconds
required
integer format: int64
from_unix
required
integer format: int64
points
required
Array<object>

Ein aggregierter Zeit-Bucket je Region für den Detail-Chart.

object
avg_ms
integer | null format: int32
bucket_unix
required
integer format: int64
degraded
required
integer format: int64
down
required
integer format: int64
max_ms
integer | null format: int32
region
string | null
up
required
integer format: int64
range
required
string
stats
required

Range-Aggregat für die Stat-Cards (Uptime/Ø/P95/Anzahl).

object
avg_ms
integer | null format: int32
checks
required
integer format: int64
p95_ms
integer | null format: int32
uptime_pct
number | null format: double
to_unix
required
integer format: int64
Examplegenerated
{
"bucket_seconds": 1,
"from_unix": 1,
"points": [
{
"avg_ms": 1,
"bucket_unix": 1,
"degraded": 1,
"down": 1,
"max_ms": 1,
"region": "example",
"up": 1
}
],
"range": "example",
"stats": {
"avg_ms": 1,
"checks": 1,
"p95_ms": 1,
"uptime_pct": 1
},
"to_unix": 1
}