Monitorien API-referenssi

Kenttien mahdolliset arvot

Monitorin sijainti

ArvoKuvaus
US_EAST_1N. Virginia
CA_CENTRAL_1Canada (Montreal)
EU_CENTRAL_1Frankfurt
AP_NORTHEAST_1Tokyo

Monitorihälytysten tyypit

ArvoKuvaus
INCIDENTHäiriöhälytys
EMAILSähköpostihälytys
SMSTekstiviestihälytys
SLACKSlack-hälytys
DISCORDDiscord-hälytys
MICROSOFT_TEAMSMicrosoft Teams -hälytys
PHONE_CALLPuheluhälytys
WEBHOOKWebhook-hälytys
GOOGLE_CHATGoogle Chat -hälytys
WHATSAPPWhatsApp-hälytys

Monitorin tila

ArvoKuvaus
UPMonitori toimii normaalisti
DOWNMonitori on epäonnistunut
DEGRADEDMonitorilla on ongelmia
UNKNOWNMonitorin 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

ParametriTyyppiOletusarvoKuvaus
pagenumber1Haettavan sivun numero.
limitnumber100Monitorien määrä sivua kohden.
searchstringnullHakutermi tulosten suodattamiseen.
statusenumnullTilasuodatin ('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

ParametriTyyppiOletusarvoKuvaus
limitnumber100Kohteiden määrä sivua kohden. Ei voi ylittää 1000:ta.
pagenumber1Haettavan sivun numero.
monitorIdstring-Monitorin ID.
locationstringnullMonitorin sijainti.
createdAtstring | object | numbernullLuontipäivä. Voi olla merkkijono, numero tai objekti, jossa on kentät gte ja lte.
isSuccessfulbooleannullOnnistuiko tarkistus.
isSSLCheckbooleannullOnko tarkistus SSL-tarkistus.
httpStatusCodestringnullVastauksen HTTP-tilakoodi.
status('UP', 'DOWN', 'UNKNOWN', 'DEGRADED')nullMonitorin tila.
dnsTimestring | number | objectnullDNS-selvitykseen kulunut aika.
tcpTimestring | number | objectnullTCP-yhteyteen kulunut aika.
tlsTimestring | number | objectnullTLS-kättelyyn kulunut aika.
firstByteTimestring | number | objectnullEnsimmäisen tavun vastaanottoon kulunut aika.
downloadTimestring | number | objectnullLataukseen kulunut aika.
responseTimestring | number | objectnullKokonaisvastausaika.
performanceTimestring | number | objectnullSuorituskykyaika.
accessabilityScorestring | number | objectnullSaavutettavuuspisteet.
seoScorestring | number | objectnullSEO-pisteet.
bestPracticesScorestring | number | objectnullParhaiden käytäntöjen pisteet.
successfulAssertionsstring | number | objectnullOnnistuneiden ehtotarkistusten määrä.
sortstringaikajä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

ParametriTyyppiOletusarvoKuvaus
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.
retrybooleanfalseKertoo, yritetäänkö toimintoa uudelleen. Valinnainen.
monitorLogIdstringnullMonitorilokin 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

ParametriTyyppiOletusarvoKuvaus
limitnumber100Kohteiden määrä sivua kohden.
pagenumber1Haettavan 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

ParametriTyyppiOletusarvoKuvaus
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.
retrybooleanfalseKertoo, yritetäänkö toimintoa uudelleen. Valinnainen.
monitorLogIdstringnullMonitorilokin 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

ArvoKuvaus
UPMonitori toimii normaalisti
DOWNMonitori on epäonnistunut
DEGRADEDMonitorilla on ongelmia
UNKNOWNMonitorin tilaa ei voida määrittää

Cron-monitorin toimintatila

ArvoKuvaus
ACTIVEMonitoria tarkistetaan aktiivisesti
PAUSEDMonitorin tarkistukset on keskeytetty
MUTEDMonitori on mykistetty (ei ilmoituksia)

Cron-monitorin lokin tila

ArvoKuvaus
SUCCESSTyö suoritettiin onnistuneesti
FAILURETyö raportoi nimenomaisesti epäonnistumisen
MISSEDTyö ei pingannut odotetun aikaikkunan sisällä
LATETyö pingasi jakson jälkeen mutta joustoajan sisällä
STARTEDTyö 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

ParametriTyyppiOletusarvoKuvaus
limitnumber100Cron-monitorien määrä sivua kohden. Enintään 100.
pagenumber1Sivun numero.
searchstringnullHakutermi tulosten suodattamiseen nimen perusteella.
statusenumnullTilasuodatin ('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

ParametriTyyppiOletusarvoKuvaus
limitnumber100Lokien määrä sivua kohden. Enintään 127.
pagenumber1Sivun numero. Enintään 1000.
startDatestring1 vuosi sittenLokivälin ISO 8601 -alkupäivä.
endDatestringnytLokivälin ISO 8601 -loppupäivä.
importanceenumnullSuodata 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} tai GET / POST / HEAD /monitors/cron/{slug}
  • Epäonnistuminen: https://cron.instatus.com/{slug}/fail tai GET / POST / HEAD /monitors/cron/{slug}/fail
  • Aloitus: https://cron.instatus.com/{slug}/start tai GET / 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"
}