Tüm yazılar
·7 dk okuma·ShamashAi Ekibi

ShamashAi Usage & Capacity — Lisans Yenileme ve Disk Doluluk Öngörüsü

ShamashAi Usage & Capacity özelliği, IT yöneticilerine lisans yenileme dönemlerinde kaç cihazın aktif izlendiğini, EPS istatistiklerini ve retention politikasına göre diskin ne zaman dolacağını tek bir endpoint üzerinden sunar.

Senaryoda her zaman geç kalan IT yöneticisi

Perşembe sabahı 09:40, CFO toplantıya çağırdı: "ShamashAi lisans yenileme teklifi gelmiş, 150 cihaz yazmışlar ama biz geçen yıl 120 cihazlık paket almıştık. Şu an kaç cihaz izliyoruz? Yeni ERP sunucusu, yeni VPN gateway ekledik mi? Disk kapasitesi yetecek mi 12 ay daha — yoksa aboneliği yükseltmeli miyiz?" Senin elinde ise sadece eski bir Excel tablosu ve üç aydır güncellemediğin network envanteri. ShamashAi arayüzüne girip manuel sayarsın: 147 device gösteriyor, ama bunların kaçı aktif event gönderiyor? Kaçı idle? EPS ortalaması ne — trafik patlaması yaşayacak mıyız? events tablosu şu an 420 GB, ama retention 180 gün — bu hızda disk ne zaman dolacak? Tüm bu soruları elle toplamak 2 saat sürüyor, toplantı ise 30 dakika sonra. Bu senaryo Türkiye'deki orta ölçekli IT ekiplerinde sıkça yaşanır: SIEM var, log toplanıyor, ama operasyonel istatistikler dağınık. Lisans yenileme zamanı yaklaştığında IT Manager ve CFO aynı soruları sorar; cevap vermek için ise manuel SQL sorgusu, Excel pivotu ve tahmin oyunları gerekir. ShamashAi Usage & Capacity özelliği tam da bu problemi çözmek için tasarlandı: lisans kullanımı, cihaz sayısı, event ingest hızı (EPS), disk doluluk oranı ve öngörüsünü tek bir API endpointten JSON formatında sunar.

ShamashAi Usage & Capacity nedir?

GET /operations/usage-capacity endpoint'i, ShamashAi'nin operasyonel sağlık durumunu ve kapasite metriklerini raporlar. Bu rapor şu bileşenlerden oluşur:

1. Cihaz ve site sayısı (devices & sites)

  • usage.devices.count: Sistemde tanımlı toplam cihaz sayısı (agent'lı endpoint, agentless SNMP switch, vb.).
  • license.max_devices: Lisans limitiniz (örn. 150 cihaz).
  • usage.sites.count: Tanımlı site sayısı (merkez, şube, uzak ofis).
Bu sayede kaç cihaz kaldı sorusu anında cevaplanır: 150 - 147 = 3 slot kaldı.

2. Event ingest hızı (EPS)

  • usage.ingest.eps_avg_1h: Son 1 saatteki ortalama events per second.
  • usage.ingest.eps_avg_24h: Son 24 saatteki ortalama.
  • usage.ingest.eps_avg_7d: Son 7 günlük ortalama.
Örneğin: { "usage": { "ingest": { "eps_avg_1h": 320, "eps_avg_24h": 285, "eps_avg_7d": 270 } } } Bu, trafik patlaması (örn. port taraması, DDoS, yedekleme pencereleri) tespit etmenizi sağlar. 1h değeri 24h'den %12 yüksekse, o an yoğun bir olay var demektir.

3. Disk kullanımı ve öngörü

  • usage.storage.events_size_mb: dbo.events tablosunun güncel boyutu (MB).
  • usage.storage.retention_days: ShamashAi yapılandırmasında tanımlı retention (örn. 180 gün).
  • usage.storage.projected_full_at: Mevcut günlük ingest hızına göre diskin dolacağı tarih (ISO 8601 formatında).
Örneğin: { "usage": { "storage": { "events_size_mb": 430080, "retention_days": 180, "projected_full_at": "2027-02-14T00:00:00Z" } } } Bu, 5,5 ay sonra disk dolacak anlamına gelir. IT yöneticisi bu veriyle CFO'ya "Mart 2027'ye kadar yeni disk eklememiz gerekecek" diyebilir.

4. Lisans yenileme alarmı

  • license.expires_at: Lisansınızın bitiş tarihi.
  • ShamashAi, bitiş tarihine 30 gün kaldığında Usage & Capacity raporunda renewal_alert: true bayrağı döndürür.
Örnek: { "license": { "expires_at": "2026-10-01T00:00:00Z", "max_devices": 150, "renewal_alert": true } } 2026-09-01'de (30 gün önceden) bu bayrak aktif hale gelir. Böylece IT yöneticisi lisans yenileme sürecini zamanında başlatabilir.

Neden bu önemlidir?

1. Lisans yönetimi kaotik olabilir

Orta ölçekli firmalarda cihaz envanteri dinamiktir: yeni laptop alındı, eski sunucu devre dışı bırakıldı, şube açıldı. ShamashAi'ye bağlı cihaz sayısı sürekli değişir. Lisans yenileme döneminde tedarikçi "160 cihazlık paket önereceğiz" dediğinde, IT Manager'ın elinde güncel sayı olmazsa ya fazla ödeme yapar ya da yetersiz lisans alıp aşım cezası öder.

2. Disk doluluk krizi beklenmedik gelir

SIEM sistemleri genelde event tablosunda yüzlerce GB veri tutar. Disk alanı dolduğunda:
  • Log kaybı yaşanır (yeni event yazılamaz).
  • SQL Server performansı düşer.
  • Compliance audit'te "6 ay arşiv eksik" bulgusu çıkar.
ShamashAi projected_full_at değeri, bu krizi 2-3 ay önceden gösterir. IT yöneticisi bütçe talebini zamanında yapabilir.

3. EPS anomalileri fark edilmeyebilir

Normal günlük EPS 270 iken, aniden 800'e çıkması:
  • DDoS saldırısı.
  • Yanlış yapılandırılmış firewall (her ping'i logluyoruz).
  • Ransomware lateral movement (çok sayıda SMB connection failure).
Manuel takip edilmediğinde bu anomaliler gözden kaçar. Usage & Capacity endpoint'i her gün çağrılarak (cron job, Power Automate, vb.) EPS değişimleri izlenebilir.

Teknik uygulama

GET /operations/usage-capacity

Endpoint: https://shamashai.yourcompany.local/operations/usage-capacity Authentication: Bearer token (ShamashAi API key'i dbo.audit_log tablosunda loglanır). Yanıt örneği: { "timestamp": "2026-08-26T09:15:56Z", "usage": { "devices": { "count": 147, "active_last_24h": 142 }, "sites": { "count": 8 }, "ingest": { "eps_avg_1h": 320, "eps_avg_24h": 285, "eps_avg_7d": 270 }, "storage": { "events_size_mb": 430080, "retention_days": 180, "projected_full_at": "2027-02-14T00:00:00Z" } }, "license": { "max_devices": 150, "expires_at": "2026-10-01T00:00:00Z", "renewal_alert": true } }

.NET 8 ile tüketim örneği

ShamashAi API'sini çağırmak için .NET 8 HttpClient kullanabilirsiniz: csharp using System.Net.Http.Headers; using System.Text.Json; var client = new HttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "YOUR_SHAMASHAI_API_KEY"); var response = await client.GetAsync( "https://shamashai.yourcompany.local/operations/usage-capacity" ); if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); var usage = JsonSerializer.Deserialize<UsageCapacityResponse>(json); Console.WriteLine($"Cihaz: {usage.Usage.Devices.Count}/{usage.License.MaxDevices}"); Console.WriteLine($"EPS (1h): {usage.Usage.Ingest.EpsAvg1h}"); Console.WriteLine($"Disk dolacak: {usage.Usage.Storage.ProjectedFullAt}"); if (usage.License.RenewalAlert) { Console.WriteLine("UYARI: Lisans 30 gün içinde bitiyor!"); } } public class UsageCapacityResponse { public UsageData Usage { get; set; } public LicenseData License { get; set; } } public class UsageData { public DeviceData Devices { get; set; } public SiteData Sites { get; set; } public IngestData Ingest { get; set; } public StorageData Storage { get; set; } } public class DeviceData { public int Count { get; set; } public int ActiveLast24h { get; set; } } public class SiteData { public int Count { get; set; } } public class IngestData { public int EpsAvg1h { get; set; } public int EpsAvg24h { get; set; } public int EpsAvg7d { get; set; } } public class StorageData { public long EventsSizeMb { get; set; } public int RetentionDays { get; set; } public DateTime ProjectedFullAt { get; set; } } public class LicenseData { public int MaxDevices { get; set; } public DateTime ExpiresAt { get; set; } public bool RenewalAlert { get; set; } }

Node.js Fastify ile tüketim örneği

ShamashAi backend'i Node.js Fastify üzerine kurulu; entegrasyon script'i de Fastify ile yazılabilir: javascript const axios = require('axios'); const apiKey = 'YOUR_SHAMASHAI_API_KEY'; const baseUrl = 'https://shamashai.yourcompany.local'; async function getUsageCapacity() { try { const response = await axios.get(${baseUrl}/operations/usage-capacity, { headers: { Authorization: Bearer ${apiKey} } }); const { usage, license } = response.data; console.log(Cihaz: ${usage.devices.count}/${license.max_devices}); console.log(EPS (1h): ${usage.ingest.eps_avg_1h}); console.log(Disk dolacak: ${usage.storage.projected_full_at}); if (license.renewal_alert) { console.log('UYARI: Lisans 30 gün içinde bitiyor!'); } // Eğer EPS anormal yüksekse uyarı if (usage.ingest.eps_avg_1h > usage.ingest.eps_avg_24h * 1.3) { console.log('UYARI: EPS son 1 saatte %30+ artmış, anormal trafik var!'); } } catch (err) { console.error('Hata:', err.message); } } getUsageCapacity();

SQL Server üzerinden doğrudan sorgulama

ShamashAi backend'i, capacity hesaplamalarını dbo.devices, dbo.events, dbo.sites tablolarından yapar. Eğer API erişiminiz yoksa (örn. read-only DBA hesabı varsa), doğrudan SQL sorgusu çalıştırabilirsiniz: sql -- Cihaz sayısı SELECT COUNT(*) AS device_count FROM dbo.devices WHERE is_active = 1; -- Son 24h içinde event gönderen cihazlar SELECT COUNT(DISTINCT device_id) AS active_devices FROM dbo.events WHERE timestamp >= DATEADD(hour, -24, GETUTCDATE()); -- Site sayısı SELECT COUNT(*) AS site_count FROM dbo.sites; -- Event tablosu boyutu (MB) SELECT SUM(reserved_page_count) * 8 / 1024 AS size_mb FROM sys.dm_db_partition_stats WHERE object_id = OBJECT_ID('dbo.events'); -- Son 1 saatteki ortalama EPS SELECT COUNT(*) / 3600.0 AS eps_avg_1h FROM dbo.events WHERE timestamp >= DATEADD(hour, -1, GETUTCDATE()); Ancak projected_full_at hesabı için retention ve günlük büyüme oranı gerekir; bu mantık ShamashAi backend'inde kodlanmıştır. SQL'den doğrudan almak karmaşıktır.

Gerçek dünya kullanım senaryoları

Senaryo 1: CFO toplantısı öncesi rapor

IT Manager her ay ilk Pazartesi CFO ile operasyonel bütçe toplantısı yapar. Toplantıdan 10 dakika önce GET /operations/usage-capacity çağrısı yaparak:
  • "147/150 cihaz, 3 slot kaldı" → yeni laptop talebini geciktir.
  • "Disk 5,5 ay sonra dolacak" → Q1 bütçesine 2 TB SSD ekle.
  • "Lisans 35 gün sonra bitiyor" → tedarikçi ile yenileme görüşmesi planla.
Toplantıda bu verileri paylaşarak proaktif görünüm sergiler.

Senaryo 2: Haftalık EPS anomali kontrolü

IT ekibi her Pazartesi sabahı şu Node.js script'i çalıştırır: javascript if (usage.ingest.eps_avg_1h > usage.ingest.eps_avg_7d * 1.5) { await axios.post('https://slack.com/api/chat.postMessage', { channel: '#infra-alerts', text: ⚠️ EPS anormal yüksek: ${usage.ingest.eps_avg_1h} (7d ort: ${usage.ingest.eps_avg_7d}) }, { headers: { Authorization: Bearer ${SLACK_TOKEN} } }); } Bu sayede weekend'de yaşanan bir port tarama saldırısı Pazartesi sabahı fark edilir.

Senaryo 3: Lisans aşım riski erken uyarısı

ShamashAi 150 cihazlık lisansa sahip. 145. cihaz eklendiğinde (147'ye çıktığında), IT Manager API'den usage.devices.count değerini her gün kontrol eder: csharp if (usage.Usage.Devices.Count >= usage.License.MaxDevices * 0.95) { // %95 doluluk: uyarı gönder SendEmailAlert("ShamashAi lisansı %95 dolu, yenileme gerekebilir"); } Böylece lisans aşımı cezası riskini ortadan kaldırır.

Limitler ve dürüst notlar

  • Projected_full_at tahmini lineerdir: Eğer event ingest hızı mevsimsel değişkenlik gösteriyorsa (örn. yaz aylarında yarı yarıya düşüyorsa), tahmin yanlış olabilir. ShamashAi şu an trend analizi yapmıyor; sabit günlük büyüme varsayar.
  • Site sayısı sadece tanımlı site objelerini sayar: Eğer siz sitelerinizi ShamashAi'de modellemediyseniz (tüm cihazları "Default" site'ta bıraktıysanız), usage.sites.count her zaman 1 döner.
  • Active_last_24h metriği her cihaz tipini ayırt etmez: Agentless SNMP switch 24 saatte 1 trap gönderebilir ama yine de "aktif" sayılır. Gerçek agent sağlığı için ayrı /agents/health endpoint'i kullanılmalıdır.
  • Disk öngörüsü sadece events tablosunu kapsar: dbo.audit_log, dbo.soar_actions, dbo.incident_groups tabloları da disk harcar ama şu an hesaba katılmıyor. Gerçek disk kullanımı %10-15 daha yüksek olabilir.
  • Retention değişikliği anında yansımaz: Retention'ı 180'den 90 güne düşürürseniz, eski kayıtlar hemen silinmez. Haftalık purge job'ı çalışana kadar events_size_mb değişmez.

Sonuç

ShamashAi Usage & Capacity özelliği, IT yöneticilerine operasyonel görünürlük sağlar: lisans yenileme zamanında kaç cihaz izlendiğini, event ingest hızının normal mi yoksa anormal mi olduğunu, diskin ne zaman dolacağını tek bir API çağrısında öğrenirsiniz. Bu, manuel Excel takibi yerine proaktif kapasite planlaması demektir. CFO toplantısında "bilmiyorum, kontrol edeyim" yerine "147/150 cihaz, lisans 35 gün sonra bitiyor, disk 5,5 ay yeter" diyebilirsiniz. Pilot programı 30 gün ücretsiz: shamashai.com.tr/iletisim
Paylaş

Bu konuyu projenize uygulayalım

Pilot programı kapsamında ürünü gerçek altyapınızda 30 gün ücretsiz deneyin.