Monitorien API-referenssi
Kenttien mahdolliset arvot
Monitorin sijainti
| Arvo | Kuvaus |
|---|---|
US_EAST_1 | N. Virginia |
CA_CENTRAL_1 | Canada (Montreal) |
EU_CENTRAL_1 | Frankfurt |
AP_NORTHEAST_1 | Tokyo |
Monitorihälytysten tyypit
| Arvo | Kuvaus |
|---|---|
INCIDENT | Häiriöhälytys |
EMAIL | Sähköpostihälytys |
SMS | Tekstiviestihälytys |
SLACK | Slack-hälytys |
DISCORD | Discord-hälytys |
MICROSOFT_TEAMS | Microsoft Teams -hälytys |
PHONE_CALL | Puheluhälytys |
WEBHOOK | Webhook-hälytys |
GOOGLE_CHAT | Google Chat -hälytys |
WHATSAPP | WhatsApp-hälytys |
Monitorin tila
| Arvo | Kuvaus |
|---|---|
UP | Monitori toimii normaalisti |
DOWN | Monitori on epäonnistunut |
DEGRADED | Monitorilla on ongelmia |
UNKNOWN | Monitorin tilaa ei voida määrittää |
Hae monitorit
Tämän päätepisteen avulla voit hakea ja selata listaa kaikista olemassa olevista monitoreista.
Päätepiste:
GET /:page_id/monitors
Kyselyparametrit
| Parametri | Tyyppi | Oletusarvo | Kuvaus |
|---|---|---|---|
page | number | 1 | Haettavan sivun numero. |
limit | number | 100 | Monitorien määrä sivua kohden. |
search | string | null | Hakutermi tulosten suodattamiseen. |
status | enum | null | Tilasuodatin ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED'). |
Esimerkkipyyntö
GET /1/monitors?limit=3&page=2&status=DOWN
Esimerkkivastaus
{"monitors": [{ "...": "monitor objects" }],"total": 10,"page": 3,"totalPages": 5,"limit": 2}
Luo monitori
Päätepiste:
POST /monitors
Esimerkkipyyntö
{"pageId": "page123","url": "https://example.com","httpMethod": "GET","body": null,"headers": {"Content-Type": "application/json","Authorization": "Bearer token"},"queryParams": {"search": "test","limit": "10"},"basicAuth": {"username": "user","password": "password"},"type": "HTTP","assertions": [{"type": "STATUSCODE","comparison": "EQUALS","selector": null,"target": "200"}],"alerts": ["alert-id-1", "alert-id-2"],"name": "Example Monitor","locations": "US_EAST_1","checksInterval": 300,"createComponent": true,"createMetric": true,"onFail": {"createIncident": true,"createOutageDuration": true,"publishIncident": true,"notifySubscribers": true},"onRecover": {"resolveIncident": true,"resolveOutageDuration": true,"publishIncident": true,"notifySubscribers": true}}
Esimerkkivastaus
{"monitor": {"pageId": "page123","url": "https://example.com","httpMethod": "GET","body": null,"headers": {"Content-Type": "application/json","Authorization": "Bearer token"},"queryParams": {"search": "test","limit": "10"},"basicAuth": {"username": "user","password": "password"},"type": "HTTP","assertions": [{"id": "assertion1","type": "STATUSCODE","comparison": "EQUALS","selector": null,"target": "200"}],"alerts": ["alert1", "alert2"],"name": "Example Monitor","locations": "US_EAST_1","checksInterval": 300,"createComponent": true,"createMetric": true,"onFail": {"createIncident": true,"createOutageDuration": true,"publishIncident": true,"notifySubscribers": true},"onRecover": {"resolveIncident": true,"resolveOutageDuration": true,"publishIncident": true,"notifySubscribers": true},"createdAt": "2023-08-08T12:00:00Z","updatedAt": "2023-08-08T12:00:00Z"},"message": "Monitor created successfully"}
Päivitä monitori
Päätepiste:
PUT /monitors/:id
Esimerkkipyyntö
{"url": "https://updated.com","name": "Updated Monitor Name"}
Esimerkkivastaus
{"monitor": {"pageId": "page123","url": "https://updated.com","httpMethod": "GET","body": null,"headers": {"Content-Type": "application/json","Authorization": "Bearer token"},"queryParams": {"search": "test","limit": "10"},"basicAuth": {"username": "user","password": "password"},"type": "HTTP","assertions": [{"id": "assertion1","type": "STATUSCODE","comparison": "EQUALS","selector": null,"value": "200"}],"alerts": ["alert1", "alert2"],"name": "Updated Monitor Name","locations": "US_EAST_1","checksInterval": 300,"createComponent": true,"createMetric": true,"onFail": {"createIncident": true,"createOutageDuration": true,"publishIncident": true,"notifySubscribers": true},"onRecover": {"resolveIncident": true,"resolveOutageDuration": true,"publishIncident": true,"notifySubscribers": true},"createdAt": "2023-08-08T12:00:00Z","updatedAt": "2023-08-08T12:00:00Z"},"message": "Monitor updated successfully"}
Poista monitori
Päätepiste:
DELETE /monitors/:id
Esimerkkipyyntö
DELETE /monitors/monitor-id-1
Esimerkkivastaus
{"message": "Monitor deleted successfully."}
Hae monitorin lokit
Päätepiste:
GET /monitors/:id/logs
Kyselyparametrit
| Parametri | Tyyppi | Oletusarvo | Kuvaus |
|---|---|---|---|
limit | number | 100 | Kohteiden määrä sivua kohden. Ei voi ylittää 1000:ta. |
page | number | 1 | Haettavan sivun numero. |
monitorId | string | - | Monitorin ID. |
location | string | null | Monitorin sijainti. |
createdAt | string | object | number | null | Luontipäivä. Voi olla merkkijono, numero tai objekti, jossa on kentät gte ja lte. |
isSuccessful | boolean | null | Onnistuiko tarkistus. |
isSSLCheck | boolean | null | Onko tarkistus SSL-tarkistus. |
httpStatusCode | string | null | Vastauksen HTTP-tilakoodi. |
status | ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED') | null | Monitorin tila. |
dnsTime | string | number | object | null | DNS-selvitykseen kulunut aika. |
tcpTime | string | number | object | null | TCP-yhteyteen kulunut aika. |
tlsTime | string | number | object | null | TLS-kättelyyn kulunut aika. |
firstByteTime | string | number | object | null | Ensimmäisen tavun vastaanottoon kulunut aika. |
downloadTime | string | number | object | null | Lataukseen kulunut aika. |
responseTime | string | number | object | null | Kokonaisvastausaika. |
performanceTime | string | number | object | null | Suorituskykyaika. |
accessabilityScore | string | number | object | null | Saavutettavuuspisteet. |
seoScore | string | number | object | null | SEO-pisteet. |
bestPracticesScore | string | number | object | null | Parhaiden käytäntöjen pisteet. |
successfulAssertions | string | number | object | null | Onnistuneiden ehtotarkistusten määrä. |
sort | string | aikajärjestyksessä | Kenttä, jonka mukaan lajitellaan. |
Esimerkkipyyntö
GET /monitors/monitor-id-1/logs?limit=100&page=1
Esimerkkivastaus
{"monitorLogs": [// {monitor log object},// {monitor log object 2}],"total": 478,"page": 1,"totalPages": 5,"limit": 100}
Suorita monitorin tarkistus ID:n perusteella
Päätepiste:
GET /monitors/:id/run
Kyselyparametrit
| Parametri | Tyyppi | Oletusarvo | Kuvaus |
|---|---|---|---|
location | 'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1' | - | Monitorin sijainti. Täytyy olla jokin määritetyistä arvoista. |
retry | boolean | false | Kertoo, yritetäänkö toimintoa uudelleen. Valinnainen. |
monitorLogId | string | null | Monitorilokin yksilöllinen tunniste. Valinnainen. |
Esimerkkipyyntö
GET /monitors/monitor-id-1/run?monitorId=abc123&location=US_EAST_1&retry=true&monitorLogId=log456
Esimerkkivastaus
{"status": "success","message": "Monitor check run successfully."}
Luo monitorihälytys
Päätepiste:
POST /monitor-alerts
Esimerkkipyyntö
{"type": "EMAIL","pageId": "page123","recipient": "user@example.com","recipientWorkspace": "workspace123","whenFails": true,"whenRecovers": true,"whenDegrades": false,"whenSslExpires": true,"sslExpiresInDays": 30,"monitors": ["monitor1", "monitor2"],"metadata": "Additional information about the alert"}
Esimerkkivastaus
{"monitor": {"id": "alert123","siteId": "site123","type": "EMAIL","recipient": "user@example.com","whenFails": true,"whenRecovers": true,"whenDegrades": false,"whenSslExpires": true,"sslExpiresInDays": 30,"monitors": [{ "id": "monitor1" }, { "id": "monitor2" }],"createdAt": "2023-08-08T12:00:00Z","updatedAt": "2023-08-08T12:00:00Z","metadata": "Additional information about the alert"},"message": "Monitor Alert created successfully"}
Päivitä monitorihälytys
Päätepiste:
PUT /monitor-alerts/:id
Esimerkkipyyntö
{"type": "EMAIL","monitors": ["monitor-1-id", "monitor-2-id", "monitor-3-id"]}
Esimerkkivastaus
{"monitor": {"type": "EMAIL","pageId": "page123","recipient": "user@example.com","recipientWorkspace": "workspace123","whenFails": true,"whenRecovers": true,"whenDegrades": false,"whenSslExpires": true,"sslExpiresInDays": 30,"monitors": ["monitor-1-id", "monitor-2-id"],"metadata": "Additional information about the alert"},"message": "Monitor alert updated successfully."}
Hae monitorihälytykset
Päätepiste:
GET /:page_id/monitor-alerts
Kyselyparametrit
| Parametri | Tyyppi | Oletusarvo | Kuvaus |
|---|---|---|---|
limit | number | 100 | Kohteiden määrä sivua kohden. |
page | number | 1 | Haettavan sivun numero. |
Esimerkkipyyntö
GET /1/monitor-alerts?limit=2&page=3
Esimerkkivastaus
{"monitorAlerts": [{...monitor alert objects}],"total": 27,"page": 3,"totalPages": 14,"limit": 2}
Poista monitorihälytys
Päätepiste:
DELETE /monitor-alerts/:id
Esimerkkipyyntö
DELETE /monitor-alerts/alert-id-1
Esimerkkivastaus
{"message": "Monitor alert deleted successfully."}
Luo monitoriryhmä
Päätepiste:
POST /monitors-groups
Esimerkkipyyntö
{"pageId": "page123","name": "Example Name","childId": "child456"}
Esimerkkivastaus
{"monitor": {"id": "group123","name": "Example Name","siteId": "site123","collapsed": false,"monitors": [{ "id": "monitor1" }, { "id": "monitor2" }],"groupId": "parentGroup123","children": [{ "id": "childGroup1", "name": "Child Group 1" },{ "id": "childGroup2", "name": "Child Group 2" }],"order": 1,"createdAt": "2023-08-08T12:00:00Z","updatedAt": "2023-08-08T12:00:00Z","parents": ["parent1", "parent2"],"componentId": "component123"},"message": "Monitor group created successfully."}
Päivitä monitoriryhmä
Päätepiste:
PUT /monitors-groups/:id
Esimerkkipyyntö
{"name": "Updated Monitor Group Name"}
Esimerkkivastaus
{"monitor": {"id": "group123","name": "Updated Monitor Group Name","siteId": "site123","collapsed": true,"monitors": [{ "id": "monitor1" }, { "id": "monitor2" }],"groupId": "parentGroup123","children": [{ "id": "childGroup1", "name": "Child Group 1" },{ "id": "childGroup2", "name": "Child Group 2" }],"order": 1,"createdAt": "2023-08-08T12:00:00Z","updatedAt": "2023-08-08T12:00:00Z","parents": ["parent1", "parent2"],"componentId": "component123"},"message": "Monitor group updated successfully."}
Poista monitoriryhmä
Päätepiste:
DELETE /monitors-groups/:id
Esimerkkipyyntö
DELETE /monitors-groups/group-id-1
Esimerkkivastaus
{"message": "Monitor group deleted successfully."}
Lisää monitoreita ryhmään
Päätepiste:
POST /monitors-groups/:id/monitors
Esimerkkipyyntö
{"monitors": ["monitor1", "monitor2", "monitor3"]}
Esimerkkivastaus
{"message": "Monitors added to the group successfully."}
Suorita monitoriryhmän tarkistus
Päätepiste:
GET /monitors-groups/:id/run
Kyselyparametrit
| Parametri | Tyyppi | Oletusarvo | Kuvaus |
|---|---|---|---|
location | 'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1' | - | Monitorin sijainti. Täytyy olla jokin määritetyistä arvoista. |
retry | boolean | false | Kertoo, yritetäänkö toimintoa uudelleen. Valinnainen. |
monitorLogId | string | null | Monitorilokin yksilöllinen tunniste. Valinnainen. |
Esimerkkipyyntö
GET /monitors-groups/group-id-1/run
Esimerkkivastaus
{"result": "OK","monitorLogId": "monitor-log-id-1"}
Cron-monitorit
Cron-monitorit seuraavat ajoitettuja töitä HTTP-pingien avulla. Tuotteen käyttöönotosta ja hallintapaneelin käytöstä katso Cron-valvonta.
Kenttien mahdolliset arvot
Cron-monitorin tila
| Arvo | Kuvaus |
|---|---|
UP | Monitori toimii normaalisti |
DOWN | Monitori on epäonnistunut |
DEGRADED | Monitorilla on ongelmia |
UNKNOWN | Monitorin tilaa ei voida määrittää |
Cron-monitorin toimintatila
| Arvo | Kuvaus |
|---|---|
ACTIVE | Monitoria tarkistetaan aktiivisesti |
PAUSED | Monitorin tarkistukset on keskeytetty |
MUTED | Monitori on mykistetty (ei ilmoituksia) |
Cron-monitorin lokin tila
| Arvo | Kuvaus |
|---|---|
SUCCESS | Työ suoritettiin onnistuneesti |
FAILURE | Työ raportoi nimenomaisesti epäonnistumisen |
MISSED | Työ ei pingannut odotetun aikaikkunan sisällä |
LATE | Työ pingasi jakson jälkeen mutta joustoajan sisällä |
STARTED | Työ raportoi käynnistyneensä (suoritusajan mittaus) |
Jakso ja joustoaika
Sekä period että grace määritetään sekunteina. period kertoo, kuinka usein työn pitäisi suorittua; grace on lisäaika, joka sallitaan ennen kuin monitori merkitään alhaalla olevaksi.
Hae cron-monitorit
Päätepiste:
GET /:page_id/monitors/cron
Kyselyparametrit
| Parametri | Tyyppi | Oletusarvo | Kuvaus |
|---|---|---|---|
limit | number | 100 | Cron-monitorien määrä sivua kohden. Enintään 100. |
page | number | 1 | Sivun numero. |
search | string | null | Hakutermi tulosten suodattamiseen nimen perusteella. |
status | enum | null | Tilasuodatin ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED'). |
Esimerkkipyyntö
GET /page123/monitors/cron?limit=10&page=1&status=DOWN
Esimerkkivastaus
{"cronMonitors": [{"id": "cron-abc123","name": "Daily backup","slug": "my-page-x7k2m9n4p1q8w3e5","period": 86400,"grace": 3600,"status": "UP","state": "ACTIVE","siteId": "page123","order": 1,"groupId": null,"componentId": "component-id-1","onFailCreateIncident": true,"onFailCreateOutageDuration": false,"onFailPublishIncident": true,"onFailNotifySubscribers": true,"onRecoverResolveIncident": true,"onRecoverResolveOutageDuration": false,"onRecoverPublishIncident": true,"onRecoverNotifySubscribers": true,"createTemplateId": null,"resolveTemplateId": null,"createdAt": "2024-01-15T08:00:00.000Z","updatedAt": "2024-01-15T08:00:00.000Z"}],"total": 1,"page": 1,"totalPages": 1,"limit": 10}
Luo cron-monitori
Päätepiste:
POST /monitors/cron
Esimerkkipyyntö
{"pageId": "page123","name": "Daily backup","period": 86400,"grace": 3600,"alerts": ["alert-id-1", "alert-id-2"],"createComponent": true,"onFail": {"createIncident": true,"createOutageDuration": false,"publishIncident": true,"notifySubscribers": true},"onRecover": {"resolveIncident": true,"resolveOutageDuration": false,"publishIncident": true,"notifySubscribers": true}}
Esimerkkivastaus
{"cronMonitor": {"id": "cron-abc123","name": "Daily backup","slug": "my-page-x7k2m9n4p1q8w3e5","period": 86400,"grace": 3600,"status": "UP","state": "ACTIVE","siteId": "page123","order": 1,"groupId": null,"componentId": "component-id-1","onFailCreateIncident": true,"onFailCreateOutageDuration": false,"onFailPublishIncident": true,"onFailNotifySubscribers": true,"onRecoverResolveIncident": true,"onRecoverResolveOutageDuration": false,"onRecoverPublishIncident": true,"onRecoverNotifySubscribers": true,"createTemplateId": null,"resolveTemplateId": null,"createdAt": "2024-01-15T08:00:00.000Z","updatedAt": "2024-01-15T08:00:00.000Z"},"message": "Cron monitor created successfully."}
Vastaus sisältää slug-arvon. Käytä sitä työsi ping-URL-osoitteiden muodostamiseen. Ensimmäinen onnistunut ping ajastaa taustatarkistustyön.
Päivitä cron-monitori
Päätepiste:
PUT /monitors/cron/:id
Esimerkkipyyntö
{"name": "Daily backup (updated)","period": 43200,"grace": 1800,"state": "PAUSED","alerts": ["alert-id-1"],"onFail": {"notifySubscribers": false}}
Esimerkkivastaus
{"cronMonitor": {"id": "cron-abc123","name": "Daily backup (updated)","slug": "my-page-x7k2m9n4p1q8w3e5","period": 43200,"grace": 1800,"status": "UP","state": "PAUSED","siteId": "page123","order": 1,"groupId": null,"componentId": "component-id-1","onFailCreateIncident": true,"onFailCreateOutageDuration": false,"onFailPublishIncident": true,"onFailNotifySubscribers": false,"onRecoverResolveIncident": true,"onRecoverResolveOutageDuration": false,"onRecoverPublishIncident": true,"onRecoverNotifySubscribers": true,"createTemplateId": null,"resolveTemplateId": null,"alerts": [{"id": "alert-id-1","type": "EMAIL","recipient": "ops@example.com"}],"createdAt": "2024-01-15T08:00:00.000Z","updatedAt": "2024-01-16T10:30:00.000Z"},"message": "Cron monitor updated successfully."}
Poista cron-monitori
Päätepiste:
DELETE /monitors/cron/:id
Esimerkkipyyntö
DELETE /monitors/cron/cron-abc123
Esimerkkivastaus
{"cronMonitor": {"id": "cron-abc123","name": "Daily backup","slug": "my-page-x7k2m9n4p1q8w3e5","period": 86400,"grace": 3600,"status": "UP","state": "ACTIVE","siteId": "page123","order": 1,"groupId": null,"componentId": "component-id-1","onFailCreateIncident": true,"onFailCreateOutageDuration": false,"onFailPublishIncident": true,"onFailNotifySubscribers": true,"onRecoverResolveIncident": true,"onRecoverResolveOutageDuration": false,"onRecoverPublishIncident": true,"onRecoverNotifySubscribers": true,"createTemplateId": null,"resolveTemplateId": null,"createdAt": "2024-01-15T08:00:00.000Z","updatedAt": "2024-01-15T08:00:00.000Z"},"message": "Cron monitor deleted successfully."}
Hae cron-monitorin lokit
Päätepiste:
GET /monitors/cron/:id/logs
Kyselyparametrit
| Parametri | Tyyppi | Oletusarvo | Kuvaus |
|---|---|---|---|
limit | number | 100 | Lokien määrä sivua kohden. Enintään 127. |
page | number | 1 | Sivun numero. Enintään 1000. |
startDate | string | 1 vuosi sitten | Lokivälin ISO 8601 -alkupäivä. |
endDate | string | nyt | Lokivälin ISO 8601 -loppupäivä. |
importance | enum | null | Suodata lokeja tärkeyden mukaan ('all', 'important'). |
Esimerkkipyyntö
GET /monitors/cron/cron-abc123/logs?limit=50&page=1&importance=important
Esimerkkivastaus
{"logs": [{"id": "log-xyz789","monitorId": "cron-abc123","status": "SUCCESS","requestType": "GET","agent": "curl/8.4.0","ipAddress": "203.0.113.10","createdAt": "2024-01-16T06:00:00.000Z","startedAt": "2024-01-16T05:59:58.000Z"}],"page": 1}
Hae cron-monitorin yhteenveto
Päätepiste:
GET /monitors/cron/:id/summary
Esimerkkipyyntö
GET /monitors/cron/cron-abc123/summary
Esimerkkivastaus
{"summary": {"totalLogs": 120,"totalFailedLogs": 3,"availability": 97.5,"oneDayAvailability": 100,"previousDayAvailability": 100,"sevenDayAvailability": 98.2,"previousSevenDayAvailability": 96.1,"thirtyDayAvailability": 97.5,"previousThirtyDayAvailability": 95.8,"lastSuccess": "2024-01-16T06:00:00.000Z","lastFailure": "2024-01-10T06:00:00.000Z","lastStarted": null,"upSince": "2024-01-10T07:00:00.000Z","downSince": null}}
Ping-päätepisteet
Nämä päätepisteet eivät vaadi todennusta. Monitorin slug toimii salaisuutena.
Voit pingata API:n perus-URL-osoitteen tai erillisen cron-palvelimen kautta:
- Onnistuminen:
https://cron.instatus.com/{slug}taiGET/POST/HEAD/monitors/cron/{slug} - Epäonnistuminen:
https://cron.instatus.com/{slug}/failtaiGET/POST/HEAD/monitors/cron/{slug}/fail - Aloitus:
https://cron.instatus.com/{slug}/starttaiGET/POST/HEAD/monitors/cron/{slug}/start
Lähetä onnistumisping aina, kun työsi valmistuu aikataulussa. Lähetä aloitusping ennen työn suorittamista ja onnistumis- tai epäonnistumisping sen päätyttyä, jotta suoritusaika tallentuu.
Esimerkki onnistumispingistä
curl https://cron.instatus.com/my-page-x7k2m9n4p1q8w3e5
Esimerkkivastaus
{"id": "log-xyz789","monitorId": "cron-abc123","status": "SUCCESS","requestType": "GET","agent": "curl/8.4.0","ipAddress": "203.0.113.10","createdAt": "2024-01-16T06:00:00.000Z"}
Jos slug on virheellinen, vastaus on:
{"message": "Monitor not found"}