在本节中,我们讨论了 NDB 集群提供的事件日志类型,以及记录的事件类型。
NDB 集群提供两种类型的事件日志:
-
集群日志,包括集群所有节点生成的事件。集群日志是推荐的日志类型,因为它提供了整个集群的日志信息在一个位置。
默认情况下,集群日志保存到文件
ndb_
中(其中node_id
_cluster.lognode_id
是管理服务器的节点 ID),位于管理服务器的DataDir
中。集群日志信息也可以发送到
stdout
或syslog
设备,除了或代替保存到文件,根据DataDir
和LogDestination
配置参数的值。请参阅 第 25.4.3.5 节,“定义 NDB 集群管理服务器”,以获取这些参数的更多信息。 -
节点日志 是每个节点的本地日志。
节点事件日志的输出写入文件
ndb_
中(其中node_id
_out.lognode_id
是节点的节点 ID),位于节点的DataDir
中。节点事件日志是为管理节点和数据节点生成的。节点日志仅用于应用程序开发或调试应用程序代码。
每个可报告事件都可以根据三个不同的标准来区分:
-
类别:这可以是以下值之一:
STARTUP
、SHUTDOWN
、STATISTICS
、CHECKPOINT
、NODERESTART
、CONNECTION
、ERROR
或INFO
。 -
优先级:这用数字从 0 到 15 表示,其中 0 表示 “最重要的”,15 表示 “最不重要的。”
-
严重级别:这可以是以下值之一:
ON
、DEBUG
、INFO
、WARNING
、ERROR
、CRITICAL
、ALERT
或ALL
。(这也称为日志级别。)
集群日志可以根据这些属性使用 NDB 管理客户端 CLUSTERLOG
命令进行过滤。这条命令仅影响集群日志,不影响节点日志;可以使用 ndb_mgm NODELOG DEBUG
命令在一个或多个节点日志中启用或禁用调试日志。
NDB 集群生成的日志消息的格式如下所示:
timestamp [node_type] level -- Node node_id: message
每行日志或日志消息都包含以下信息:
-
一个
时间戳
在
格式。当前时间戳值仅解析到整秒,不支持小数秒。YYYY
-MM
-DD
HH
:MM
:SS
-
节点类型
node_type
,或执行日志记录的节点或应用程序类型。在集群日志中,这总是[MgmSrvr]
;在数据节点日志中,这总是[ndbd]
。[NdbApi]
和其他值可能出现在 NDB API 应用程序和工具生成的日志中。 -
事件的
级别
,有时也称为严重性级别或日志级别。请参阅本节的前面部分,以及 第 25.6.3.1 节,“NDB 集群日志管理命令”,以获取有关严重性级别的更多信息。 -
报告事件的节点的 ID (
node_id
)。 -
包含事件描述的
消息
。日志中最常见的事件类型是集群中不同节点之间的连接和断开连接,以及检查点的发生。在某些情况下,描述可能包含状态或其他信息。
这里显示了一个实际集群日志的示例:
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Start phase 5 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Start phase 5 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Start phase 6 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Start phase 6 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: President restarts arbitration thread [state=1]
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Start phase 7 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Start phase 7 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Start phase 8 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Start phase 8 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Start phase 9 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Start phase 9 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Start phase 50 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Start phase 50 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Start phase 101 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Start phase 101 completed (system restart)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Started (mysql-8.1.0 ndb-8.1.0)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Started (mysql-8.1.0 ndb-8.1.0)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Node 50: API mysql-8.1.0 ndb-8.1.0
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Node 50: API mysql-8.1.0 ndb-8.1.0
2021-06-10 10:01:08 [MgmtSrvr] INFO -- Node 6: Prepare arbitrator node 50 [ticket=75fd00010fa8b608]
2021-06-10 10:01:08 [MgmtSrvr] INFO -- Node 5: Started arbitrator node 50 [ticket=75fd00010fa8b608]
2021-06-10 10:01:08 [MgmtSrvr] INFO -- Node 6: Communication to Node 100 opened
2021-06-10 10:01:08 [MgmtSrvr] INFO -- Node 6: Communication to Node 101 opened
2021-06-10 10:01:08 [MgmtSrvr] INFO -- Node 5: Communication to Node 100 opened
2021-06-10 10:01:08 [MgmtSrvr] INFO -- Node 5: Communication to Node 101 opened
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Alloc node id 100 succeeded
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Nodeid 100 allocated for API at 127.0.0.1
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Node 100: mysqld --server-id=1
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Node 5: Node 100 Connected
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Node 6: Node 100 Connected
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Node 5: Node 100: API mysql-8.1.0 ndb-8.1.0
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Node 6: Node 100: API mysql-8.1.0 ndb-8.1.0
有关更多信息,请参阅 第 25.6.3.2 节,“NDB 集群日志事件”。