Dokumentacija
Razpoložljivost monitorja
GET /api/v1/monitors/{id}/uptime
Razpoložljivost enega monitorja v obdobju: ista številka kot v aplikaciji in v poročilih za stranke.
Parametri
| Parameter | Pomen |
|---|---|
from, to |
Obdobje. Brez njiju zadnjih 30 dni. |
Primer
September v časovnem pasu stranke (srednjeevropski poletni čas, +02:00):
cURL
curl -G http://pulsekeeper.io/api/v1/monitors/a81c27e05f3d9b64/uptime \
-H "Authorization: Bearer $PULSEKEEPER_TOKEN" \
--data-urlencode "from=2026-09-01T00:00:00+02:00" \
--data-urlencode "to=2026-10-01T00:00:00+02:00"
PHP
<?php
// composer require guzzlehttp/guzzle
$client = new GuzzleHttp\Client([
'base_uri' => 'http://pulsekeeper.io/api/v1/',
'headers' => ['Authorization' => 'Bearer '.getenv('PULSEKEEPER_TOKEN')],
]);
$timezone = new DateTimeZone('Europe/Ljubljana');
$from = new DateTimeImmutable('first day of last month midnight', $timezone);
$uptime = json_decode($client->get('monitors/a81c27e05f3d9b64/uptime', ['query' => [
'from' => $from->format(DATE_ATOM),
'to' => $from->modify('+1 month')->format(DATE_ATOM),
]])->getBody(), true)['data'];
JavaScript
const query = new URLSearchParams({
from: '2026-09-01T00:00:00+02:00',
to: '2026-10-01T00:00:00+02:00',
});
const response = await fetch(`http://pulsekeeper.io/api/v1/monitors/a81c27e05f3d9b64/uptime?${query}`, {
headers: { Authorization: `Bearer ${process.env.PULSEKEEPER_TOKEN}` },
});
const { data: uptime } = await response.json();
Go
loc, _ := time.LoadLocation("Europe/Ljubljana")
from := time.Date(2026, time.September, 1, 0, 0, 0, 0, loc)
query := url.Values{}
query.Set("from", from.Format(time.RFC3339))
query.Set("to", from.AddDate(0, 1, 0).Format(time.RFC3339))
req, _ := http.NewRequest("GET", "http://pulsekeeper.io/api/v1/monitors/a81c27e05f3d9b64/uptime?"+query.Encode(), nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("PULSEKEEPER_TOKEN"))
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
Odgovor
{
"data": {
"monitor": "a81c27e05f3d9b64",
"from": "2026-08-31T22:00:00Z",
"to": "2026-09-30T22:00:00Z",
"uptime": 99.961,
"downtime_seconds": 1012,
"observed_seconds": 2592000
}
}
Kaj se šteje
uptimeje odstotek s tremi decimalkami: čas brez potrjenega izpada, deljen s časom, ko smo nadzirali. Neuspelo preverjanje z ene lokacije, ki ga nihče ni potrdil, ga ne zniža.- Izpadi se štejejo od
confirmed_atdoresolved_atvsakega incidenta. Incidenti med oknom vzdrževanja se ne štejejo. - Čas pred prvim uspešnim preverjanjem se ne šteje ne v korist ne v škodo, zato se monitor, dodan sredi meseca, meri od tistega dne:
observed_secondsje tedaj krajši od obdobja. - Monitor, ki se še nikoli ni odzval, nima razpoložljivosti:
uptime,downtime_secondsinobserved_secondssonull, nikoli0.