Analitik API
Bir proje veya tüm organizasyon için istek trafiğini, deploy istatistiklerini ve container kaynak kullanımını, ayrıca sunucu bazında edge analitiklerini okuyun.
Analitik API'si uygulamalarınızın nasıl performans gösterdiğini raporlar: istek trafiği ve durum kodları, deploy sıklığı ve başarı oranı, canlı container CPU/bellek/bant genişliği ve edge proxy'den alınan coğrafi istek dökümleri. dashboard'da bu sayılar projenin Analitik sekmesini ve organizasyonun Dashboard'unu destekler; her rota salt okunurdur.
Temel yol ve kimlik doğrulama
Tüm yollar, /api altında, örneğin https://your-host/api/analytics gibi, kendi instance'ınıza göredir. alaf server token create ile oluşturulmuş kişisel bir erişim token'ını bearer header olarak gönderin (Authorization: Bearer <token>). dashboard bunun yerine oturum çerezinizi kullanır. Ayrıntılar için API genel bakışına ve kimlik doğrulama modeline bakın.
?projectId= aracılığıyla proje kapsamı
/dashboard dışındaki her endpoint bir ?projectId= gerektirir — bunu atlamak 404 döndürür. /dashboard hiçbir parametre almaz ve her zaman çağrı yapanın aktif organizasyonunu raporlar. Bir projectId bir cloud projesini işaret ettiğinde, istek şeffaf bir şekilde Alaf Server Cloud'a iletilir.
Endpointler
| Method & path | İzin | Ne işe yarar |
|---|---|---|
GET /api/analytics | analytics:read | Bir proje için kümülatif istek/trafik özeti ( ?projectId= gerektirir). |
GET /api/analytics/periods | analytics:read | Dönemlere ayrılmış trafik zaman serisi. |
GET /api/analytics/overview | analytics:read | Özet + dönemler birlikte (trafik, durum kodları, en popüler yollar) tek bir istekte. |
GET /api/analytics/deployments | analytics:read | Deploy istatistikleri (sıklık, başarı oranı, süreler). |
GET /api/analytics/usage | analytics:read | Mevcut container kaynak kullanımı (CPU / bellek / bant genişliği). |
GET /api/analytics/usage/stream | analytics:read | Aktif container için gerçek zamanlı kaynak kullanımının SSE akışı. |
GET /api/analytics/container | analytics:read | Bir projenin çalışma zamanı için container bilgisi (durum, IP, çalışma süresi). |
GET /api/analytics/dashboard | analytics:read | Organizasyon dashboard'u toplu verileri (ana metrikler). |
GET /api/analytics/server/:serverId | server:read | Bir sunucu için kalıcı dakika bazlı istek analitikleri. |
GET /api/analytics/server/:serverId/geo | server:read | Bir sunucu için günlük ülke bazında coğrafi toplamlar. |
GET /api/analytics/server/:serverId/live | server:read | Sunucunun yönetim API'sinden proxy aracılığıyla alınan canlı analitikler. |
İstek analitikleri
summary, periods ve overview aynı temel trafik verilerini okur. overview hem kümülatif özeti hem de zaman serisi dönemlerini tek bir istekte döndürür — dashboard bunu kullandığı için bir proje görünümü iki yerine tek bir gidiş-dönüş yapar. Üçü de şu sorgu parametrelerini paylaşır:
GET /api/analytics/overviewProp
Type
curl "https://your-host/api/analytics/overview?projectId=proj_123" \
-H "Authorization: Bearer $ALAFSERVER_TOKEN"# CLI'dan aynı şey (genel kimlik doğrulamalı istek):
alaf server api /analytics/overview -q projectId=proj_123Deploy istatistikleri
Bir proje için başarı/başarısızlık sayıları ve ortalama build süreleri.
GET /api/analytics/deployments?projectId=<id>curl "https://your-host/api/analytics/deployments?projectId=proj_123" \
-H "Authorization: Bearer $ALAFSERVER_TOKEN"Kaynak kullanımı
usage, aktif container'ın kaynaklarının anlık bir görüntüsünü döndürür; container ise çalışma zamanı bilgilerini (durum, IP, çalışma süresi) döndürür. Her ikisi de şunları alır:
Prop
Type
curl "https://your-host/api/analytics/usage?projectId=proj_123" \
-H "Authorization: Bearer $ALAFSERVER_TOKEN"Canlı kullanım akışı
GET /api/analytics/usage/stream?projectId=<id>, bağlantı açıkken yaklaşık her 5 saniyede bir usage olayı yayan bir Server-Sent Events akışıdır. Yalnızca projectId alır ve projenin çalışan bir container'a sahip aktif bir deploy'u olmasını gerektirir.
curl -N "https://your-host/api/analytics/usage/stream?projectId=proj_123" \
-H "Authorization: Bearer $ALAFSERVER_TOKEN"404 — akış yok
Projenin aktif bir deploy'u olmadığında veya aktif deploy'un çalışan bir container'ı olmadığında akış 404 döndürür. Önce projeyi deploy edin, sonra yeniden bağlanın.
Dashboard toplu verileri
Aktif organizasyonun dashboard'u için organizasyon genelindeki ana metrikler. Sorgu parametresi almaz.
GET /api/analytics/dashboardcurl https://your-host/api/analytics/dashboard \
-H "Authorization: Bearer $ALAFSERVER_TOKEN"Sunucu analitikleri
Bunlar, proje bazında değil, edge proxy'den (OpenResty) toplanan belirli bir sunucu ( :serverId yol parametresiyle tanımlanır) için istek analitiklerini okur. Bunları görüntülemek, isteğe bağlı, kendi kendini kısıtlayan bir veri çekme işlemini tetikler — yanıt, şu anda veritabanındaki satırları döndürür ve bir sonraki okuma için yeni bucket'lar gelir. Üçü de bir domain sorgu parametresi gerektirir ve server:read iznini kullanır.
| Rota | Sorgu | Döndürür |
|---|---|---|
GET /api/analytics/server/:serverId | domain (zorunlu), from, to | Dakika bazlı analitikler. from/to ISO zaman damgalarını veya epoch dakikalarını kabul eder; varsayılan son 60 dakikadır. |
GET /api/analytics/server/:serverId/geo | domain (zorunlu), day | Günlük ülke bazında toplamlar. day YYYYMMDD formatındadır; varsayılan bugündür. |
GET /api/analytics/server/:serverId/live | domain (zorunlu) | Sunucunun yönetim API'sinden SSH üzerinden canlı olarak proxy aracılığıyla alınan gerçek zamanlı toplamlar. |
curl "https://your-host/api/analytics/server/srv_123?domain=app.example.com" \
-H "Authorization: Bearer $ALAFSERVER_TOKEN"400 — domain zorunlu
Sunucu analitik rotaları, domain sorgu parametresi eksikse 400 döndürür. Sayılarını istediğiniz izlenen hostname'i geçin.
502 — sunucuya ulaşılamıyor
Alaf Server, o sunucunun yönetim API'sine ulaşamadığında (SSH kapalı, proxy çalışmıyor) /server/:serverId/live 502 döndürür. Kalıcı /server/:serverId ve /geo okumaları veritabanından hala çalışır.