Bunu Kim Değiştirdi? İşlem Kaydı Neden Gerekiyor
Bir rakam yanlış çıktığında, bir sipariş kaybolduğunda ya da bir fiyat kimsenin bilmediği anda değiştiğinde tek bir soru kalıyor geriye.
Bir gün bir rakam yanlış çıkıyor. Bir sipariş kayboluyor ya da bir fiyat kimsenin bilmediği bir anda değişiyor. O noktada tek soru kalıyor, bunu kim yaptı.
İşlem kaydı bu soruyu sonradan cevaplamak için tutuluyor. Değeri bir şeyler ters gittiğinde ortaya çıkıyor, ama o an kurmak için çok geç oluyor.
Suçlu aramak için değil
Bu konuyu konuşurken en sık gelen tepki bu. Ekip izleniyor gibi hissediyor.
Oysa amaç kimseyi yakalamak değil, hatanın nerede başladığını bulmak. Bir stok rakamı tutmadığında, o rakamı kimin ne zaman değiştirdiğini bilmek sorunu dakikalar içinde çözüyor. Kayıt yoksa aynı soru günlerce cevapsız kalıyor.
Pratikte en çok işe yaradığı yer de hata ayıklama. Müşteri bir şey iddia ediyor, siz başka bir şey hatırlıyorsunuz ve kayıt ikinizi de haklı çıkarabiliyor.
Her şeyi kaydetmek işe yaramıyor
İlk refleks genelde her şeyi kaydetmek oluyor. Bu gürültü üretiyor ve önemli satır o gürültünün altında kayboluyor.
Durumu değiştiren işlem kaydediliyor. Silme, yetki değişikliği, fiyat ve tutar değişikliği, dışa aktarım ve başarısız giriş denemeleri. Sayfa açılışını ve her tıklamayı kaydetmek, kimsenin bakmadığı bir yığın üretiyor.
Bunu bir panelde ölçtük. Toplanan sekiz binden fazla olayın neredeyse tamamı ekran görüntülemesiydi. Değerli olan sinyaller o yığının altında kalıyordu.
Neyden neye değişti
Bir kaydın değiştiğini bilmek yetmiyor. Yalnız değişti bilgisi, itiraz anında hiçbir şey ifade etmiyor.
Öncesi ve sonrası saklanıyor. Fiyat neydi, ne oldu. Sipariş hangi durumdaydı, hangi duruma geçti. Bu olmadan kayıt bir zaman damgasından ibaret kalıyor.
Paylaşımlı hesap bu soruyu cevaplanamaz yapıyor
Ekip tek bir yönetici hesabını paylaşıyorsa, kim yaptı sorusunun cevabı yok. Kayıt tutuyorsunuz ama kaydın söylediği tek şey admin.
Bu yüzden isimli hesap öneriyoruz. İki kişilik bir ekipte paylaşımlı jeton işliyor, üçüncü kişi gelince cevaplanamaz hale geliyor. Ayrıca biri ayrıldığında herkesin şifresini değiştirmek gerekiyor.
Log kutunun içinde kalırsa yoktur
Bunu özellikle vurguluyoruz. Sunucuyu ele geçiren birinin ilk yaptığı iş logu silmek oluyor.
Kayıt yalnız eklenebilir olmalı, uygulama üzerinden düzenlenememeli. Ve gece yedeğiyle makine dışına çıkmalı. Aynı diskte duran bir kayıt, o disk tehlikeye girdiğinde kanıt olmaktan çıkıyor.
Toplanıp bakılmayan kayıt
Gördüğümüz en yaygın durum bu. Sistem kayıt topluyor, tablo büyüyor ve hiçbir ekranda gösterilmiyor.
Bir panelde tam olarak bunu ölçtük. Kayıt ucu vardı, veri birikiyordu ve arayüzde o ucu çağıran tek bir satır yoktu. Yani kayıt teknik olarak tutuluyordu ama pratikte yok sayılırdı.
Kayıtların filtrelenebilir şekilde görünmesi, tutulmasının tek anlamlı sebebi.
Log da kişisel veri taşıyor
Bu atlanıyor. Kayıt satırında kullanıcı kimliği, IP adresi ve bazen e-posta duruyor. Yani log da korunması gereken bir veri.
Ne kadar tutulacağı yazılıyor ve süresi dolan kayıt siliniyor. Aksi halde güvenlik için tutulan şey kendisi bir risk haline geliyor. Ayrıca log satırına parola, jeton ve tam kart bilgisi düşmemeli. Hata yakalarken bütün isteği basmak, sırların diske düz metin olarak yazılması demek.
Ne kadar süre saklanmalı
Tek bir doğru süre yok, işin türüne bağlı. Finansal işlemlerde yasal saklama süreleri belirleyici oluyor. Teknik loglarda genelde birkaç hafta yeterli.
Önemli olan sürenin yazılı olması ve gerçekten uygulanması. Süresiz saklanan bir kayıt, bir gün yükümlülüğe dönüşüyor.
Sistemi yavaşlatır mı
Doğru kurulduğunda fark edilmiyor. Yavaşlatan şey her isteği kaydetmek ve yazma işini asıl işlemin içine gömmek.
Yalnız anlamlı işlemler kaydediliyor ve yazma asıl işlemin yolundan çıkarılıyor. Bir siparişin onaylanması, kayıt yazılmasını beklemek zorunda değil.
Mevcut sisteme sonradan eklenebilir mi
Eklenebiliyor. Zor kısmı geçmiş değil gelecek.
Hangi işlemlerin kaydedileceğini belirleyip kodun her yerine dağıtmadan tek noktadan bağlamak gerekiyor. Dağıtılmış bir kayıt mantığı zamanla eksik kalıyor, çünkü yeni bir ekran yazan kişi kaydı eklemeyi unutuyor ve bu hata sessiz kalıyor.
Erdeniz Kurtuluş
Erbeon kurucu ortağı
Bu yazıyla ilgili uzmanlık konularımız