API-referanse for monitorer

Mulige verdier for felt

Monitorlokasjon

VerdiBeskrivelse
US_EAST_1N. Virginia
CA_CENTRAL_1Canada (Montreal)
EU_CENTRAL_1Frankfurt
AP_NORTHEAST_1Tokyo

Typer monitorvarsler

VerdiBeskrivelse
INCIDENTHendelsesvarsel
EMAILE-postvarsel
SMSSMS-varsel
SLACKSlack-varsel
DISCORDDiscord-varsel
MICROSOFT_TEAMSMicrosoft Teams-varsel
PHONE_CALLTelefonanropsvarsel
WEBHOOKWebhook-varsel
GOOGLE_CHATGoogle Chat-varsel
WHATSAPPWhatsApp-varsel

Monitorstatus

VerdiBeskrivelse
UPMonitoren kjører normalt
DOWNMonitoren har feilet
DEGRADEDMonitoren har problemer
UNKNOWNMonitorens tilstand kan ikke fastslås

Hent monitorer

Du kan bruke dette endepunktet til å finne og bla gjennom en liste over alle eksisterende monitorer.

Endepunkt:

GET /:page_id/monitors

Spørringsparametere

ParameterTypeStandardverdiBeskrivelse
pagenumber1Sidenummeret som skal hentes.
limitnumber100Antall monitorer per side.
searchstringnullSøkeord for å filtrere resultater.
statusenumnullStatusfilter ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED').

Eksempelforespørsel

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

Eksempelsvar

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

Opprett en monitor

Endepunkt:

POST /monitors

Eksempelforespørsel

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

Eksempelsvar

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

Oppdater en monitor

Endepunkt:

PUT /monitors/:id

Eksempelforespørsel

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

Eksempelsvar

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

Slett en monitor

Endepunkt:

DELETE /monitors/:id

Eksempelforespørsel

DELETE /monitors/monitor-id-1

Eksempelsvar

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

Hent monitorlogger

Endepunkt:

GET /monitors/:id/logs

Spørringsparametere

ParameterTypeStandardverdiBeskrivelse
limitnumber100Antall elementer per side. Kan ikke overstige 1000.
pagenumber1Sidenummeret som skal hentes.
monitorIdstring-ID-en til monitoren.
locationstringnullMonitorens lokasjon.
createdAtstring | object | numbernullOpprettelsesdatoen. Kan være en streng, et tall eller et objekt med feltene gte og lte.
isSuccessfulbooleannullOm sjekken var vellykket.
isSSLCheckbooleannullOm sjekken er en SSL-sjekk.
httpStatusCodestringnullHTTP-statuskoden i svaret.
status('UP', 'DOWN', 'UNKNOWN', 'DEGRADED')nullStatusen til monitoren.
dnsTimestring | number | objectnullTid brukt på DNS-oppslag.
tcpTimestring | number | objectnullTid brukt på TCP-tilkobling.
tlsTimestring | number | objectnullTid brukt på TLS-håndtrykk.
firstByteTimestring | number | objectnullTid brukt før første byte mottas.
downloadTimestring | number | objectnullTid brukt på nedlastingen.
responseTimestring | number | objectnullTotal svartid.
performanceTimestring | number | objectnullYtelsestid.
accessabilityScorestring | number | objectnullTilgjengelighetspoeng.
seoScorestring | number | objectnullSEO-poeng.
bestPracticesScorestring | number | objectnullPoeng for beste praksis.
successfulAssertionsstring | number | objectnullAntall vellykkede påstander.
sortstringkronologiskFeltet det skal sorteres etter.

Eksempelforespørsel

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

Eksempelsvar

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

Kjør monitorsjekk etter ID

Endepunkt:

GET /monitors/:id/run

Spørringsparametere

ParameterTypeStandardverdiBeskrivelse
location'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1'-Monitorens lokasjon. Må være en av de angitte verdiene.
retrybooleanfalseAngir om operasjonen skal forsøkes på nytt. Valgfritt.
monitorLogIdstringnullDen unike identifikatoren til monitorloggen. Valgfritt.

Eksempelforespørsel

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

Eksempelsvar

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

Opprett monitorvarsel

Endepunkt:

POST /monitor-alerts

Eksempelforespørsel

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

Eksempelsvar

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

Oppdater monitorvarsel

Endepunkt:

PUT /monitor-alerts/:id

Eksempelforespørsel

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

Eksempelsvar

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

Hent monitorvarsler

Endepunkt:

GET /:page_id/monitor-alerts

Spørringsparametere

ParameterTypeStandardverdiBeskrivelse
limitnumber100Antall elementer per side.
pagenumber1Sidenummeret som skal hentes.

Eksempelforespørsel

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

Eksempelsvar

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

Slett monitorvarsel

Endepunkt:

DELETE /monitor-alerts/:id

Eksempelforespørsel

DELETE /monitor-alerts/alert-id-1

Eksempelsvar

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

Opprett monitorgruppe

Endepunkt:

POST /monitors-groups

Eksempelforespørsel

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

Eksempelsvar

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

Oppdater monitorgruppe

Endepunkt:

PUT /monitors-groups/:id

Eksempelforespørsel

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

Eksempelsvar

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

Slett monitorgruppe

Endepunkt:

DELETE /monitors-groups/:id

Eksempelforespørsel

DELETE /monitors-groups/group-id-1

Eksempelsvar

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

Legg monitorer til i en gruppe

Endepunkt:

POST /monitors-groups/:id/monitors

Eksempelforespørsel

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

Eksempelsvar

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

Kjør sjekk for monitorgruppe

Endepunkt:

GET /monitors-groups/:id/run

Spørringsparametere

ParameterTypeStandardverdiBeskrivelse
location'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1'-Monitorens lokasjon. Må være en av de angitte verdiene.
retrybooleanfalseAngir om operasjonen skal forsøkes på nytt. Valgfritt.
monitorLogIdstringnullDen unike identifikatoren til monitorloggen. Valgfritt.

Eksempelforespørsel

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

Eksempelsvar

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

Cron-monitorer

Cron-monitorer følger planlagte jobber via HTTP-ping. For oppsett i produktet og bruk i dashbordet, se Cron-overvåking.

Mulige verdier for felt

Status for cron-monitor

VerdiBeskrivelse
UPMonitoren kjører normalt
DOWNMonitoren har feilet
DEGRADEDMonitoren har problemer
UNKNOWNMonitorens tilstand kan ikke fastslås

Tilstand for cron-monitor

VerdiBeskrivelse
ACTIVEMonitoren sjekkes aktivt
PAUSEDMonitorsjekkene er satt på pause
MUTEDMonitoren er dempet (ingen varslinger)

Loggstatus for cron-monitor

VerdiBeskrivelse
SUCCESSJobben ble fullført
FAILUREJobben rapporterte eksplisitt en feil
MISSEDJobben pinget ikke innenfor det forventede vinduet
LATEJobben pinget etter perioden, men innenfor fristen
STARTEDJobben meldte at den startet (kjøretidsmåling)

Periode og frist

Både period og grace angis i sekunder. period er hvor ofte jobben skal kjøre, mens grace er ekstra tid som tillates før monitoren markeres som nede.

Hent cron-monitorer

Endepunkt:

GET /:page_id/monitors/cron

Spørringsparametere

ParameterTypeStandardverdiBeskrivelse
limitnumber100Antall cron-monitorer per side. Maksimum er 100.
pagenumber1Sidenummeret.
searchstringnullSøkeord for å filtrere resultater etter navn.
statusenumnullStatusfilter ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED').

Eksempelforespørsel

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

Eksempelsvar

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

Opprett en cron-monitor

Endepunkt:

POST /monitors/cron

Eksempelforespørsel

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

Eksempelsvar

{
"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 inneholder en slug. Bruk den til å bygge ping-URL-er for jobben din. Den første vellykkede pingen planlegger bakgrunnsjobben som sjekker.

Oppdater en cron-monitor

Endepunkt:

PUT /monitors/cron/:id

Eksempelforespørsel

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

Eksempelsvar

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

Slett en cron-monitor

Endepunkt:

DELETE /monitors/cron/:id

Eksempelforespørsel

DELETE /monitors/cron/cron-abc123

Eksempelsvar

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

Hent logger for cron-monitor

Endepunkt:

GET /monitors/cron/:id/logs

Spørringsparametere

ParameterTypeStandardverdiBeskrivelse
limitnumber100Antall logger per side. Maksimum er 127.
pagenumber1Sidenummeret. Maksimum er 1000.
startDatestring1 år sidenISO 8601-startdato for loggperioden.
endDatestringISO 8601-sluttdato for loggperioden.
importanceenumnullFiltrer logger etter viktighet ('all', 'important').

Eksempelforespørsel

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

Eksempelsvar

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

Hent sammendrag for cron-monitor

Endepunkt:

GET /monitors/cron/:id/summary

Eksempelforespørsel

GET /monitors/cron/cron-abc123/summary

Eksempelsvar

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

Disse endepunktene krever ikke autentisering. Monitorens slug fungerer som hemmeligheten.

Du kan pinge via API-ets grunn-URL eller den dedikerte cron-verten:

  • Suksess: https://cron.instatus.com/{slug} eller GET / POST / HEAD /monitors/cron/{slug}
  • Feil: 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

Send en ping ved suksess hver gang jobben din fullfører etter planen. Send en ping ved start før jobben kjører, og en ping ved suksess eller feil når den er ferdig, for å registrere kjøretiden.

Eksempel på ping ved suksess

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

Eksempelsvar

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

Hvis slug-en er ugyldig, er svaret:

{
"message": "Monitor not found"
}