Apinizer 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 bakınız.
Uygılama Loglarının Syslog ile Aktarılması
Administration > System Settings > General Settings sayfasına gidilir ve uygulama logları için Syslog Connector seçilir.
Daha önce oluşturulmuş olan Syslog bağlantı tanımı seçilir.
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... ...\n\tat java.lang.Thread.run(Thread.java:750)\n","hostName":"manager-58b4d4784d-sm47j","enumApplicationLog":"MANAGER"}
Token Loglarının Syslog ile Aktarılması
Administration > System Settings > General Settings sayfasına gidilir ve token logları için Syslog Connector seçilir.
Daha önce oluşturulmuş olan Syslog bağlantı tanımı seçilir.
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ı (ö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ı
Administration > System Settings > General Settings sayfasına gidilir ve uygulama logları için Syslog Connector seçilir.
Daha önce oluşturulmuş olan Syslog bağlantı tanımı seçilir.
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_de2025-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"}