Ana içeriğe geç

Günlük

Günlük modülü, Platform OneEntry'de yöneticilerin sistemdeki diğer yöneticilerin eylemlerini ve kamuya açık İçerik API'sinin etkinliğini takip etmelerini sağlar. Modül, dört sekmeden oluşmaktadır:

SekmeNe gösterir
Yönetici Eylem GünlüğüSistem içindeki yöneticilerin tüm eylemleri: varlık oluşturma, değiştirme, silme.
Yönetici TrafiğiYöneticilerin giriş oturumları: ne zaman giriş yaptı, ne zaman çıktı, hangi cihazdan.
İçerik API İstatistikleriFarklı dönemler için sitenin tüm kamuya açık uç noktalarının çağrı sayacı.
İçerik API HatalarıKamu API'sinin tüm 4xx/5xx yanıtları, istek detayları ve yığın izleri ile birlikte.

Modül arayüzünde sekmeler şu şekilde adlandırılmıştır: Yönetici Günlüğü, Yönetici Uygulamasına Erişim Günlüğü, İçerik API İstatistikleri, İçerik API Hataları.

Her sekme ayrı bir izin altında mevcuttur — bkz. Günlük için İzinler.


Yönetici Eylem Günlüğü

Ana sekme, sistemdeki tüm yöneticilerin eylemlerini gösterir. Daha önce sadece "Yönetici Eylem Günlüğü" olarak adlandırılıyordu — şimdi "Yönetici Eylem Günlüğü" olarak yeniden adlandırıldı, böylece yeni sekmelerden ayırt edilebilir.

Arayüz Öğeleri

Sekme, iki bloktan oluşmaktadır:

  • Filtreler
  • Eylem Listesi

Filtreler

Eylemleri filtrelemek için aşağıdaki alanlar mevcuttur:

  1. From — Eylemlerin filtrelenmeye başlanacağı tarih için metin girişi alanı.
  2. To — Eylemlerin filtrelenmeye son verileceği tarih için metin girişi alanı.
Tarih Girişi Alanları

Tarihleri, bölgenizin tarih formatında bir dize olarak girebilir veya tarih giriş alanına tıkladığınızda açılan takvimden gerekli tarihi seçebilirsiniz.

  1. Yönetici ID — Benzersiz yönetici kimliği için sayısal giriş alanı.
  2. Kullanıcı eylemleri — Kullanıcı eylemleri için açılır liste:
    • Oluşturma
    • Değiştirme
    • Silme
  3. Durum — Eylem durumları için açılır liste:
    • Başarılı
    • Hata
  4. Modül adı — Modül adları için açılır liste:
    • Yöneticiler
    • Özellik setleri
    • Yedekleme
    • Blokları yönetme
    • Olay yönetimi
    • Genel ayarlar
    • Dosya yükleme
    • Dosya editörü
    • Formları yönetme
    • Yerelleştirme
    • İşaretçiler
    • Menü
    • Modüller
    • İçerik yönetimi
    • Ürünler
    • Sipariş yönetimi
    • Temel ayarlar
    • Ödeme yönetimi
    • Ürün durumu yönetimi
    • KULLANICI
    • Kimlik doğrulama sağlayıcıları ve kullanıcı yönetimi
    • Şablon yönetimi
    • Önizleme şablonu yönetimi
  5. Kayıt ID — Benzersiz kayıt kimliği için sayısal giriş alanı.

Filtreler bloğunun altında iki buton bulunmaktadır:

  • Verileri SilFrom / To alanları ile belirlenen dönem için yönetici eylem kayıtlarını siler (bkz. Günlükleri Manuel Olarak Temizleme).
  • Sıfırla — Uygulanan filtreleri sıfırlar.

Eylem Listesi

Eylem listesi, altı sütundan oluşan bir tablo şeklinde sunulmaktadır:

  1. Kullanıcı eylemleri
  2. Durum
  3. Kullanıcı girişi
  4. Modül adı
  5. Kayıt ID
  6. Tarih ve saat
Sıralama

Her sütun için, sütun başlığına tıklayarak verileri sıralama imkanı vardır. İlk tıklama azalan sıralama yapar, ikinci tıklama artan sıralama yapar, üçüncü tıklama sıralamayı sıfırlar.

Blok Görünürlüğü Denetimi

Her blok görünürlüğü geçişi (admin panelinde "göster/gizle" anahtarı) otomatik olarak Yönetici Eylem Günlüğü'ne kaydedilir. Hangi yöneticinin ve ne zaman belirli bir bloğun durumunu değiştirdiği görünür.

ℹ️Bu işlem daha önce kaydedilmiyordu

Blok görünürlüğü geçişi günlüğe kaydedilmiyordu — kimin ve ne zaman bir bloğu gizlediği/gösterdiği belirlenemiyordu. Şimdi bu mevcut ve işlem, "Blokları Yönetme" türü ile genel listede görüntüleniyor.


Yönetici Trafiği (Admin Access Log)

Yönetici Trafiği sekmesi, yöneticinin sisteme her giriş ve çıkışını ayrı bir kayıt olarak gösterir. Artık kimlerin ve ne zaman admin paneline girdiğini hemen görebilirsiniz — Grafana/Loki'ye başvurmadan. Bu, denetim için faydalıdır (özellikle birden fazla yöneticisi olan büyük ekipler için).

Tablo Alanları

Tablo, altı sütundan oluşmaktadır:

SütunNe anlama geliyor
Girişyöneticinin kullanıcı adı
IPyöneticinin giriş yaptığı IP adresi
Giriş Zamanıgiriş tarihi ve saati
Çıkış Zamanıçıkış tarihi ve saati (hala açık oturum için — boş)
Süreoturum süresi (aktif için — girişten mevcut zamana kadar)
Sebepoturum kapatma nedeni: logout (kendi isteğiyle "Çıkış" yaptı) veya admin_revoked (başka bir yönetici oturumu zorla sonlandırdı, örneğin logoutAll ile)
Sıralama

Yönetici Eylem Günlüğü gibi, herhangi bir sütun başlığına tıklayarak sıralama yapabilirsiniz.

ℹ️Token süresi dolması ve yenileme

Token süresi dolması (expired) ve yeniden kimlik doğrulama (refresh) ayrı bir kayıt olarak yazılmaz — böyle bir oturum, aslında kullanılmadığında tembel bir şekilde kapalı olarak işaretlenir.

Filtreler

  • From / to — dönem (tarih giriş alanları ile takvim).
  • Yönetici ID — belirli bir yöneticiye göre filtreleme için sayısal alan.
  • Oturum Durumu — oturum durumu için açılır liste: Tümü / Aktif / Kapalı.

"Verileri Sil" Butonu

From / To alanları ile belirlenen dönem için oturum kayıtlarını siler. Tıkladığınızda bir onay diyalogu açılır:

Eylemi Onayla — Belirtilen dönem için tüm kapalı oturumları silmek istiyor musunuz? Bu işlem geri alınamaz. Aktif oturumlar kalacaktır.

Sadece kapalı oturumlar silinir. Aktif oturumlar (açık kimlik doğrulaması olan) etkilenmez — bu, çalışan meslektaşların oturumlarını yanlışlıkla "kapamaktan" koruma sağlar.


İçerik API İstatistikleri

İçerik API İstatistikleri sekmesi, sitenin tüm kamuya açık uç noktalarının çağrı sayaçlarını (storefront API) farklı dönemler için gösterir — 1 saat, 24 saat, 7 gün.

Ne gösterir

  • Tüm kamuya açık uç noktaların listesi (GET /api/content/...) — otomatik olarak koddan toplanır, manuel olarak desteklenmesi gerekmez.
  • Her uç noktanın yanında sayaç — seçilen dönem içinde kaç kez çağrıldığı.
  • Sayılar, trafiğimizden sorumlu merkezi Prometheus metriği nginx-ingress'ten alınır. Proje veritabanında ayrı sayaçlar oluşturulmaz.

Arayüz Öğeleri

  • Dönem — dönem için açılır liste: Son Saat / Son 24 Saat / Son 7 Gün (varsayılan — Son 24 Saat).
  • Yenile — verileri zorla güncelleme butonu.

Veriler, dört sütundan oluşan bir tablo ile sunulmaktadır:

SütunNe anlama geliyor
Yoluç noktanın yolu (/api/content/...)
YöntemHTTP yöntemi (GET, POST, …)
Açıklamauç noktanın kısa açıklaması
İsteklerseçilen dönem için çağrı sayısı

Sayfanın üst kısmında bir bilgi banner'ı görüntülenir:

Otomatik temizleme geçerli değil — Veriler, Prometheus'tan gerçek zamanlı olarak okunur, saklama izleme altyapısı düzeyinde yapılandırılmıştır. Bu sekme, CMS veritabanında veri saklamaz.

⚠️Metriğin geçici olarak kullanılamaması

Eğer Prometheus erişilemezse, tablonun üzerinde "Metriğin geçici olarak kullanılamadığı. Tüm uç noktalar sıfır sayısı ile görüntüleniyor." uyarısı belirir — uç nokta listesi yine de görüntülenir, ancak sayaç 0'dır.

⚠️Veri saklama

Veriler, altyapı düzeyinde saklama süresi ile Prometheus'ta saklanır (genellikle 30 gün). Daha uzun süreli analiz için verileri kendiniz saklamanız gerekir. Sayfanın üst kısmındaki bilgi banner'ı bu durumu bildirir.

Neden gerekli

Pazarlama ve ürün ekipleri, hangi özelliklerin storefront API'sinin gerçekten kullanıldığını ve hangilerinin kullanılmadığını görebilir. Ayrıca "her şeyin çalışıp çalışmadığını" izlemek de kolaydır — bir uç noktanın çağrılarında ani bir düşüş genellikle ön tarafta bir sorun olduğunu gösterir.

ℹ️Önbellek

Yanıt, 60 saniye boyunca Redis'te önbelleğe alınır — her "Yenile" tıkladığınızda Prometheus'u çağırmamak için.


İçerik API Hataları

İçerik API Hataları sekmesi, belirli bir dönem içinde kamu API'sinin verdiği tüm 4xx/5xx yanıtlarını gösterir. API'mizle istemci uygulamasını entegre eden geliştiricilerin artık sunucu günlüklerine erişmesine gerek yoktur — kendi isteklerindeki tüm hataları doğrudan admin panelinde görebilirler.

Ne gösterir

Her kayıt, ayrı bir HTTP hatasıdır. Tablo, beş sütundan oluşmaktadır:

SütunNe anlama geliyor
Zamanhata zaman damgası
DurumHTTP durumu (4xx / 5xx)
Yöntemistek yöntemi (GET, POST, …)
Yolyol (/api/content/...)
Mesajhata metni

Seçilen dönem içinde hata yoksa, tablonun yerine "Seçilen dönem için kayıtlı hata yok." mesajı görüntülenir.

"Daha Fazla" alanı, aşağıdaki detayları içeren bir ekran açar:

  • İstek Gövdesi (gizli bilgiler olmadan — şifreler, tokenler, yetkilendirme başlıkları maskelemektedir)
  • Sorgu — sorgu dizesi parametreleri
  • Başlıklar
  • Yığın izi — genişletilmiş (8 KB'ye kadar)

Filtreler

  • From / to — dönem (tarih giriş alanları ile takvim).
  • HTTP Durumu — durumlar için açılır liste. Gruplardan seçebilirsiniz (4xx - İstemci tarafı, 5xx - Sunucu tarafı) veya belirli bir kod seçebilirsiniz: 400, 401, 403, 404, 422, 500, 502, 503.
  • Yol — yol için filtreleme metni alanı (örneğin, /api/content/blocks/*).

"Verileri Sil" Butonu

From / To alanları ile belirlenen dönem için hata kayıtlarını siler. Eğer dönem belirtilmemişse — tüm hataları siler.

Güvenlik — Sanitizer

Sanitizer, hassas verileri otomatik olarak keser. password, token, authorization, api_key, x-app-token, cookie, set-cookie (büyük/küçük harf duyarsız) alanları *** ile değiştirilir. Büyük gövdeler 2 KB'ye kadar kesilir.

Mimari

Hatalar, günlüğe yazma işleminin istek işleme sürecini yavaşlatmaması için hafif bir Bull kuyruğu aracılığıyla yazılır. Kuyruk dolduğunda (1000'den fazla bekleyen görev) — yeni hatalar sessizce reddedilir, böylece Redis "çökmemiş" olur.


Günlükleri Manuel Olarak Temizleme

Günlük kayıtları manuel olarak temizlenir — verileri veritabanında saklayan her sekmede "Verileri Sil" butonu bulunmaktadır:

SekmeNe siler
Yönetici Eylem GünlüğüSeçilen dönem için yönetici eylem kayıtları
Yönetici Trafiğisadece kapalı oturumlar için seçilen dönem
İçerik API HatalarıSeçilen dönem için hata kayıtları

Silme dönemi, sekmenin filtrelerindeki From / To alanları ile belirlenir. Eğer dönem belirtilmemişse — ilgili türdeki tüm kayıtlar silinir. Silme işlemi öncesinde her zaman "Eylemi Onayla" onay diyalogu görüntülenir, işlem geri alınamaz.

ℹ️Aktif oturumlar etkilenmez

"Yönetici Trafiği" sekmesindeki "Verileri Sil" butonu yöneticilerin aktif oturumlarını silmez — mevcut anı kapsayan bir dönem belirleseniz bile, çalışan bir meslektaşın açık oturumu silinmeyecektir. Sadece kapalı oturumlar silinir.

ℹ️İçerik API İstatistikleri sekmesinin temizleme işlemi yoktur

İstatistik verileri, Prometheus'tan gerçek zamanlı olarak okunur ve CMS veritabanında saklanmaz, bu nedenle bu sekmede "Verileri Sil" butonu yoktur — bu durum "Otomatik temizleme geçerli değil" banner'ı ile bildirilir.


Günlük için İzinler

Her günlük sekmesi, izinler ağacında ayrı bir izin altında mevcuttur:

Sekmeİzin
Yönetici Eylem Günlüğüjournal.viewAdminActions (mevcut izin, değişiklik yok)
Yönetici Trafiğijournal.viewAdminAccess (yeni izin)
İçerik API İstatistiklerijournal.viewContentApiStats (yeni izin)
İçerik API Hatalarıjournal.viewContentApiErrors (yeni izin)
💡Güncelleme sırasında seed-migrasyonu

Sistem güncellenirken, her iki yeni izin (journal.viewContentApiStats, journal.viewContentApiErrors) mevcut tüm yöneticilere admins.get izni ile otomatik olarak verilmiştir — seed-migrasyonu aracılığıyla. Mevcut roller için hiçbir şey bozulmamıştır.