İzleyiciler API Referansı
Alanlar için olası değerler
İzleyici konumu
| Değer | Açıklama |
|---|---|
US_EAST_1 | Kuzey Virginia |
CA_CENTRAL_1 | Kanada (Montreal) |
EU_CENTRAL_1 | Frankfurt |
AP_NORTHEAST_1 | Tokyo |
İzleyici uyarı türleri
| Değer | Açıklama |
|---|---|
INCIDENT | Olay uyarısı |
EMAIL | E-posta uyarısı |
SMS | SMS uyarısı |
SLACK | Slack uyarısı |
DISCORD | Discord uyarısı |
MICROSOFT_TEAMS | Microsoft Teams uyarısı |
PHONE_CALL | Telefon araması uyarısı |
WEBHOOK | Webhook uyarısı |
GOOGLE_CHAT | Google Chat uyarısı |
WHATSAPP | WhatsApp uyarısı |
İzleyici durumu
| Değer | Açıklama |
|---|---|
UP | İzleyici normal çalışıyor |
DOWN | İzleyici başarısız oldu |
DEGRADED | İzleyici sorun yaşıyor |
UNKNOWN | İzleyicinin durumu belirlenemiyor |
İzleyicileri getirin
Mevcut tüm izleyicilerin listesini bulmak ve içinde gezinmek için bu uç noktayı kullanabilirsiniz.
Uç nokta:
GET /:page_id/monitors
Sorgu parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
page | number | 1 | Getirilecek sayfa numarası. |
limit | number | 100 | Sayfa başına izleyici sayısı. |
search | string | null | Sonuçları filtrelemek için arama terimi. |
status | enum | null | Durum filtresi ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED'). |
Örnek istek
GET /1/monitors?limit=3&page=2&status=DOWN
Örnek yanıt
{"monitors": [{ "...": "monitor objects" }],"total": 10,"page": 3,"totalPages": 5,"limit": 2}
İzleyici oluşturun
Uç nokta:
POST /monitors
Örnek istek
{"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}}
Örnek yanıt
{"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"}
İzleyiciyi güncelleyin
Uç nokta:
PUT /monitors/:id
Örnek istek
{"url": "https://updated.com","name": "Updated Monitor Name"}
Örnek yanıt
{"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"}
İzleyiciyi silin
Uç nokta:
DELETE /monitors/:id
Örnek istek
DELETE /monitors/monitor-id-1
Örnek yanıt
{"message": "Monitor deleted successfully."}
İzleyici günlüklerini getirin
Uç nokta:
GET /monitors/:id/logs
Sorgu parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
limit | number | 100 | Sayfa başına öğe sayısı. 1000'i aşamaz. |
page | number | 1 | Getirilecek sayfa numarası. |
monitorId | string | - | İzleyicinin ID'si. |
location | string | null | İzleyicinin konumu. |
createdAt | string | object | number | null | Oluşturulma tarihi. Bir metin, bir sayı ya da gte ve lte alanlarını içeren bir nesne olabilir. |
isSuccessful | boolean | null | Kontrolün başarılı olup olmadığı. |
isSSLCheck | boolean | null | Kontrolün bir SSL kontrolü olup olmadığı. |
httpStatusCode | string | null | Yanıtın HTTP durum kodu. |
status | ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED') | null | İzleyicinin durumu. |
dnsTime | string | number | object | null | DNS çözümlemesi için geçen süre. |
tcpTime | string | number | object | null | TCP bağlantısı için geçen süre. |
tlsTime | string | number | object | null | TLS el sıkışması için geçen süre. |
firstByteTime | string | number | object | null | İlk baytın alınması için geçen süre. |
downloadTime | string | number | object | null | İndirme için geçen süre. |
responseTime | string | number | object | null | Toplam yanıt süresi. |
performanceTime | string | number | object | null | Performans süresi. |
accessabilityScore | string | number | object | null | Erişilebilirlik puanı. |
seoScore | string | number | object | null | SEO puanı. |
bestPracticesScore | string | number | object | null | En iyi uygulamalar puanı. |
successfulAssertions | string | number | object | null | Başarılı doğrulama sayısı. |
sort | string | kronolojik | Sıralanacak alan. |
Örnek istek
GET /monitors/monitor-id-1/logs?limit=100&page=1
Örnek yanıt
{"monitorLogs": [// {monitor log object},// {monitor log object 2}],"total": 478,"page": 1,"totalPages": 5,"limit": 100}
ID ile izleyici kontrolü çalıştırın
Uç nokta:
GET /monitors/:id/run
Sorgu parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
location | 'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1' | - | İzleyicinin konumu. Belirtilen değerlerden biri olmalıdır. |
retry | boolean | false | İşlemin yeniden denenip denenmeyeceğini belirtir. İsteğe bağlı. |
monitorLogId | string | null | İzleyici günlüğünün benzersiz kimliği. İsteğe bağlı. |
Örnek istek
GET /monitors/monitor-id-1/run?monitorId=abc123&location=US_EAST_1&retry=true&monitorLogId=log456
Örnek yanıt
{"status": "success","message": "Monitor check run successfully."}
İzleyici uyarısı oluşturun
Uç nokta:
POST /monitor-alerts
Örnek istek
{"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"}
Örnek yanıt
{"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"}
İzleyici uyarısını güncelleyin
Uç nokta:
PUT /monitor-alerts/:id
Örnek istek
{"type": "EMAIL","monitors": ["monitor-1-id", "monitor-2-id", "monitor-3-id"]}
Örnek yanıt
{"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."}
İzleyici uyarılarını getirin
Uç nokta:
GET /:page_id/monitor-alerts
Sorgu parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
limit | number | 100 | Sayfa başına öğe sayısı. |
page | number | 1 | Getirilecek sayfa numarası. |
Örnek istek
GET /1/monitor-alerts?limit=2&page=3
Örnek yanıt
{"monitorAlerts": [{...monitor alert objects}],"total": 27,"page": 3,"totalPages": 14,"limit": 2}
İzleyici uyarısını silin
Uç nokta:
DELETE /monitor-alerts/:id
Örnek istek
DELETE /monitor-alerts/alert-id-1
Örnek yanıt
{"message": "Monitor alert deleted successfully."}
İzleyici grubu oluşturun
Uç nokta:
POST /monitors-groups
Örnek istek
{"pageId": "page123","name": "Example Name","childId": "child456"}
Örnek yanıt
{"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."}
İzleyici grubunu güncelleyin
Uç nokta:
PUT /monitors-groups/:id
Örnek istek
{"name": "Updated Monitor Group Name"}
Örnek yanıt
{"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."}
İzleyici grubunu silin
Uç nokta:
DELETE /monitors-groups/:id
Örnek istek
DELETE /monitors-groups/group-id-1
Örnek yanıt
{"message": "Monitor group deleted successfully."}
Gruba izleyici ekleyin
Uç nokta:
POST /monitors-groups/:id/monitors
Örnek istek
{"monitors": ["monitor1", "monitor2", "monitor3"]}
Örnek yanıt
{"message": "Monitors added to the group successfully."}
İzleyici grubu kontrolü çalıştırın
Uç nokta:
GET /monitors-groups/:id/run
Sorgu parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
location | 'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1' | - | İzleyicinin konumu. Belirtilen değerlerden biri olmalıdır. |
retry | boolean | false | İşlemin yeniden denenip denenmeyeceğini belirtir. İsteğe bağlı. |
monitorLogId | string | null | İzleyici günlüğünün benzersiz kimliği. İsteğe bağlı. |
Örnek istek
GET /monitors-groups/group-id-1/run
Örnek yanıt
{"result": "OK","monitorLogId": "monitor-log-id-1"}
Cron izleyicileri
Cron izleyicileri, zamanlanmış işleri HTTP ping'leri aracılığıyla takip eder. Ürün kurulumu ve panel kullanımı için Cron izleme sayfasına bakın.
Alanlar için olası değerler
Cron izleyici durumu
| Değer | Açıklama |
|---|---|
UP | İzleyici normal çalışıyor |
DOWN | İzleyici başarısız oldu |
DEGRADED | İzleyici sorun yaşıyor |
UNKNOWN | İzleyicinin durumu belirlenemiyor |
Cron izleyici hâli
| Değer | Açıklama |
|---|---|
ACTIVE | İzleyici etkin olarak kontrol edilir |
PAUSED | İzleyici kontrolleri duraklatıldı |
MUTED | İzleyici sessize alındı (bildirim yok) |
Cron izleyici günlük durumu
| Değer | Açıklama |
|---|---|
SUCCESS | İş başarıyla tamamlandı |
FAILURE | İş açıkça bir başarısızlık bildirdi |
MISSED | İş beklenen aralıkta ping göndermedi |
LATE | İş periyottan sonra ama tolerans içinde ping gönderdi |
STARTED | İş başladığını bildirdi (çalışma süresi ölçümü) |
Periyot ve tolerans
Hem period hem de grace saniye cinsinden belirtilir. period, işin ne sıklıkla çalışması gerektiğidir; grace ise izleyici çalışmıyor olarak işaretlenmeden önce tanınan ek süredir.
Cron izleyicilerini getirin
Uç nokta:
GET /:page_id/monitors/cron
Sorgu parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
limit | number | 100 | Sayfa başına cron izleyici sayısı. En fazla 100. |
page | number | 1 | Sayfa numarası. |
search | string | null | Sonuçları ada göre filtrelemek için arama terimi. |
status | enum | null | Durum filtresi ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED'). |
Örnek istek
GET /page123/monitors/cron?limit=10&page=1&status=DOWN
Örnek yanıt
{"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}
Cron izleyici oluşturun
Uç nokta:
POST /monitors/cron
Örnek istek
{"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}}
Örnek yanıt
{"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."}
Yanıt bir slug içerir. İşinize ait ping URL'lerini oluşturmak için bunu kullanın. İlk başarılı ping, arka plan kontrol işini planlar.
Cron izleyiciyi güncelleyin
Uç nokta:
PUT /monitors/cron/:id
Örnek istek
{"name": "Daily backup (updated)","period": 43200,"grace": 1800,"state": "PAUSED","alerts": ["alert-id-1"],"onFail": {"notifySubscribers": false}}
Örnek yanıt
{"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."}
Cron izleyiciyi silin
Uç nokta:
DELETE /monitors/cron/:id
Örnek istek
DELETE /monitors/cron/cron-abc123
Örnek yanıt
{"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."}
Cron izleyici günlüklerini getirin
Uç nokta:
GET /monitors/cron/:id/logs
Sorgu parametreleri
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
limit | number | 100 | Sayfa başına günlük sayısı. En fazla 127. |
page | number | 1 | Sayfa numarası. En fazla 1000. |
startDate | string | 1 yıl önce | Günlük aralığı için ISO 8601 başlangıç tarihi. |
endDate | string | şimdi | Günlük aralığı için ISO 8601 bitiş tarihi. |
importance | enum | null | Günlükleri öneme göre filtreler ('all', 'important'). |
Örnek istek
GET /monitors/cron/cron-abc123/logs?limit=50&page=1&importance=important
Örnek yanıt
{"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}
Cron izleyici özetini getirin
Uç nokta:
GET /monitors/cron/:id/summary
Örnek istek
GET /monitors/cron/cron-abc123/summary
Örnek yanıt
{"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 uç noktaları
Bu uç noktalar kimlik doğrulama gerektirmez. İzleyicinin slug değeri gizli anahtar görevi görür.
API temel URL'si üzerinden veya özel cron sunucusu üzerinden ping gönderebilirsiniz:
- Başarı:
https://cron.instatus.com/{slug}veyaGET/POST/HEAD/monitors/cron/{slug} - Başarısızlık:
https://cron.instatus.com/{slug}/failveyaGET/POST/HEAD/monitors/cron/{slug}/fail - Başlangıç:
https://cron.instatus.com/{slug}/startveyaGET/POST/HEAD/monitors/cron/{slug}/start
İşiniz programa uygun şekilde her tamamlandığında bir başarı ping'i gönderin. Çalışma süresini kaydetmek için iş çalışmadan önce bir başlangıç ping'i, bittiğinde de bir başarı ya da başarısızlık ping'i gönderin.
Örnek başarı ping'i
curl https://cron.instatus.com/my-page-x7k2m9n4p1q8w3e5
Örnek yanıt
{"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"}
Slug geçersizse yanıt şöyle olur:
{"message": "Monitor not found"}