文档下载建议反馈入口

  • 开启审计功能
  • 管理审计策略
  • 审计日志

审计管理

数据库审计以安全事件为中心,以全面审计和精确审计为基础,实时记录数据库活动,对数据库操作进行细粒度审计的合规性管理。通过记录、分析和汇报用户访问数据库的行为,帮助用户事后生成合规报告、追溯事故根源。通过大数据搜索技术提供高效查询审计报告,定位事件原因,以便日后查询、分析、过滤,加强内外部数据库网络行为的监控与审计,提高数据资产安全。

KaiwuDB 支持监控和记录包括管理员在内的所有用户操作,提供三个级别的审计:

  • 系统级审计:开启审计功能后自动启动,无需额外配置
  • 语句级审计:审计数据库管理语句的执行,包括 DDL 语句(如创建用户、创建表等)以及系统管理操作(如作业控制、会话管理等)
  • 对象级审计:审计 DML 语句的执行,如对特定表或视图进行的查询、插入、更新、删除等数据操作

下表列出 KaiwuDB 支持的系统级审计操作。

对象操作
NODE- 重启(RESTART)
- 退役(DECOMMISON)
- 复役(RECOMMISION)
- 退出(QUIT)
- 加入(JOIN)
CONNECT- 登录(LOGIN)
- 登出(LOGOUT)
CLUSTER SETTING- 设置(SET)
- 重置(RESET)

用户需要通过 SQL 语句创建、启用相应的语句级和对象级审计策略。

下表列出 KaiwuDB 支持的语句级审计操作。

对象关系数据库时序数据库
USER- CREATE USER
- ALTER USER
- DROP USER
- CREATE USER
- ALTER USER
- DROP USER
ROLE- CREATE ROLE
- ALTER ROLE
- GRANT ROLE
- REVOKE ROLE
- DROP ROLE
- CREATE ROLE
- ALTER ROLE
- GRANT ROLE
- REVOKE ROLE
- DROP ROLE
DATABASE- CREATE DATABASE
- ALTER DATABASE
- DROP DATABASE
- IMPORT
- EXPORT
- CREATE DATABASE
- ALTER DATABASE
- DROP DATABASE
- IMPORT
- EXPORT
SCHEMA- CREATE SCHEMA
- DROP SCHEMA
-
TABLE- CREATE TABLE
- ALTER TABLE
- DROP TABLE
- TRUNCATE TABLE
- IMPORT
- EXPORT
- CREATE TABLE
- ALTER TABLE
- DROP TABLE
- IMPORT
- EXPORT
VIEW- CREATE VIEW
- ALTER VIEW
- DROP VIEW
-
INDEX- CREATE INDEX
- ALTER INDEX
- DROP INDEX
- CREATE INDEX
- ALTER INDEX
- DROP INDEX
SEQUENCE- CREATE SEQUENCE
- ALTER SEQUENCE
- DROP SEQUENCE
-
PRIVILEGE- GRANT PRIVILEGE
- REVOKE PRIVILEGE
- GRANT PRIVILEGE
- REVOKE PRIVILEGE
AUDIT- CREATE AUDIT
- ALTER AUDIT
- DROP AUDIT
- CREATE AUDIT
- ALTER AUDIT
- DROP AUDIT
RANGEALTER RANGEALTER RANGE
QUERY- CANCEL QUERY
- EXPLAIN QUERY
- CANCEL QUERY
- EXPLAIN QUERY
JOB- CANCEL JOB
- PAUSE JOB
- RESUME JOB
- CANCEL JOB
- PAUSE JOB
- RESUME JOB
SCHEDULE- CREATE SCHEDULE
- ALTER SCHEDULE
- PAUSE SCHEDULE
- RESUME SCHEDULE
- DROP SCHEDULE
- CREATE SCHEDULE
- ALTER SCHEDULE
- PAUSE SCHEDULE
- RESUME SCHEDULE
- DROP SCHEDULE
SESSION- SET SESSION
- RESET SESSION
- CANCEL SESSION
- SET SESSION
- RESET SESSION
- CANCEL SESSION
STATISTICSCREATE STATISTICSCREATE STATISTICS
LEVEL- CREATE LEVEL
- DROP LEVEL
-
COMPARTMENT- CREATE COMPARTMENT
- DROP COMPARTMENT
-
LABEL- CREATE LABEL
- DROP LABEL
- GRANT LABEL
- REVOKE LABEL
-

下表列出 KaiwuDB 支持的对象级审计操作。

对象关系数据库时序数据库
TABLE- INSERT
- SELECT
- UPDATE
- DELETE
- INSERT
- SELECT
- UPDATE
- DELETE
其中,UPDATE 和 DELETE 只支持报错审计。
VIEWSELECT-

开启审计功能后,系统会默认将审计结果保存在审计日志文件中。更多审计日志相关的信息,参见审计日志

开启审计功能

默认情况下,系统关闭审计功能,如需对用户操作进行审计,需要通过 SQL 语句开启审计功能。

前提条件

  • 非三权分立模式下,用户是 admin 角色的成员。默认情况下,root 用户属于 admin 角色。
  • 三权分立模式下,用户是 secadmin 角色的成员。默认情况下,secroot 用户属于 secadmin 角色。

语法格式

SET CLUSTER SETTING audit.enabled = [true | false];

参数说明

语法示例

以下示例开启审计功能。

SET CLUSTER SETTING audit.enabled = true;

管理审计策略

KaiwuDB 支持使用 SQL 语句创建、启用、修改、删除语句级和对象级审计策略。用户无需设置系统级审计策略。开启审计功能后,系统自动启动系统级审计。一旦发生支持的系统级审计操作,系统会自动生成相应的审计日志。

创建审计策略

CREATE AUDIT 语句用于创建语句级、对象级审计策略。

前提条件

  • 非三权分立模式下,用户是 admin 角色的成员。默认情况下,root 用户属于 admin 角色。
  • 三权分立模式下,用户是 secadmin 角色的成员。默认情况下,secroot 用户属于 secadmin 角色。

语法格式

CREATE AUDIT [IF NOT EXISTS] <audit_name>
ON [ALL | <target_type> [<target_name>]]
FOR [ALL | <operations>]
TO [ALL | <operators>]
[WHENEVER [ALL]];

参数说明

参数说明
IF NOT EXISTS可选关键字。当使用 IF NOT EXISTS 关键字时,如果目标审计策略不存在,系统创建审计策略。如果目标审计策略存在,系统创建审计策略失败,但不会报错。当未使用 IF NOT EXISTS 关键字时,如果目标审计策略不存在,系统创建审计策略。如果目标审计策略存在,系统报错,提示目标审计策略已存在。
audit_name审计策略的名称。审计策略名称必须唯一。
target_type审计对象类型。支持 user、role、database、schema、table、view、index、sequence、privilege、audit、range、query、job、schedule、session、statistics。支持使用 ALL 作为参数值,表示对所有对象类型进行审计。
target_name可选参数。审计对象的名称,格式为 database_name.target_nametarget_name
- 指定对象名称时:进行对象级审计,审计对指定对象的数据操作。如未指定数据库,则默认使用当前数据库。
- 未指定对象名称时:进行语句级审计,审计与该对象类型相关的管理语句。
注意:
1. 进行对象级审计时,对象类型必须是 table 或 view。
2. 指定具体对象名称时,只能进行对象级审计。
operations审计操作。支持指定一个或多个审计操作,审计操作之间使用逗号(,)隔开。支持使用 ALL 作为参数值,表示对所有操作进行审计。支持的审计操作取决于对象可执行的操作。
operators用户或角色名称。支持指定一个或多个用户或角色,用户或角色名称之间使用逗号(,)隔开。支持使用 ALL 作为参数值,表示对所有用户和角色进行审计。
WHENEVER可选关键字,指定执行审计的条件。默认为 ALL,且只支持设置为 ALL,表示总是记录审计。

语法示例

  • 创建语句级审计策略。

    以下示例创建 atest 语句级审计策略,对 root 用户执行的数据库创建操作进行审计。

    CREATE AUDIT atest ON DATABASE FOR create TO root;
    
  • 创建对象级审计策略。

    以下示例创建 atest 对象级审计策略,对 root 用户执行的 t1 表的查询操作进行审计。

    CREATE AUDIT atest ON TABLE t1 FOR SELECT TO root;
    

修改审计策略

ALTER AUDIT 语句用于启用、禁用、重命名审计策略。

前提条件

  • 非三权分立模式下,用户是 admin 角色的成员。默认情况下,root 用户属于 admin 角色。
  • 三权分立模式下,用户是 secadmin 角色的成员。默认情况下,secroot 用户属于 secadmin 角色。

语法格式

ALTER AUDIT [IF EXISTS] <audit_name> [ENABLE | DISABLE | RENAME TO <new_name>];

参数说明

参数说明
IF EXISTS可选关键字。当使用 IF EXISTS 关键字时,如果目标审计策略存在,系统修改目标审计策略。如果目标审计策略不存在,系统修改审计策略失败,但不会报错。当未使用 IF EXISTS 关键字时,如果目标审计策略存在,系统修改审计策略。如果目标审计策略不存在,系统报错,提示目标审计策略不存在。
audit_name当前的审计策略名称。
ENABLE启用审计策略。默认情况下,禁用审计策略。
DISABLE禁用审计策略。
new_name新的审计策略名称。审计策略名称必须唯一。

语法示例

  • 启动审计策略。

    以下示例启用 atest 审计策略。

    ALTER AUDIT atest ENABLE;
    
  • 重命名审计策略。

    以下示例将 atest 审计策略重命名未 btest

    ALTER AUDIT atest RENAME TO btest;
    

查看审计策略

SHOW AUDITS 语句用于查看已创建的审计策略。

前提条件

语法格式

SHOW AUDITS [ON <target_type> [<target_name>] [FOR <operations>] [TO <operators>]];

参数说明

参数说明
target_type可选参数,审计对象类型。支持 user、role、database、schema、table、view、index、sequence、privilege、audit、range、query、job、schedule、session、statistics。支持使用 ALL 作为参数值,表示查看所有对象的审计策略。
target_name可选参数,数据库已存在的审计对象的名称。格式为 database_name.target_name。如果只提供了审计对象名称,则默认对查看当前数据库中指定对象的审计策略。如未指定对象名称,KaiwuDB 查看指定对象的审计策略。
说明
如果对象类型为 database,无法指定对象名称。
operations可选参数,审计操作。支持指定一个或多个审计操作,审计操作之间使用逗号(,)隔开。
operators可选参数,用户或角色名称。支持指定一个或多个用户或角色,用户或角色名称之间使用逗号(,)隔开。

语法示例

  • 查看所有审计策略。

    SHOW AUDITS;
    

    执行成功后,控制台输出以下信息:

      audit_name | target_type | target_name | target_id | operations | operators | condition | whenever | action | level | enable
    -------------+-------------+-------------+-----------+------------+-----------+-----------+----------+--------+-------+---------
      b          | ALL         |             |         0 | ALL        | rest_user |         0 | ALL      |      0 |     0 | false
      c          | DATABASE    |             |         0 | ALL        | rest_user |         0 | ALL      |      0 |     0 | false
      d          | ALL         |             |         0 | ALL        | rest_user |         0 | ALL      |      0 |     0 | false
    (3 rows)
    
  • 查看指定对象类型的审计策略。

    SHOW AUDITS ON DATABASE;
    

    执行成功后,控制台输出以下信息:

      audit_name | target_type | target_name | target_id | operations | operators | condition | whenever | action | level | enable
    -------------+-------------+-------------+-----------+------------+-----------+-----------+----------+--------+-------+---------
      c          | DATABASE    |             |         0 | ALL        | rest_user |         0 | ALL      |      0 |     0 | false
    (1 row)
    

删除审计策略

DROP AUDIT 语句用于删除已创建的审计策略。

前提条件

  • 非三权分立模式下,用户是 admin 角色的成员。默认情况下,root 用户属于 admin 角色。
  • 三权分立模式下,用户是 secadmin 角色的成员。默认情况下,secroot 用户属于 secadmin 角色。

语法格式

DROP AUDIT [IF EXISTS] <audit_name>;

参数说明

参数说明
IF EXISTS可选关键字。当使用 IF EXISTS 关键字时,如果目标审计策略存在,系统删除目标审计策略。如果目标审计策略不存在,系统删除审计策略失败,但不会报错。当未使用 IF EXISTS 关键字时,如果目标审计策略存在,系统删除审计策略。如果目标审计策略不存在,系统报错,提示目标审计策略不存在。
audit_name审计策略的名称。支持同时删除多个审计策略,审计策略名称之间使用逗号(,)隔开。

语法示例

以下示例删除 btest 审计策略。

DROP AUDIT btest;

审计日志

为了确保审计日志的安全性,KaiwuDB 使用 SM4 算法对审计信息进行加密。默认情况下,KaiwuDB 对除以下字段以外的其他审计信息进行加密:

  • 用户信息
  • 事件类型
  • 操作对象
  • 事件发生时间
  • 事件执行结果

加密后的数据进行 Base64 运算后存储在审计日志中。KaiwuDB 使用 SM3 算法在每条审计日志数据后面添加一个哈希值,为审计日志添加完整性校验。

默认情况下,开启审计功能后,系统将审计结果保存在审计日志文件中。如需关闭审计日志,使用以下 SQL 语句将 audit.log.enabled 设为 false

SET CLUSTER SETTING audit.log.enabled=false;

说明

  • KaiwuDB 只支持查看当前节点的审计日志。
  • KaiwuDB 支持最多读取 1000 条审计日志。

审计日志文件包含以下信息:

字段
说明
示例
日志级别和日期审计日志的级别和记录日期,其中日志级别为 I。I240415
时间UTC 格式的时间戳。06:49:34.207014
goroutine id记录该审计的 goroutine ID。538
审计源码文件路径打印日志的源码文件及代码行。security/audit/actions/record_to_log.go:45
节点记录审计日志的节点 ID。[n1]
日志输入计数历史累计审计消息数。3
事件发生时间审计事件的发生时间。"EventTime":"2024-04-15T06:49:34.206948441Z"
事件执行时间审计事件的执行时间间隔。"Elapsed":2242701
用户信息用户和角色信息,包括以下字段:
- UserID:预留字段,执行事件的用户 ID,默认值为 0
- Username:执行事件的用户名称。
- Roles:角色信息,其中 ID 是预留字段,表示执行事件的角色 ID,默认值为 0Name 表示执行事件的角色名称。
"User":{"UserID":0,"Username":"root","Roles":[{"ID":0,"Name":"admin"}]}
事件类型在对象上的操作类型,例如创建、删除等。"Event":"CREATE"
操作对象操作对象的信息,包括以下字段:
- Typ:操作对象类型。
- Targets:具体的操作对象信息,支持一个或多个操作对象。
- ID:操作对象 ID。
- Name:操作对象的名称。
- Cascades:是否级联删除对象。
"Target":{"Typ":"DATABASE","Targets":{"78":{"ID":78,"Name":"db1","Cascades":null}}}
审计级别- 系统级:0
- 语句级:1
- 对象级:2
"Level":1
客户端信息客户端信息,包括以下字段:
- AppName:客户端应用名称。
- Address:客户端地址,包含 IP 地址和端口。
Client":{"AppName":"$ kwbase sql","Address":"127.0.0.1:55564"}
事件执行结果事件执行结果,包括以下字段:
- Status:事件执行的状态,OK 表示成功,FAIL 表示失败。
- ErrMsg:事件的错误信息。
- RowsAffected:受影响的行数。
"Result":{"Status":"OK","ErrMsg":"","RowsAffected":0}
执行语句执行语句信息,包括以下字段:
- Cmd:执行的语句。
- Params:执行的参数。
"Command":{"Cmd":"CREATE DATABASE db1","Params":"{}"}
审计事件记录节点审计事件记录节点的信息,包括以下字段:
- ClusterID:集群 ID。
- NodeID:节点 ID。
- HostIP:节点的 IP 地址。
- HostPort:节点端口。
- HostMac:节点的 MAC 地址。
- LastUp:预留字段,节点上一次启动时间,默认值为 0
"Reporter":{"ClusterID":"ae93118d-28bc-492f-bd4f-852cafab0ad9","NodeID":1,"HostIP":"localhost","HostPort":"26257","HostMac":"","LastUp":0}}

以下是一条 CREATE DATABASE 审计日志的示例:

I240507 06:20:31.920166 393 security/audit/actions/record_to_log.go:51  [n1] 6 root CREATE DATABASE 2024-05-07T06:20:31+0000 OK grkMbmiKNXJWucF404G2jOS0jswBGxq3ac/nsDiNZTXPlS8W7kXaiEsRxxRSZWuUECOJ+HM3SjMErZJ1qzjTBmJ66+ak3I03fkXoROf7/Y2SKeHut83jN2qoZdklr3udKTaOi8pETdBBSN8+nl7eIKJJ6LwHvwEh328aVaBr0Lwt8krHcj64SM6qqeu+9ftKKfQdDrJevZ7605thZFpOYQaQtUnTxWfUqJeKDwvsfbYGRutMcH0QTGpyfjZ7OIYZ1rjR5kFibtV+jk0443qjT1od1IUZVFEKqQyBxtdsHoEIT1BPjCyFQsHe/bn2kkmGlGmkv4fEm0I554djoKrFBJMSqmpaoRS4I7Jr3eXvkO8ys6JIPIEv7xPJUZXDtEKLlQlI0eTgKRwTFDbTSMpQQgPZHaOLKrHZY4caMscCHFP/OAA2fC/2KidWgbxQ4y3setwl8kOZMPLvM+eJXkHby+uFoyPfu8iQw6yViDEJxNnKgokjm0z+xMlskNZqJxHhw9doiwMDgn1BSgFCvJ2jJk1rrki58yiZmlgxAkPd9jElvPEUR9+fPMuDzBS0CsiiX580XtRZUZ5uXaVUxxQvVwguF8eARYGwfNlfl1822mYq+/eZcUesNa3RVpXDz3PopDtkp6d31zEpzvR3mU+ApOdqUWDPabmLtXulg+QWzVRoXQnv1i2TL8ojYBTfZQxDLdIMgoqfJnwXcYd1vmtq9UWMfBYWgYy+fXn8Xs4vaBxIawwsSOrs0AO6ktlmCRJXR1FNr1wqEqZJt8xmbgugXbXBtzH+cfi50GEqW1fFim47y7Ngr1y1RonTxR+GMVrU 7675db87eeddd2d4e26dd36460d23974b76baf782ef5568701dce41bc8ade798

查看审计日志

前提条件

  • 非三权分立模式下,用户是 admin 角色的成员。默认情况下,root 用户属于 admin 角色。
  • 三权分立模式下,用户是 auditadminsecadmin 角色的成员。默认情况下,auditrootsecroot 用户分别属于 auditadminsecadmin 角色。
    • 当前用户为安全管理员时,如未指定用户,安全管理员只能查看审计管理员和普通用户的操作日志。如果指定用户为审计管理员或普通用户,返回筛选的审计日志结果。如果指定其他用户,返回空值。
    • 当前用户为审计管理员时,如未指定用户,审计管理员只能查看安全管理员和系统管理员的操作日志。如果指定用户为安全管理员或系统管理用户,返回筛选的审计日志结果。如果指定其他用户,返回空值。

语法格式

SELECT * FROM kwdb_internal.audit_trail;

参数说明

返回字段说明

字段说明
event_time审计事件发生的时间
username用户名
operation在审计对象上的操作类型
target_type审计对象类型
result审计事件执行结果。OK 表示成功,FAIL 表示失败。
detail其他审计信息

语法示例

SELECT * FROM kwdb_internal.audit_trail;

执行成功后,控制台输出以下信息:

             event_time            | username  | operation | target_type | result |                                                                                                                                                                                                                                                                                       detail
-----------------------------------+-----------+-----------+-------------+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  2025-10-24 03:05:13.632019+00:00 | user1     | LOGOUT    | CONN        | OK     | {"EventTime":"2025-10-24T03:05:13.632019479Z","Elapsed":1008,"User":{"UserID":0,"Username":"user1","Roles":[]},"Event":"LOGOUT","Target":{"Typ":"CONN","Targets":null},"Level":0,"Client":{"AppName":"","Address":"127.0.0.1:56392"},"Result":{"Status":"OK","ErrMsg":"","RowsAffected":0},"Command":null,"Reporter":null}
  2025-10-24 02:57:15.832953+00:00 | user1     | CREATE    | DATABASE    | FAIL   | {"EventTime":"2025-10-24T02:57:15.832953373Z","Elapsed":1009089,"User":{"UserID":0,"Username":"user1","Roles":[]},"Event":"CREATE","Target":{"Typ":"DATABASE","Targets":null},"Level":1,"Client":{"AppName":"$ kwbase sql","Address":"127.0.0.1:56392"},"Result":{"Status":"FAIL","ErrMsg":"only users with the system admin role are allowed to CREATE DATABASE","RowsAffected":0},"Command":{"Cmd":"CREATE DATABASE db1","Params":"{}"},"Reporter":{"ClusterID":"d725ebda-03ba-43eb-9124-e434b5452809","NodeID":1,"HostIP":"0.0.0.0","HostPort":"26257","HostMac":"","LastUp":0}}
  2025-10-24 02:15:44.378241+00:00 | user2     | LOGOUT    | CONN        | OK     | {"EventTime":"2025-10-24T02:15:44.378240713Z","Elapsed":1179,"User":{"UserID":0,"Username":"user2","Roles":[]},"Event":"LOGOUT","Target":{"Typ":"CONN","Targets":null},"Level":0,"Client":{"AppName":"","Address":"127.0.0.1:36108"},"Result":{"Status":"OK","ErrMsg":"","RowsAffected":0},"Command":null,"Reporter":null}
  2025-10-24 02:15:28.445459+00:00 | user2     | LOGIN     | CONN        | OK     | {"EventTime":"2025-10-24T02:15:28.445458595Z","Elapsed":716,"User":{"UserID":0,"Username":"user2","Roles":[]},"Event":"LOGIN","Target":{"Typ":"CONN","Targets":null},"Level":0,"Client":{"AppName":"","Address":"127.0.0.1:36108"},"Result":{"Status":"OK","ErrMsg":"","RowsAffected":0},"Command":null,"Reporter":{"ClusterID":"d725ebda-03ba-43eb-9124-e434b5452809","NodeID":1,"HostIP":"0.0.0.0","HostPort":"26257","HostMac":"","LastUp":0}}
  2025-10-24 02:05:03.640147+00:00 | auditroot | LOGOUT    | CONN        | OK     | {"EventTime":"2025-10-24T02:05:03.640146698Z","Elapsed":1244,"User":{"UserID":0,"Username":"auditroot","Roles":[{"ID":0,"Name":"auditadmin"}]},"Event":"LOGOUT","Target":{"Typ":"CONN","Targets":null},"Level":0,"Client":{"AppName":"","Address":"127.0.0.1:35008"},"Result":{"Status":"OK","ErrMsg":"","RowsAffected":0},"Command":null,"Reporter":null}
  2025-10-24 02:04:53.609935+00:00 | auditroot | LOGIN     | CONN        | OK     | {"EventTime":"2025-10-24T02:04:53.609934646Z","Elapsed":801,"User":{"UserID":0,"Username":"auditroot","Roles":[]},"Event":"LOGIN","Target":{"Typ":"CONN","Targets":null},"Level":0,"Client":{"AppName":"","Address":"127.0.0.1:35008"},"Result":{"Status":"OK","ErrMsg":"","RowsAffected":0},"Command":null,"Reporter":{"ClusterID":"d725ebda-03ba-43eb-9124-e434b5452809","NodeID":1,"HostIP":"0.0.0.0","HostPort":"26257","HostMac":"","LastUp":0}}
  2025-10-24 02:04:51.445702+00:00 | auditroot | LOGOUT    | CONN        | OK     | {"EventTime":"2025-10-24T02:04:51.445702482Z","Elapsed":795,"User":{"UserID":0,"Username":"auditroot","Roles":[{"ID":0,"Name":"auditadmin"}]},"Event":"LOGOUT","Target":{"Typ":"CONN","Targets":null},"Level":0,"Client":{"AppName":"","Address":"127.0.0.1:47520"},"Result":{"Status":"OK","ErrMsg":"","RowsAffected":0},"Command":null,"Reporter":null}
  2025-10-24 02:04:41.410618+00:00 | auditroot | LOGIN     | CONN        | OK     | {"EventTime":"2025-10-24T02:04:41.41061776Z","Elapsed":932,"User":{"UserID":0,"Username":"auditroot","Roles":[]},"Event":"LOGIN","Target":{"Typ":"CONN","Targets":null},"Level":0,"Client":{"AppName":"","Address":"127.0.0.1:47520"},"Result":{"Status":"OK","ErrMsg":"","RowsAffected":0},"Command":null,"Reporter":{"ClusterID":"d725ebda-03ba-43eb-9124-e434b5452809","NodeID":1,"HostIP":"0.0.0.0","HostPort":"26257","HostMac":"","LastUp":0}}