审计日志
数据库的审计日志记录了对数据库执行的操作。审计日志有助于监控用户活动,检测可疑操作,并确保组织内外的合规性。本文档提供了 GreptimeDB 中审计日志的概述以及如何配置它。
概述
一条在 GreptimeDB 上执行的语句(SQL 或 PromQL)会被记录在审计日志中(当然,前提是已经将其配置为需要被审计)。以下是审计日志中的一条示例记录:
{
"time": "2024-11-05T06:13:19.903713Z",
"user": "greptime_user",
"source": "Mysql",
"class": "Ddl",
"command": "Create",
"object_type": "Database",
"object_names": [
"audit_test"
],
"statement": "CREATE DATABASE audit_test"
}
正如您所见,一条审计日志的记录被格式化为 JSON 字符串。它包含以下字段:
time: 语句执行的时间。格式为带有 UTC 时区的 ISO 8601 日期和时间的字符串。user: 发送该请求的用户。source: 请求的来源,也即用于连接到 GreptimeDB 的协议。class: 语句的类别,如 "Read"、"Write" 或 "DDL" 等。command: 语句的命令,如 "Select"、"Insert" 或 "Create" 等。object_type: 语句操作的对象的类型,如 "Database"、"Table" 或 "Flow" 等。object_names: 语句操作的对象的名称。statement: 语句本身。