Ana içeriğe geç

Sistem Loglarının Syslog ile Aktarılması

Administration > Bağlantı Konfigürasyonlar > Syslog sayfasına gidilir ve bir Syslog bağlantı tanımı oluşturulur. Detalı bilgi için Syslog Bağlantı Yönetimi sayfasına bakabilirsiniz.

bilgi

Uygulama, token, denetim ve giriş loglarının alıcıları SIEM ve Log Yönlendirme sayfasından yönetilir; her alıcı orada bir hedef olarak tanımlanır ve ilgili hat (APPLICATION, TOKEN, AUDIT, SESSION) hedefin kurallarında açılır. Olay tipi, sonuç, seviye ve kapsam filtreleri de aynı sayfadadır.

Bu sayfadaki alan listeleri ve syslog örnekleri LEGACY_RAW yük profilinin çıktısıdır: biçim dondurulmuştur, sonradan eklenen alanlar bu çıktıya girmez ve mevcut ayrıştırıcılarınız değişmeden çalışır. Kanonik zarf, gizlilik profili ve boyut politikası isteniyorsa hedef APINIZER_JSON_V2 profiline geçirilir; örnek zarf yeni sayfadadır.

Uygulama Loglarının Syslog ile Aktarılması

Yönetim > SIEM ve Log Yönlendirme sayfasında bir hedef tanımlanır, konnektör olarak Syslog bağlantısı seçilir ve hedefin kurallarında APPLICATION hattı açılır.

Uygulama Logları Syslog Seçimi Syslog Connector Seçimi

Daha önce oluşturulmuş olan Syslog bağlantı tanımı seçilir.

Syslog Bağlantı Tanımı Seçimi

Gönderilecek uygulama logları için veri yapısı aşağıdaki gibi olacaktır.

  • id: Log kaydının benzersiz kimliği.
  • date: Logun oluştuğu tarih ve saat.
  • level: Logun önem seviyesi (örneğin, "INFO", "WARN", "ERROR", "DEBUG").
  • message: Logun ana mesajı, olayı açıklayan metin.
  • stackTrace: Hata durumlarında, hatanın oluştuğu kod yolunu gösteren detaylı yığın izi. Genellikle çok uzundur ve sorun giderme için kritiktir.
  • hostName: Logu üreten Apinizer bileşeninin çalıştığı makinenin adı.
  • enumApplicationLog: Logun hangi Apinizer modülünden geldiğini belirtir (örneğin, "MANAGER", "GATEWAY").

Örnek bir hata mesajının syslog'da görünümü:

2025-06-11T08:52:02.824Z apinizer_demo Apinizer_demo {"id":"684943b280f5de2a3c29d28b","date":"2025-06-11T08:52:02.810Z","level":"ERROR","message":"Connector response status code is 429","stackTrace":"java.lang.Exception: Connector response status code is 429\n\tat com.apinizer.common.executable.connector.webhook.ConnectorWebhookSend.sendWithFailover(ConnectorWebhookSend.java:185)\n\tat com.apinizer.common.executable.connector.webhook.ConnectorWebhookSend.executeAuditLog(ConnectorWebhookSend.java:119)\n\tat com.apinizer.manager.aop.auditing.AuditingAspectDatabaseOperationsService.saveAuditLog(AuditingAspectDatabaseOperationsService.java:104)... ...\n\tat java.lang.Thread.run(Thread.java:750)\n","hostName":"manager-58b4d4784d-sm47j","enumApplicationLog":"MANAGER"}

Token Loglarının Syslog ile Aktarılması

Yönetim > SIEM ve Log Yönlendirme sayfasında bir hedef tanımlanır, konnektör olarak Syslog bağlantısı seçilir ve hedefin kurallarında TOKEN hattı açılır.

Token Logları Syslog Seçimi Syslog Connector Seçimi

Daha önce oluşturulmuş olan Syslog bağlantı tanımı seçilir.

Syslog Bağlantı Tanımı Seçimi

Gönderilecek token logları için veri yapısı aşağıdaki gibi olacaktır.

  • id: Log kaydının benzersiz kimliği.
  • timestamp: Token olayının gerçekleştiği zaman damgası.
  • apinizerCorrelationId: Apinizer içinde bu token talebiyle ilgili tüm işlemleri takip etmek için kullanılan benzersiz korelasyon ID'si.
  • environmentId: İsteğin yapıldığı ortamın benzersiz kimliği.
  • projectId: İsteğin ait olduğu projenin benzersiz kimliği.
  • applicationName: İsteğin ilgili olduğu uygulamanın adıf (örneğin, "Swagger Petstore Documentation").
  • apiProxyId: Token talebinin ilişkili olduğu API Proxy'nin benzersiz kimliği.
  • apiProxyName: İlişkili API Proxy'nin adı.
  • httpRequestRemoteAddress: Token isteğini yapan istemcinin IP adresi.
  • httpRequestHttpMethod: Token isteğinin HTTP metodu (genellikle "POST").
  • httpRequestContentType: İsteğin içerik tipi (örneğin, "application/x-www-form-urlencoded").
  • usernameOrKey: Token talep eden kullanıcı adı veya istemci anahtarı.
  • timeTotal: Token işleminin toplam süresi (ms).
  • statusCode: Token isteğinin HTTP durum kodu (örneğin, 200 Başarılı).
  • resultType: Token işleminin sonucu (örneğin, "SUCCESS", "ERROR").
  • audience: Tokenın geçerli olduğu hedef kitle veya kaynak.
  • clientInfo: Token talep eden istemci hakkında ek bilgi (genellikle usernameOrKey ile benzer).
  • issuedAt: Tokenın verildiği zaman damgası.
  • refreshTokenAllowed: Yenileme tokenının (refresh token) bu işlem için izin verilip verilmediği (boolean).
  • refreshTokenIssuedAt: Yenileme tokenının verildiği zaman damgası.
  • refreshCount: Yenileme tokenının kaç kez kullanıldığı.

Örnek bir token log kaydının syslog'da görünümü:

2025-06-11T08:49:15.970Z apinizer_demo Apinizer_demo {"id":"6849430bfec3ea5f01ed3989","timestamp":"2025-06-11T08:49:15.229Z","apinizerCorrelationId":"dccababd-16e3-415e-b801-9f6a52b6a28c","environmentId":"63ca7ed05c8e155862d99e88","projectId":"68493b6e80f5de2a3c29c5ee","applicationName":"Swagger Petstore Documentation","apiProxyId":"68493bb680f5de2a3c29c609","apiProxyName":"Swagger Petstore Documentation","httpRequestRemoteAddress":"10.244.0.1","httpRequestHttpMethod":"POST","httpRequestContentType":"application/x-www-form-urlencoded","usernameOrKey":"documentation","timeTotal":19,"statusCode":200,"resultType":"SUCCESS","audience":"#GW#90c33df5f81e-4717-95f8-1ea76228a7d5","clientInfo":"documentation","issuedAt":"2025-06-11T08:49:15.220Z","refreshTokenAllowed":false,"refreshTokenIssuedAt":"2025-06-11T08:49:15.220Z","refreshCount":0}

Audit Loglarının Syslog'a Aktarılması

Yönetim > SIEM ve Log Yönlendirme sayfasında bir hedef tanımlanır, konnektör olarak Syslog bağlantısı seçilir ve hedefin kurallarında AUDIT hattı açılır.

Audit Logları Syslog Seçimi Syslog Connector Seçimi

Daha önce oluşturulmuş olan Syslog bağlantı tanımı seçilir.

Syslog Bağlantı Tanımı Seçimi

Gönderilecek audit logları için veri yapısı aşağıdaki gibi olacaktır.

  • id: Denetim olayının benzersiz kimliği.
  • principal: İşlemi gerçekleştiren kullanıcının adı (örneğin, "admin").
  • auditEventDate: Denetim olayının gerçekleştiği tarih ve saat.
  • state: Yapılan işlemin tipi (örneğin, "CREATED", "UPDATED", "DELETED").
  • objectId: İşlemin etkilendiği objenin (API, Policy vb.) benzersiz kimliği.
  • objectName: İşlemin etkilendiği objenin adı (örneğin, "Swagger Petstore Documentation").
  • referenceObjectJson: İşlem sonrası objenin tüm detaylı JSON gösterimi. Bu alan, objenin yeni halini tam olarak yansıtır ve genellikle çok uzun olabilir.
  • projectId: İlgili objenin ait olduğu projenin benzersiz kimliği.
  • className: İşlemin etkilendiği objenin Apinizer içindeki sınıf/tip adı (örneğin, "ApiProxy").

Örnek bir audit log mesajının syslog'da görünümü:

2025-06-11T08:26:11.650Z apinizer_demo Apinizer_demo {"id":"68493da280f5de2a3c29c975","principal":"admin","auditEventDate":"2025-06-11T08:26:10.710Z","state":"UPDATED","objectId":"68493bb680f5de2a3c29c609","objectName":"Swagger Petstore Documentation","referenceObjectJson":"{ \"id\": \"68493bb680f5de2a3c29c609\", \"name\": \"Swagger Petstore Documentation\", \"type\": \"REST\", ... <DETAYLAR_BU_ORNEKTE_KISALTILMIŞTIR> ... }","projectId":"68493b6e80f5de2a3c29c5ee","className":"ApiProxy"}

Bu hedef üzerinden iletilen her audit log mesajı ayrıca aşağıdaki alanları taşır:

  • eventType: Her zaman bulunur. Yukarıdaki değişiklik kaydı için ENTITY, aşağıda açıklanan iki olay türü için MANAGER_REQUEST / ACCESS_DENIED.
  • outcome: Her zaman bulunur. SUCCESS, FAILURE veya DENIED.
  • clientIp, userAgent, correlationId: Yalnızca istek için biliniyorsa bulunur.
  • source: Her zaman bulunur. MANAGER, APIOPS, PORTAL veya SYSTEM.

Yönetim Konsolu İsteği ve Erişim Reddi Olayları

Administration > System Settings > General Settings altındaki Audit Log — Yönetim Konsolu isteklerinin denetim kaydı ayarının açılması, Yönetim Konsolu ekranlarına, Yönetim API'lerine veya APIops'a ulaşan her yazma işlemi (HTTP POST) için aynı hedef üzerinden ayrıca bir MANAGER_REQUEST denetim olayı gönderir. Bu ayar Genel Ayarlar ekranında kalmaya devam eder; olayın hedefe gidip gitmeyeceği ise SIEM ve Log Yönlendirme sayfasındaki AUDIT kuralıyla belirlenir. Reddedilen istekler bu ayardan bağımsız olarak her zaman ACCESS_DENIED olayı olarak gönderilir. Bu iki olay türü için objectName ve referenceObjectJson, bir varlığın verisi yerine işlemin yolunu, HTTP metodunu, sonucunu ve süresini taşır — istek gövdesi, sorgu parametreleri ve kimlik doğrulama başlıkları hiçbir zaman bunlara dahil edilmez. Tam alan referansı ve JSON örnekleri için Denetim Kayıtları sayfasına bakabilirsiniz.

ipucu

Denetim olaylarından yalnızca bir bölümünü SIEM'e göndermek, gönderilen olay boyutunu sınırlamak veya kimlik alanlarını maskelemek için SIEM ve Log Yönlendirme sayfasındaki hat kurallarını kullanabilirsiniz.