You need to enable JavaScript to run this app.
导航

定制与导出审计日志

最近更新时间2023.11.30 14:19:25

首次发布时间2023.11.30 14:19:25

ES 实例启用数据面审计后,您可以在 Kibana 页面定制日志报表,并支持导出 CSV 格式的日志文件。

前提条件

数据面审计日志开启后,将数据访问事件写入以.security-auditlog-开头、以日期结尾的索引。您需要提前在 Kibana 页面配置索引样式,然后才可以继续定制日志报表和导出日志文件。
如何创建访问索引,请参见查看审计日志

定制日志报表

在 Kibana 的 Visualize 页面,您可以配置各种可视化的图表来定制日志报表。

  1. 通过公网地址登录 Kibana 页面。相关文档,请参见登录可视化工具页面

  2. 在 Kibana 菜单栏选择 Visualize,然后单击 Create new visualization

  3. 按需创建可视化图表。
    本文以统计不同账号访问量变化为例,选择创建一个Area图表,数据源为.security-auditlog-*索引样式。
    图片

  4. 设置Area图表的横纵坐标,然后单击 Update

    配置

    说明

    Y-axis

    纵坐标设置为Count为聚合维度、显示名称为requests
    图片

    X-axis

    横坐标设置为@timestamp字段、Data Histogram为聚合维度。
    图片

    split series

    为横坐标设置拆分字段,设置为audit_request_effective_user_is_admin字段、Terms为聚合维度。
    图片

  5. 查看定制的Area图表,然后单击右上角的 Save
    图片

导出审计日志

在 Kibana 的 Discover 页面,您可以通过设置过滤条件、时间范围来筛选日志,然后将日志以 CSV 样式导出到本地;也可以通过创建自定义报告,然后可以重复获取相同过滤条件的审计日志。

导出 CSV 日志

  1. 设置过滤条件和时间范围。
    • 单击 +Add filter,设置过滤条件。此处示例为audit_request_effective_user_is_admin: false,表示查询非 admin 用户的事件日志。
    • 按需设置时间范围。
      图片
  2. 单击右上角的 Save,保存日志报表。
    图片
  3. 单击右上角的 Reporting,然后选择导出 CSV 样式的日志报表。
    图片

重复获取相同过滤条件的日志

  1. 在 Discover 页面,完成过滤条件的配置和保存后,您可以单击右上角的 Reporting,然后选择 Create report definition
    图片
  2. 按需设置报告名称、数据源、时间范围、触发类型等信息,然后单击右下角的 Create
    • Report source:设置为 Saved search,并选择您已保存的过滤条件。
    • Time range:按需设置时间范围,比如 Last 1 day
    • Trigger type:按需设置触发方式,本文设置为On demand,通过请求触发。
      如果是周期性报告,请选择 Schedule,并为其选择周期性触发机制(Recurring 或 Cron based)。
  3. 查询自定义报告的 ID(主键)。
    自定义报告创建后,系统会生成一个名为.opendistro-reports-definitions的索引。您可以为该索引创建索引样式,然后在 Discover 页面查看报告的 ID(主键)。
    1. Stack Management > Index patterns 路径下,创建.opendistro-reports-definitions的索引样式。
    2. 在 Discover 页面查看报告的 ID(主键)。
      您可以选择关键字段作为 Selected fields,然后便可以直观的查看到关注信息。
      图片
  4. 获取日志文件。
    您可以通过以下命令获取日志文件,需要正确填写 Kibana 公网访问地址、报告 ID、访问用户和密码信息。

    说明

    通过手动触发报告下载的日志文件,内容为发送请求时前 24 小时产生的审计日志。

    curl -k -XPOST 'https://'${kibana 公网地址}'/api/reporting/generateReport/'${report_id}'?timezone=Asia%2FShanghai' -H 'kbn-xsrf: true' -u ${user}:${password}