diff --git a/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md b/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md index c6ae0d5fc61..41f9bd2ab84 100644 --- a/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md +++ b/docs-2.0/5.configurations-and-logs/1.configurations/3.graph-config.md @@ -99,6 +99,10 @@ Graph 服务提供了两份初始配置文件`nebula-graphd.conf.default`和`neb | ------------------- | ------------------------ | ------------------------------------------ | | `system_memory_high_watermark_ratio` | `0.8` |内存高水位报警机制的触发阈值。系统内存占用率高于该值会触发报警机制,Nebula Graph 会停止接受查询。| +## audit 配置 + +仅 Nebula Graph 企业版支持审计日志功能。详细参数说明参见[审计日志](2.log-management/audit-log.md)。 + ## metrics 配置 | 名称 | 预设值 | 说明 | diff --git a/docs-2.0/5.configurations-and-logs/2.log-management/audit-log.md b/docs-2.0/5.configurations-and-logs/2.log-management/audit-log.md new file mode 100644 index 00000000000..65c60417eb5 --- /dev/null +++ b/docs-2.0/5.configurations-and-logs/2.log-management/audit-log.md @@ -0,0 +1,99 @@ +# 审计日志 + +Nebula Graph 的审计日志功能可以将 Graph 服务接受到的所有操作进行分类存储,用户可以根据需要,追踪指定类型的操作。 + +!!! enterpriseonly + + 仅企业版支持本功能。 + +## 日志类别 + +|类别|语句|说明| +|:--|:--|:--| +|`login` |-| 客户端尝试连接 Graph 服务时,记录相关信息。 | +|`exit` |-| 断开与 Graph 服务的连接时,记录相关信息。 | +|`ddl` |`CREATE SPACE`、`DROP SPACE`、`CREATE TAG`、`DROP TAG`、`ALTER TAG`、`DELETE TAG`、`CREATE EDGE`、`DROP EDGE`、`ALTER EDGE`、`CREATE INDEX`、`REBUILD INDEX`、`DROP INDEX`、`CREATE FULLTEXT INDEX`、`REBUILD FULLTEXT INDEX`、`DROP FULLTEXT INDEX`|记录 DDL 语句的信息。 | +|`dql` |`MATCH`、`LOOKUP`、`GO`、`FETCH`、`GET SUBGRAPH`、`FIND PATH`、`UNWIND`、`GROUP BY`、`ORDER BY`、`YIELD`、`LIMIT`、`RETURN`|记录 DQL 语句的信息。| +|`dml` |`INSERT VERTEX`、`DELETE VERTEX`、`UPDATE VERTEX`、`UPSERT VERTEX`、`INSERT EDGE`、`DELETE EDGE`、`UPDATE EDGE`、`UPSERT EDGE`|记录 DML 语句的信息。 | +|`dcl`|`CREATE USER`、`GRANT ROLE`、`REVOKE ROLE`、`CHANGE PASSWORD`、`ALTER USER`、`DROP USER`、`CREATE SNAPSHOT`、`DROP SNAPSHOT`、`ADD LISTENER`、`REMOVE LISTENER`、`BALANCE`、`SUBMIT JOB`、`STOP JOB`、`RECOVER JOB`、`ADD DRAINER`、`REMOVE DRAINER`|记录 DCL 语句的信息。| +|`util`|`SHOW HOSTS`、`SHOW USERS`、`SHOW ROLES`、`SHOW SNAPSHOTS`、`SHOW SPACES`、`SHOW PARTS`、`SHOW TAGS`、`SHOW EDGES`、`SHOW INDEXES`、`SHOW CREATE SPACE`、`SHOW CREATE TAG/EDGE`、`SHOW CREATE INDEX`、`SHOW INDEX STATUS`、`SHOW LISTENER`、`SHOW TEXT SEARCH CLIENTS`、`SHOW DRAINER CLIENTS`、`SHOW FULLTEXT INDEXES`、`SHOW CONFIGS`、`SHOW CHARSET`、`SHOW COLLATION`、`SHOW STATS`、`SHOW SESSIONS`、`SHOW META LEADER`、`SHOW DRAINERS`、`SHOW QUERIES`、`SHOW JOB`、`SHOW JOBS`、`DESCRIBE INDEX`、`DESCRIBE EDGE`、`DESCRIBE TAG`、`DESCRIBE SPACE`、`DESCRIBE USER`、`USE SPACE`、`SIGN IN TEXT SERVICE`、`SIGN OUT TEXT SERVICE`、`SIGN IN DRAINER SERVICE`、`SIGN OUT DRAINER SERVICE`、`EXPLAIN`、`PROFILE`、`KILL QUERY`、`DOWNLOAD HDFS`、`INGEST`|记录工具类语句的信息。 | +|`unknown`|-|记录未能识别的语句。| + +## 设置审计日志 + +使用审计日志需要修改集群内的所有 Graph 服务的配置(`nebula-graphd.conf`),默认路径为`/usr/local/nebula/etc/nebula-graphd.conf`。 + +!!! note + + 修改配置后,需要重启 Graph 服务才能生效。 + +与审计日志相关的参数说明如下。 + +|参数|预设值|说明| +|:--|:--|:--| +| `enable_audit` | `false` | 是否开启审计日志。 | +| `audit_log_handler` | `file` | 审计日志的存储方案。可选值为`file`(本地文件)和`es`(Elasticsearch)。 | +| `audit_log_file` | `./logs/audit/audit.log` | 仅在`audit_log_handler=file`时生效。审计日志的存储路径,支持相对路径或绝对路径。 | +| `audit_log_strategy` | `synchronous` | 仅在`audit_log_handler=file`时生效。审计日志的同步方案。可选值为`asynchronous`和`synchronous`。设置为`asynchronous`时,日志事件使用内存缓冲,不会阻塞主线程,但是可能会因为缓存不够而导致日志缺失;设置为`synchronous`时,日志事件每次都刷新并同步到文件中。 | +| `audit_log_max_buffer_size` | `1048576` |仅在`audit_log_handler=file`、`audit_log_strategy=asynchronous`时生效。审计日志的缓存大小。单位:字节。 | +| `audit_log_format` | `xml` | 仅在`audit_log_handler=file`时生效。审计日志的格式。可选值为`xml`、`json`和`csv`。 | +| `audit_log_es_address` | - | 仅在`audit_log_handler=es`时生效。Elasticsearch 服务器的地址。格式为`IP1:port1, IP2:port2, ...`。 | +| `audit_log_es_user` | - | 仅在`audit_log_handler=es`时生效。登录 Elasticsearch 服务器的用户名。 | +| `audit_log_es_password` | - | 仅在`audit_log_handler=es`时生效。Elasticsearch 用户名对应的密码。 | +| `audit_log_es_batch_size` | `1000` | 仅在`audit_log_handler=es`时生效。每次发送至 Elasticsearch 服务器的日志条数。 | +| `audit_log_exclude_spaces` | - | 不需要记录日志的图空间列表。多个图空间用英文逗号(,)分隔。 | +| `audit_log_categories` | `login,exit` | 需要记录日志的分类列表。多个类别用英文逗号(,)分隔。 | +| | | | + +## 审计日志格式 + +不同的存储方案和不同的格式,日志内的字段是相同的。以默认路径(`logs/audit/audit.log`)和默认 XML 格式为例说明各个字段的含义。 + +```bash + + +``` + +|字段|说明| +|:--|:--| +|`CATEGORY`| 日志类别。| +|`TIMESTAMP`| 日志生成时间。 | +|`TERMINAL`| 保留字段,暂不支持。| +|`CONNECTION_ID`| 连接的会话ID。 | +|`CONNECTION_STATUS`| 连接的状态码。`0`表示成功,其他数字代表不同的错误信息。| +|`CONNECTION_MESSAGE`| 如果连接出错,会显示报错信息。| +|`USER`| 连接的用户名。 | +|`CLIENT_HOST`| 客户端的 IP 地址。 | +|`HOST`| 连接的机器的 IP 地址。 | +|`SPACE`| 执行查询的图空间。| +|`QUERY`| 查询语句。| +|`QUERY_STATUS`| 查询状态。`0`表示成功,其他数字代表不同的错误信息。| +|`QUERY_MESSAGE`| 如果查询出错,会显示报错信息。| \ No newline at end of file diff --git a/docs-2.0/5.configurations-and-logs/2.log-management/logs.md b/docs-2.0/5.configurations-and-logs/2.log-management/logs.md index 85d6f3dee34..b969ed28425 100644 --- a/docs-2.0/5.configurations-and-logs/2.log-management/logs.md +++ b/docs-2.0/5.configurations-and-logs/2.log-management/logs.md @@ -1,6 +1,8 @@ # 日志配置 -Nebula Graph 使用 [glog](https://github.com/google/glog) 打印日志,使用 [gflags](https://gflags.github.io/gflags/) 控制日志级别,并在运行时通过 HTTP 接口动态修改日志级别,方便跟踪问题。 +Nebula Graph 默认使用 [glog](https://github.com/google/glog) 打印日志,使用 [gflags](https://gflags.github.io/gflags/) 控制日志级别,并在运行时通过 HTTP 接口动态修改日志级别,方便跟踪问题。 + +Nebula Graph 企业版还支持[审计日志](audit-log.md)。 ## 日志目录 @@ -9,7 +11,6 @@ Nebula Graph 使用 [glog](https://github.com/google/glog) 打印日志,使用 如果在 Nebula Graph 运行过程中删除日志目录,日志不会继续打印,但是不会影响业务。重启服务可以恢复正常。 ## 配置说明 - - `minloglevel`:最小日志级别,即不会记录低于这个级别的日志。可选值为`0`(INFO)、`1`(WARNING)、`2`(ERROR)、`3`(FATAL)。建议在调试时设置为`0`,生产环境中设置为`1`。如果设置为`4`,Nebula Graph 不会记录任何日志。 - `v`:日志详细级别,值越大,日志记录越详细。可选值为`0`、`1`、`2`、`3`。 diff --git a/mkdocs.yml b/mkdocs.yml index 94deebb1924..7371f0ec326 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -328,6 +328,7 @@ nav: - Linux 内核配置: 5.configurations-and-logs/1.configurations/6.kernel-config.md - 日志: - 日志配置: 5.configurations-and-logs/2.log-management/logs.md + - 审计日志(企业版): 5.configurations-and-logs/2.log-management/audit-log.md - 监控: - 查询 Nebula Graph 监控指标: 6.monitor-and-metrics/1.query-performance-metrics.md