Referensi API Monitor
Nilai yang mungkin untuk kolom
Lokasi Monitor
| Nilai | Deskripsi |
|---|---|
US_EAST_1 | N. Virginia |
CA_CENTRAL_1 | Kanada (Montreal) |
EU_CENTRAL_1 | Frankfurt |
AP_NORTHEAST_1 | Tokyo |
Jenis Peringatan Monitor
| Nilai | Deskripsi |
|---|---|
INCIDENT | Peringatan insiden |
EMAIL | Peringatan email |
SMS | Peringatan SMS |
SLACK | Peringatan Slack |
DISCORD | Peringatan Discord |
MICROSOFT_TEAMS | Peringatan Microsoft Teams |
PHONE_CALL | Peringatan panggilan telepon |
WEBHOOK | Peringatan webhook |
GOOGLE_CHAT | Peringatan Google Chat |
WHATSAPP | Peringatan WhatsApp |
Status Monitor
| Nilai | Deskripsi |
|---|---|
UP | Monitor berjalan normal |
DOWN | Monitor telah gagal |
DEGRADED | Monitor mengalami masalah |
UNKNOWN | Status monitor tidak bisa ditentukan |
Mendapatkan Monitor
Anda bisa memakai endpoint ini untuk menemukan dan menelusuri daftar semua monitor yang ada.
Endpoint:
GET /:page_id/monitors
Parameter Query
| Parameter | Tipe | Nilai Bawaan | Deskripsi |
|---|---|---|---|
page | number | 1 | Nomor halaman yang diambil. |
limit | number | 100 | Jumlah monitor per halaman. |
search | string | null | Kata kunci untuk menyaring hasil. |
status | enum | null | Filter status ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED'). |
Contoh permintaan
GET /1/monitors?limit=3&page=2&status=DOWN
Contoh respons
{"monitors": [{ "...": "monitor objects" }],"total": 10,"page": 3,"totalPages": 5,"limit": 2}
Membuat Monitor
Endpoint:
POST /monitors
Contoh permintaan
{"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}}
Contoh respons
{"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"}
Memperbarui Monitor
Endpoint:
PUT /monitors/:id
Contoh permintaan
{"url": "https://updated.com","name": "Updated Monitor Name"}
Contoh respons
{"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"}
Menghapus Monitor
Endpoint:
DELETE /monitors/:id
Contoh permintaan
DELETE /monitors/monitor-id-1
Contoh respons
{"message": "Monitor deleted successfully."}
Mendapatkan Log Monitor
Endpoint:
GET /monitors/:id/logs
Parameter Query
| Parameter | Tipe | Nilai Bawaan | Deskripsi |
|---|---|---|---|
limit | number | 100 | Jumlah item per halaman. Tidak boleh lebih dari 1000. |
page | number | 1 | Nomor halaman yang diambil. |
monitorId | string | - | ID monitor. |
location | string | null | Lokasi monitor. |
createdAt | string | object | number | null | Tanggal pembuatan. Bisa berupa string, angka, atau objek dengan kolom gte dan lte. |
isSuccessful | boolean | null | Apakah pemeriksaan berhasil. |
isSSLCheck | boolean | null | Apakah pemeriksaan berupa pemeriksaan SSL. |
httpStatusCode | string | null | Kode status HTTP dari respons. |
status | ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED') | null | Status monitor. |
dnsTime | string | number | object | null | Waktu untuk resolusi DNS. |
tcpTime | string | number | object | null | Waktu untuk koneksi TCP. |
tlsTime | string | number | object | null | Waktu untuk handshake TLS. |
firstByteTime | string | number | object | null | Waktu sampai bita pertama diterima. |
downloadTime | string | number | object | null | Waktu untuk pengunduhan. |
responseTime | string | number | object | null | Total waktu respons. |
performanceTime | string | number | object | null | Waktu performa. |
accessabilityScore | string | number | object | null | Skor aksesibilitas. |
seoScore | string | number | object | null | Skor SEO. |
bestPracticesScore | string | number | object | null | Skor praktik terbaik. |
successfulAssertions | string | number | object | null | Jumlah pernyataan yang berhasil. |
sort | string | kronologis | Kolom untuk pengurutan. |
Contoh permintaan
GET /monitors/monitor-id-1/logs?limit=100&page=1
Contoh respons
{"monitorLogs": [// {monitor log object},// {monitor log object 2}],"total": 478,"page": 1,"totalPages": 5,"limit": 100}
Menjalankan Pemeriksaan Monitor berdasarkan ID
Endpoint:
GET /monitors/:id/run
Parameter Query
| Parameter | Tipe | Nilai Bawaan | Deskripsi |
|---|---|---|---|
location | 'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1' | - | Lokasi monitor. Harus salah satu dari nilai yang ditentukan. |
retry | boolean | false | Menunjukkan apakah operasi harus dicoba ulang. Opsional. |
monitorLogId | string | null | Pengenal unik log monitor. Opsional. |
Contoh permintaan
GET /monitors/monitor-id-1/run?monitorId=abc123&location=US_EAST_1&retry=true&monitorLogId=log456
Contoh respons
{"status": "success","message": "Monitor check run successfully."}
Membuat Peringatan Monitor
Endpoint:
POST /monitor-alerts
Contoh permintaan
{"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"}
Contoh respons
{"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"}
Memperbarui Peringatan Monitor
Endpoint:
PUT /monitor-alerts/:id
Contoh permintaan
{"type": "EMAIL","monitors": ["monitor-1-id", "monitor-2-id", "monitor-3-id"]}
Contoh respons
{"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."}
Mendapatkan Peringatan Monitor
Endpoint:
GET /:page_id/monitor-alerts
Parameter Query
| Parameter | Tipe | Nilai Bawaan | Deskripsi |
|---|---|---|---|
limit | number | 100 | Jumlah item per halaman. |
page | number | 1 | Nomor halaman yang diambil. |
Contoh permintaan
GET /1/monitor-alerts?limit=2&page=3
Contoh respons
{"monitorAlerts": [{...monitor alert objects}],"total": 27,"page": 3,"totalPages": 14,"limit": 2}
Menghapus Peringatan Monitor
Endpoint:
DELETE /monitor-alerts/:id
Contoh permintaan
DELETE /monitor-alerts/alert-id-1
Contoh respons
{"message": "Monitor alert deleted successfully."}
Membuat Grup Monitor
Endpoint:
POST /monitors-groups
Contoh permintaan
{"pageId": "page123","name": "Example Name","childId": "child456"}
Contoh respons
{"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."}
Memperbarui Grup Monitor
Endpoint:
PUT /monitors-groups/:id
Contoh permintaan
{"name": "Updated Monitor Group Name"}
Contoh respons
{"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."}
Menghapus Grup Monitor
Endpoint:
DELETE /monitors-groups/:id
Contoh permintaan
DELETE /monitors-groups/group-id-1
Contoh respons
{"message": "Monitor group deleted successfully."}
Menambahkan Monitor ke Grup
Endpoint:
POST /monitors-groups/:id/monitors
Contoh permintaan
{"monitors": ["monitor1", "monitor2", "monitor3"]}
Contoh respons
{"message": "Monitors added to the group successfully."}
Menjalankan Pemeriksaan Grup Monitor
Endpoint:
GET /monitors-groups/:id/run
Parameter Query
| Parameter | Tipe | Nilai Bawaan | Deskripsi |
|---|---|---|---|
location | 'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1' | - | Lokasi monitor. Harus salah satu dari nilai yang ditentukan. |
retry | boolean | false | Menunjukkan apakah operasi harus dicoba ulang. Opsional. |
monitorLogId | string | null | Pengenal unik log monitor. Opsional. |
Contoh permintaan
GET /monitors-groups/group-id-1/run
Contoh respons
{"result": "OK","monitorLogId": "monitor-log-id-1"}
Monitor Cron
Monitor cron melacak pekerjaan terjadwal lewat ping HTTP. Untuk penyiapan produk dan penggunaan dashboard, lihat Pemantauan Cron.
Nilai yang mungkin untuk kolom
Status Monitor Cron
| Nilai | Deskripsi |
|---|---|
UP | Monitor berjalan normal |
DOWN | Monitor telah gagal |
DEGRADED | Monitor mengalami masalah |
UNKNOWN | Status monitor tidak bisa ditentukan |
Keadaan Monitor Cron
| Nilai | Deskripsi |
|---|---|
ACTIVE | Monitor diperiksa secara aktif |
PAUSED | Pemeriksaan monitor dijeda |
MUTED | Monitor dibisukan (tanpa notifikasi) |
Status Log Monitor Cron
| Nilai | Deskripsi |
|---|---|
SUCCESS | Pekerjaan selesai dengan sukses |
FAILURE | Pekerjaan secara eksplisit melaporkan kegagalan |
MISSED | Pekerjaan tidak melakukan ping dalam jendela yang diharapkan |
LATE | Pekerjaan melakukan ping setelah periode tetapi masih dalam tenggang |
STARTED | Pekerjaan melaporkan bahwa ia dimulai (pencatatan waktu eksekusi) |
Periode dan tenggang
Baik period maupun grace dinyatakan dalam detik. period adalah seberapa sering pekerjaan harus berjalan; grace adalah waktu tambahan yang diberikan sebelum monitor ditandai mati.
Mendapatkan Monitor Cron
Endpoint:
GET /:page_id/monitors/cron
Parameter Query
| Parameter | Tipe | Nilai Bawaan | Deskripsi |
|---|---|---|---|
limit | number | 100 | Jumlah monitor cron per halaman. Maksimum 100. |
page | number | 1 | Nomor halaman. |
search | string | null | Kata kunci untuk menyaring hasil berdasarkan nama. |
status | enum | null | Filter status ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED'). |
Contoh permintaan
GET /page123/monitors/cron?limit=10&page=1&status=DOWN
Contoh respons
{"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}
Membuat Monitor Cron
Endpoint:
POST /monitors/cron
Contoh permintaan
{"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}}
Contoh respons
{"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."}
Respons menyertakan sebuah slug. Pakai slug itu untuk menyusun URL ping bagi pekerjaan Anda. Ping berhasil yang pertama akan menjadwalkan pekerjaan pemeriksaan latar belakang.
Memperbarui Monitor Cron
Endpoint:
PUT /monitors/cron/:id
Contoh permintaan
{"name": "Daily backup (updated)","period": 43200,"grace": 1800,"state": "PAUSED","alerts": ["alert-id-1"],"onFail": {"notifySubscribers": false}}
Contoh respons
{"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."}
Menghapus Monitor Cron
Endpoint:
DELETE /monitors/cron/:id
Contoh permintaan
DELETE /monitors/cron/cron-abc123
Contoh respons
{"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."}
Mendapatkan Log Monitor Cron
Endpoint:
GET /monitors/cron/:id/logs
Parameter Query
| Parameter | Tipe | Nilai Bawaan | Deskripsi |
|---|---|---|---|
limit | number | 100 | Jumlah log per halaman. Maksimum 127. |
page | number | 1 | Nomor halaman. Maksimum 1000. |
startDate | string | 1 tahun lalu | Tanggal mulai ISO 8601 untuk rentang log. |
endDate | string | sekarang | Tanggal berakhir ISO 8601 untuk rentang log. |
importance | enum | null | Saring log berdasarkan kepentingan ('all', 'important'). |
Contoh permintaan
GET /monitors/cron/cron-abc123/logs?limit=50&page=1&importance=important
Contoh respons
{"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}
Mendapatkan Ringkasan Monitor Cron
Endpoint:
GET /monitors/cron/:id/summary
Contoh permintaan
GET /monitors/cron/cron-abc123/summary
Contoh respons
{"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}}
Endpoint ping
Endpoint ini tidak memerlukan autentikasi. slug monitor berperan sebagai secret-nya.
Anda bisa melakukan ping lewat URL dasar API atau host cron khusus:
- Berhasil:
https://cron.instatus.com/{slug}atauGET/POST/HEAD/monitors/cron/{slug} - Gagal:
https://cron.instatus.com/{slug}/failatauGET/POST/HEAD/monitors/cron/{slug}/fail - Mulai:
https://cron.instatus.com/{slug}/startatauGET/POST/HEAD/monitors/cron/{slug}/start
Kirim ping keberhasilan setiap kali pekerjaan Anda selesai sesuai jadwal. Kirim ping mulai sebelum pekerjaan berjalan dan ping keberhasilan atau kegagalan saat selesai untuk mencatat waktu eksekusi.
Contoh ping keberhasilan
curl https://cron.instatus.com/my-page-x7k2m9n4p1q8w3e5
Contoh respons
{"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"}
Jika slug-nya tidak valid, responsnya adalah:
{"message": "Monitor not found"}