首页 > 解决方案 > Spring Boot 中的审计日志

问题描述

我们在 Spring Boot 中有微服务架构应用程序。我们计划在我们的服务中添加审计日志。这样我们就可以获得类似的信息,

高水平:

  1. 为此,我们计划将所需信息以 JSON 格式写入日志文件。(每个服务日志会单独维护)
  2. 然后 Devops 团队,使用 Filebeat 读取日志并将日志推送到弹性搜索。
  3. 然后我们可以使用 kibana 查询/可视化来自弹性搜索的信息。

JSON(日志结构):

{
    "userId"        : "100",
    "ip"            : "192.168.1.1",
    "deviceId"      : "f07a13984f6d116a",
    "country"       : "India",
    "language"      : "English (U.S)"
    "userAgent"     : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
    "timestamp"     : "2004-02-12T15:19:21.000+00:00",
    "event"         : "update product",
    "resource"      : "user",
    "action"        : "deactivate",
    "objectId"      : "22",
    "objectType"    : "user",
    "description"   : "Deactivated user",
    "service"       : "User service",
    "appVersion"    : "v1",
    "requestId"     : "db176f6b-b4c6-4a59-ac62-4d471eedf354"
    "server"        : "i0e5b5c88",
    "serverLocation": "us-east-1",
    "protocol"      : "https",
    "method"        : "PATCH",
    "statusCode"    : "200"
}

谁能建议更好的架构来使用 Spring Boot 实现自定义审计日志?

这样我就可以从中提取有用的信息。

标签: javaspring-bootaudit-trailaudit-logging

解决方案


推荐阅读