DPDoc ile birlikte müşterinin uygulama sunucusuna DP Audit nasıl kurulur.
⬇ Agent kurulum paketi
Yükleniyor…
0 · Müşteriden ne isteyelim
Bir uygulama sunucusu (app server) — DPDoc + DP Audit'i birlikte buraya kurarız. Windows Server 2019+ · 2 vCPU / 4 GB · .NET 8 Desktop Runtime · izlenecek SQL Server'lara 1433 erişimi · bulut modu için 443 dışarı. SQL Server'ın kendisi olmak zorunda değil; tek app server'dan birden çok SQL Server izlenir.
1 · Kurulum
① MSI ile kur (Program Files + DPAuditAgent servisi; kurulumda başlatmaz). ② İzlenecek her SQL Server'da min-yetki grant script'lerini çalıştır (sysadmin gerekmez). ③ Yerel dpAudit DB'sini hazırla. ④ .env yapılandır: DPAUDIT_CONNECTION_STRING.
2 · Mod seç
Yerel-sadece: DPAUDIT_CLOUDSYNC_CONNECTION ayarlama → hiçbir veri çıkmaz, yalnızca yerel panel. Bulut bağlantılı (önerilen): Ayarlar → Agent Kimliği'nden o firmaya özel, yalnızca kendi verisine yazabilen kimliği üret → dönen .env bloğunu (DPAUDIT_CLOUDSYNC_CONNECTION + DPAUDIT_CLOUD_COMPANY_ID + DPAUDIT_CLOUD_SCHEMA_MANAGED=1 + DPAUDIT_AUTO_PROVISION=1) yapıştır. Paylaşılan postgres kimliğini müşteri sunucusuna koyma.
3 · Onboarding (bulut)
Start-Service DPAuditAgent → agent kendini firma-kapsamlı kimlikle tanıtır. Sonra Ayarlar → Yetki Yönetimi'nden müşterinin panele girecek e-postalarını firma kapsamıyla tanımla. Müşteri OTP ile girip yalnızca kendi sunucularını görür.
4 · Kontrol
Agent sekmesinde heartbeat ✓ · Sağlık'ta metrikler akıyor ✓ · Blitz/CHECKDB/Backup/Index bulguları ✓ · (bulut) müşteri OTP ile giriyor ✓ · isteğe bağlı: alarm kanalları, SMS eskalasyonu, zamanlanmış rapor.
Müşteriye verilecek güven belgesi: DP Audit hangi verilere erişir, hangilerine erişmez, ne gibi tedbirler aldık.
⭐ En önemli ilke — iş verinize erişmiyoruz
DP Audit tablolarınızın içeriğini, iş/müşteri verinizi OKUMAZ. Topladığı şey yalnızca: sistem meta verisi (yapılandırma, sürüm, dosya/boyut), performans sayaçları (CPU, bellek, wait, I/O, PLE, bağlantı) ve DBA sağlık göstergeleri (index, CHECKDB, yedek, bloklama). Veri, sistem görünümlerinden (DMV) okunur — kayıtlarınızdan değil.
Açık not — sorgu metni
Bloklama/yavaş-sorgu teşhisi için ilgili sorgunun metni yakalanır (sabit-değer içerebilir). Sonuç kümeleri/veri asla okunmaz. Hiçbir şeyin çıkmamasını isteyen müşteriye yerel-sadece mod sunulur.
İş yükünüze etkisi ≈ sıfır
İzleme sorguları READ UNCOMMITTED (kilit oluşturmaz) + LOCK_TIMEOUT + DEADLOCK_PRIORITY LOW ile çalışır — çakışmada önce DP Audit feda edilir, sizin işlemleriniz değil.
En az yetki — sysadmin gerekmez
Kısıtlı bir izleme hesabı yeterli (VIEW SERVER STATE/VIEW DEFINITION + sistem görünümleri). 44 toplayıcının 42'si bu hesapla çalışır; hazır grant script'leri ile tam gereken yetki verilir.
Veri nerede durur — yerel önce, bulut isteğe bağlı
Yerel (varsayılan): her şey müşteri ortamındaki yerel SQL DB'sinde + yerel panel (127.0.0.1) → veri çıkmaz. Bulut (opsiyonel): yalnızca işletim özetleri merkezi panele (sağlık metrikleri, bulgular, alarm özetleri) — tablo içeriği gönderilmez. Yerel-sadece: bulut tamamen kapatılabilir.
Sırlar + aktarım
SQL şifreleri diskte DPAPI ile şifreli (asla düz metin). Tüm trafik TLS (HTTPS panel, şifreli SQL bağlantısı, agent→bulut SSL). Sırlar ortam değişkeniyle verilir, depoda yok.
Çok-müşterili izolasyon
Her müşteri yalnızca kendi sunucularını görür: uygulama katmanı (firma imzalı çerezde kilitli) + DB katmanı (RLS) — panelde bir hata olsa bile bir müşteri başkasının satırını okuyamaz (canlı test: çapraz-müşteri = 0). DBA ekibi tümünü görür; salt-okuyan DBA rolü görür ama değiştiremez.
Kimlik + güncelleme bütünlüğü
Giriş şifresiz OTP (parola DB'si yok). Oto-güncelleme fail-closed: HTTPS + SHA-256 + çevrimdışı anahtar ECDSA imzası → merkez ele geçse bile saldırgan geçerli imza üretemez, kötü kod gönderemez.
| Soru | Cevap |
| İş/tablo verimi okuyor mu? | Hayır — yalnızca meta veri + performans sayaçları |
| Verim dışarı çıkıyor mu? | Yerel-sadece: hiç; bulut: yalnızca işletim özetleri |
| sysadmin gerekiyor mu? | Hayır — kısıtlı izleme hesabı |
| İş yüküme etkisi? | Neredeyse sıfır (READ UNCOMMITTED + düşük öncelik) |
| Şifrelerim? | Diskte DPAPI şifreli |
| Başka müşteri verimi görür mü? | Hayır — uygulama + RLS izolasyonu |
| Tamamen kendi ortamımda? | Evet — yerel-sadece mod |
Tek paket, iki mod
Ayrı "yerel" / "bulut" sürümü yoktur — tek agent, modu config belirler.
| Mod | Ne olur | Kime |
| Yerel-sadece | Her şey müşteride; yerel panel. Hiçbir veri çıkmaz. | Banka/kamu/yüksek-gizlilik |
| Bulut bağlantılı | Yerel + işletim özetleri merkezi panele. | Merkezden çoklu-müşteri izleme |
Öneri: varsayılan teklif yerel, bulut opt-in.
Download paketi
MSI (manuel kurulum) + imzalı oto-güncelleme zip'i. İkisi de moddan bağımsız, aynı yerden sunulur.
Nereye koyalım? → Cloudflare R2 (kuruldu ✅)
| Seçenek | Artı | Eksi |
| Cloudflare R2 ✅ | Egress ücretsiz, CDN, domain zaten CF'de, özel alan adı | Bir kez kurulum |
| GitHub Releases | Bedava, sürümlü | Public |
| Hetzner/Caddy | En basit | Panel bant genişliği |
Kuruldu: releases.dataplatform.com.tr → R2 bucket; build-release.ps1 üretir+imzalar+yükler. Egress ücretsiz olduğundan filo-geneli oto-güncelleme bedava.
🔒 Public URL neden güvenli
Download URL'i herkese açık olabilir çünkü güvenlik dosyada, yolda değil: agent yalnızca admin'in panele girdiği SHA-256 + ECDSA imzasına uyan paketi uygular. Takas edilmiş/bozuk dosya reddedilir (fail-closed).
Cloudflare rolü
DNS (dpaudit.dataplatform.com.tr → Hetzner panel) · R2 (download/oto-güncelleme) · isteğe bağlı WAF/rate-limit (panel önünde).