log_apiproxytraffic, log_apiproxytraffic_policy_execution, log_apiproxytraffic_routing isimli koleksiyonlar API trafiğinin detaylarını kaydeder. Trace kapatıldıktan sonra bile bu veriler veritabanında tutulmaya devam edilir. Bu kayıtlar sayesinde trace ekranında, ilgili proxy’deki politika(lar) uygulanmadan önce ve sonra ne durumda olduğu, trafik bilgileri ve yönlendirme bilgileri incelenebilir.
Kayıt Temizleme Scripti
Aşağıdaki script, MongoDB’dekilog_apiproxytraffic, log_apiproxytraffic_policy_execution, log_apiproxytraffic_routing koleksiyonlarında depolanan kayıtlardan belirtilen saat öncesine kadar olan kayıtları silmek için kullanılır. Bu işlem ile veritabanı temizlenerek depolama alanı optimize edilir.
Nasıl Çalışır
1
MongoDB Bağlantı Bilgilerini Tanımlama
MongoDB sunucusuna bağlanmak için gerekli bilgiler ilgili değişkenlere tanımlanır: HOST, PORT, DB_NAME, USERNAME, PASSWORD ve AUTH_DB.
2
Zaman Dilimini Belirleme
TIME_VALUE değişkeni ile son kaç saat öncesine kadar olan kayıtların silineceği belirtilir. Bu değer saat (H) veya gün (D) cinsinden olabilir.
3
Koleksiyonlar Üzerinde Döngü
Script, üç koleksiyon (
log_apiproxytraffic_policy_execution, log_apiproxytraffic, log_apiproxytraffic_routing) üzerinde döngü yaparak her biri için temizleme işlemini gerçekleştirir.4
MongoDB Komutlarını Hazırlama ve Çalıştırma
Her koleksiyon için belirtilen saat öncesine kadar olan belgeleri bulmak ve silmek için MongoDB komutları tanımlanır ve çalıştırılır.
5
Sonuç Kontrolü
İşlem tamamlandığında, ekrana “The command has been executed. Please check the content of the related collection.” mesajı yazdırılır.
Kullanım
Scripti çalıştırmadan önce MongoDB değişkenlerine kendi bilgilerinizi giriniz. TIME_VALUE değişkenini istediğiniz saat/gün değerine göre güncelleyebilirsiniz. Örneğin:- Son 3 saatteki belgeleri korumak ve geri kalanını silmek için
TIME_VALUE=3H - Son 5 gündeki belgeleri korumak ve geri kalanını silmek için
TIME_VALUE=5D
- Bir metin düzenleyici (vi, nano vb.) yardımıyla script bir dosyaya kopyalanır ve içindeki değişkenler düzenlenir
- Dosyaya çalıştırma yetkisi verilir:
chmod +x purge_trace_logs.sh - Dosya çalıştırılır:
./purge_trace_logs.sh
& karakterini ekleyerek arkaplanda çalışmasını sağlayabilirsiniz:
CronJob Kullanımı
1
Cron Düzenleyicisini Açma
Terminalde aşağıdaki komutu çalıştırarak cron düzenleyicisi açılır:
2
Cron Job Ekleme
Açılan editöre, scripti ne sıklıkla çalıştırmak istediğinize göre bir satır ekleyin.Örneğin, her gün saat 23:59’da çalıştırmak için:
3
Kaydetme
Eklediğiniz satırı kaydetmek için Esc tuşuna basıp :wq yazıp enter tuşuna basın.
Script içerisinde belirttiğiniz zaman dilimine göre veri temizleme işlemi gerçekleşecektir. Bu nedenle, script içerisindeki zaman diliminin ve cron ile belirlediğiniz tetikleme saatinin tutarlı olmasını sağlamak önemlidir.

