API-referens för övervakare

Möjliga värden för fält

Övervakarens plats

VärdeBeskrivning
US_EAST_1N. Virginia
CA_CENTRAL_1Kanada (Montreal)
EU_CENTRAL_1Frankfurt
AP_NORTHEAST_1Tokyo

Typer av övervakningsaviseringar

VärdeBeskrivning
INCIDENTIncidentavisering
EMAILE-postavisering
SMSSMS-avisering
SLACKSlack-avisering
DISCORDDiscord-avisering
MICROSOFT_TEAMSMicrosoft Teams-avisering
PHONE_CALLAvisering via telefonsamtal
WEBHOOKWebhook-avisering
GOOGLE_CHATGoogle Chat-avisering
WHATSAPPWhatsApp-avisering

Övervakarens status

VärdeBeskrivning
UPÖvervakaren fungerar normalt
DOWNÖvervakaren har fallerat
DEGRADEDÖvervakaren har problem
UNKNOWNÖvervakarens tillstånd går inte att avgöra

Hämta övervakare

Du kan använda den här endpointen för att hitta och bläddra i en lista över alla befintliga övervakare.

Endpoint:

GET /:page_id/monitors

Query-parametrar

ParameterTypStandardvärdeBeskrivning
pagenumber1Sidnumret som ska hämtas.
limitnumber100Antal övervakare per sida.
searchstringnullSökterm för att filtrera resultaten.
statusenumnullStatusfilter ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED').

Exempelanrop

GET /1/monitors?limit=3&page=2&status=DOWN

Exempelsvar

{
"monitors": [{ "...": "monitor objects" }],
"total": 10,
"page": 3,
"totalPages": 5,
"limit": 2
}

Skapa en övervakare

Endpoint:

POST /monitors

Exempelanrop

{
"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
}
}

Exempelsvar

{
"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"
}

Uppdatera en övervakare

Endpoint:

PUT /monitors/:id

Exempelanrop

{
"url": "https://updated.com",
"name": "Updated Monitor Name"
}

Exempelsvar

{
"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"
}

Radera en övervakare

Endpoint:

DELETE /monitors/:id

Exempelanrop

DELETE /monitors/monitor-id-1

Exempelsvar

{
"message": "Monitor deleted successfully."
}

Hämta övervakningsloggar

Endpoint:

GET /monitors/:id/logs

Query-parametrar

ParameterTypStandardvärdeBeskrivning
limitnumber100Antal poster per sida. Får inte överstiga 1000.
pagenumber1Sidnumret som ska hämtas.
monitorIdstring-Övervakarens ID.
locationstringnullÖvervakarens plats.
createdAtstring | object | numbernullSkapandedatum. Kan vara en sträng, ett tal eller ett objekt med fälten gte och lte.
isSuccessfulbooleannullOm kontrollen lyckades.
isSSLCheckbooleannullOm kontrollen är en SSL-kontroll.
httpStatusCodestringnullSvarets HTTP-statuskod.
status('UP', 'DOWN', 'UNKNOWN', 'DEGRADED')nullÖvervakarens status.
dnsTimestring | number | objectnullTid för DNS-uppslag.
tcpTimestring | number | objectnullTid för TCP-anslutning.
tlsTimestring | number | objectnullTid för TLS-handskakning.
firstByteTimestring | number | objectnullTid till första byten togs emot.
downloadTimestring | number | objectnullTid för nedladdningen.
responseTimestring | number | objectnullTotal svarstid.
performanceTimestring | number | objectnullPrestandatid.
accessabilityScorestring | number | objectnullTillgänglighetspoäng.
seoScorestring | number | objectnullSEO-poäng.
bestPracticesScorestring | number | objectnullPoäng för best practices.
successfulAssertionsstring | number | objectnullAntal uppfyllda villkor.
sortstringkronologisktFält att sortera efter.

Exempelanrop

GET /monitors/monitor-id-1/logs?limit=100&page=1

Exempelsvar

{
"monitorLogs": [
// {monitor log object},
// {monitor log object 2}
],
"total": 478,
"page": 1,
"totalPages": 5,
"limit": 100
}

Kör en övervakningskontroll via ID

Endpoint:

GET /monitors/:id/run

Query-parametrar

ParameterTypStandardvärdeBeskrivning
location'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1'-Övervakarens plats. Måste vara ett av de angivna värdena.
retrybooleanfalseAnger om operationen ska försökas igen. Valfritt.
monitorLogIdstringnullÖvervakningsloggens unika identifierare. Valfritt.

Exempelanrop

GET /monitors/monitor-id-1/run?monitorId=abc123&location=US_EAST_1&retry=true&monitorLogId=log456

Exempelsvar

{
"status": "success",
"message": "Monitor check run successfully."
}

Skapa övervakningsavisering

Endpoint:

POST /monitor-alerts

Exempelanrop

{
"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"
}

Exempelsvar

{
"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"
}

Uppdatera övervakningsavisering

Endpoint:

PUT /monitor-alerts/:id

Exempelanrop

{
"type": "EMAIL",
"monitors": ["monitor-1-id", "monitor-2-id", "monitor-3-id"]
}

Exempelsvar

{
"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."
}

Hämta övervakningsaviseringar

Endpoint:

GET /:page_id/monitor-alerts

Query-parametrar

ParameterTypStandardvärdeBeskrivning
limitnumber100Antal poster per sida.
pagenumber1Sidnumret som ska hämtas.

Exempelanrop

GET /1/monitor-alerts?limit=2&page=3

Exempelsvar

{
"monitorAlerts": [
{...monitor alert objects}
],
"total": 27,
"page": 3,
"totalPages": 14,
"limit": 2
}

Radera övervakningsavisering

Endpoint:

DELETE /monitor-alerts/:id

Exempelanrop

DELETE /monitor-alerts/alert-id-1

Exempelsvar

{
"message": "Monitor alert deleted successfully."
}

Skapa övervakningsgrupp

Endpoint:

POST /monitors-groups

Exempelanrop

{
"pageId": "page123",
"name": "Example Name",
"childId": "child456"
}

Exempelsvar

{
"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."
}

Uppdatera övervakningsgrupp

Endpoint:

PUT /monitors-groups/:id

Exempelanrop

{
"name": "Updated Monitor Group Name"
}

Exempelsvar

{
"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."
}

Radera övervakningsgrupp

Endpoint:

DELETE /monitors-groups/:id

Exempelanrop

DELETE /monitors-groups/group-id-1

Exempelsvar

{
"message": "Monitor group deleted successfully."
}

Lägg till övervakare i en grupp

Endpoint:

POST /monitors-groups/:id/monitors

Exempelanrop

{
"monitors": ["monitor1", "monitor2", "monitor3"]
}

Exempelsvar

{
"message": "Monitors added to the group successfully."
}

Kör kontroll för en övervakningsgrupp

Endpoint:

GET /monitors-groups/:id/run

Query-parametrar

ParameterTypStandardvärdeBeskrivning
location'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1'-Övervakarens plats. Måste vara ett av de angivna värdena.
retrybooleanfalseAnger om operationen ska försökas igen. Valfritt.
monitorLogIdstringnullÖvervakningsloggens unika identifierare. Valfritt.

Exempelanrop

GET /monitors-groups/group-id-1/run

Exempelsvar

{
"result": "OK",
"monitorLogId": "monitor-log-id-1"
}

Cron-övervakare

Cron-övervakare håller koll på schemalagda jobb via HTTP-pingar. För uppsättning i produkten och användning i dashboarden, se Cron-övervakning.

Möjliga värden för fält

Status för cron-övervakare

VärdeBeskrivning
UPÖvervakaren fungerar normalt
DOWNÖvervakaren har fallerat
DEGRADEDÖvervakaren har problem
UNKNOWNÖvervakarens tillstånd går inte att avgöra

Tillstånd för cron-övervakare

VärdeBeskrivning
ACTIVEÖvervakaren kontrolleras aktivt
PAUSEDÖvervakarens kontroller är pausade
MUTEDÖvervakaren är tystad (inga aviseringar)

Loggstatus för cron-övervakare

VärdeBeskrivning
SUCCESSJobbet slutfördes
FAILUREJobbet rapporterade uttryckligen ett fel
MISSEDJobbet pingade inte inom det förväntade fönstret
LATEJobbet pingade efter perioden men inom respiten
STARTEDJobbet rapporterade att det startade (körtidsmätning)

Period och respit

Både period och grace anges i sekunder. period är hur ofta jobbet ska köras; grace är extra tid som tillåts innan övervakaren markeras som nere.

Hämta cron-övervakare

Endpoint:

GET /:page_id/monitors/cron

Query-parametrar

ParameterTypStandardvärdeBeskrivning
limitnumber100Antal cron-övervakare per sida. Max är 100.
pagenumber1Sidnumret.
searchstringnullSökterm för att filtrera resultaten på namn.
statusenumnullStatusfilter ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED').

Exempelanrop

GET /page123/monitors/cron?limit=10&page=1&status=DOWN

Exempelsvar

{
"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
}

Skapa en cron-övervakare

Endpoint:

POST /monitors/cron

Exempelanrop

{
"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
}
}

Exempelsvar

{
"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."
}

Svaret innehåller en slug. Använd den för att bygga ping-URL:er för ditt jobb. Den första lyckade pingen schemalägger bakgrundskontrollen.

Uppdatera en cron-övervakare

Endpoint:

PUT /monitors/cron/:id

Exempelanrop

{
"name": "Daily backup (updated)",
"period": 43200,
"grace": 1800,
"state": "PAUSED",
"alerts": ["alert-id-1"],
"onFail": {
"notifySubscribers": false
}
}

Exempelsvar

{
"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."
}

Radera en cron-övervakare

Endpoint:

DELETE /monitors/cron/:id

Exempelanrop

DELETE /monitors/cron/cron-abc123

Exempelsvar

{
"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."
}

Hämta loggar för en cron-övervakare

Endpoint:

GET /monitors/cron/:id/logs

Query-parametrar

ParameterTypStandardvärdeBeskrivning
limitnumber100Antal loggar per sida. Max är 127.
pagenumber1Sidnumret. Max är 1000.
startDatestring1 år sedanStartdatum enligt ISO 8601 för loggintervallet.
endDatestringnuSlutdatum enligt ISO 8601 för loggintervallet.
importanceenumnullFiltrera loggar efter vikt ('all', 'important').

Exempelanrop

GET /monitors/cron/cron-abc123/logs?limit=50&page=1&importance=important

Exempelsvar

{
"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
}

Hämta sammanfattning för en cron-övervakare

Endpoint:

GET /monitors/cron/:id/summary

Exempelanrop

GET /monitors/cron/cron-abc123/summary

Exempelsvar

{
"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-endpoints

De här endpointerna kräver inte autentisering. Övervakarens slug fungerar som hemlighet.

Du kan pinga via API:ets bas-URL eller via den dedikerade cron-värden:

  • Lyckat: https://cron.instatus.com/{slug} eller GET / POST / HEAD /monitors/cron/{slug}
  • Fel: https://cron.instatus.com/{slug}/fail eller GET / POST / HEAD /monitors/cron/{slug}/fail
  • Start: https://cron.instatus.com/{slug}/start eller GET / POST / HEAD /monitors/cron/{slug}/start

Skicka en lyckad-ping varje gång jobbet blir klart enligt schemat. Skicka en startping innan jobbet körs och en lyckad- eller fel-ping när det är klart för att registrera körtiden.

Exempel på lyckad ping

curl https://cron.instatus.com/my-page-x7k2m9n4p1q8w3e5

Exempelsvar

{
"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"
}

Om sluggen är ogiltig blir svaret:

{
"message": "Monitor not found"
}