Dokumentacja
Dostępność monitora
GET /api/v1/monitors/{id}/uptime
Dostępność jednego monitora w danym okresie: ta sama liczba co w aplikacji i w raportach dla klientów.
Parametry
| Parametr | Znaczenie |
|---|---|
from, to |
Okres. Bez nich – ostatnie 30 dni. |
Przykład
Wrzesień w strefie czasowej klienta (czas środkowoeuropejski letni, +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()
Odpowiedź
{
"data": {
"monitor": "a81c27e05f3d9b64",
"from": "2026-08-31T22:00:00Z",
"to": "2026-09-30T22:00:00Z",
"uptime": 99.961,
"downtime_seconds": 1012,
"observed_seconds": 2592000
}
}
Co się liczy
uptimeto wartość procentowa z trzema miejscami po przecinku: czas bez potwierdzonej awarii podzielony przez czas, w którym obserwowaliśmy. Nieudane sprawdzenie z jednej lokalizacji, którego nikt nie potwierdził, jej nie obniża.- Awarie liczą się od
confirmed_atdoresolved_atkażdego incydentu. Incydenty w trakcie okna serwisowego się nie liczą. - Czas przed pierwszym udanym sprawdzeniem nie liczy się ani na plus, ani na minus, więc monitor dodany w połowie miesiąca jest mierzony od tego dnia:
observed_secondsjest wtedy krótszy niż okres. - Monitor, który nigdy nie odpowiedział, nie ma dostępności:
uptime,downtime_secondsiobserved_secondsmają wartośćnull, nigdy0.