在本节中,我们将讨论 NDB 集群提供的事件日志类型,以及记录的事件类型。
NDB 集群提供两种类型的事件日志
集群日志,其中包括所有集群节点生成的事件。集群日志是大多数情况下推荐使用的日志,因为它在一个位置提供整个集群的日志记录信息。
默认情况下,集群日志保存到名为
ndb_
的文件中(其中node_id
_cluster.lognode_id
是管理服务器的节点 ID),位于管理服务器的DataDir
中。除了或代替保存到文件之外,集群日志记录信息还可以发送到
stdout
或syslog
设备,具体取决于为DataDir
和LogDestination
配置参数设置的值。有关这些参数的更多信息,请参阅 第 25.4.3.5 节 “定义 NDB 集群管理服务器”。节点日志 是每个节点本地的。
节点事件日志记录生成的输出写入节点
DataDir
中名为ndb_
的文件中(其中node_id
_out.lognode_id
是节点的节点 ID)。管理节点和数据节点都会生成节点事件日志。节点日志仅在应用程序开发期间或调试应用程序代码时使用。
每个可报告事件可以根据三个不同的标准来区分
类别:可以是以下任何一个值:
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
timestamp
。时间戳值当前仅解析为整秒;不支持小数秒。node_type
,或执行日志记录的节点或应用程序的类型。在集群日志中,始终为[MgmSrvr]
;在数据节点日志中,始终为[ndbd]
。在 NDB API 应用程序和工具生成的日志中,[NdbApi]
和其他值是可能的。事件的
level
,有时也称为其严重级别或日志级别。有关严重级别的更多信息,请参阅本节前面的内容,以及 第 25.6.3.1 节 “NDB 集群日志管理命令”。报告事件的节点的 ID (
node_id
)。message
,其中包含事件的描述。日志中最常见的事件类型是集群中不同节点之间的连接和断开连接,以及何时发生检查点。在某些情况下,描述可能包含状态或其他信息。
实际集群日志中的示例如下所示
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.4.0 ndb-8.4.0)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Started (mysql-8.4.0 ndb-8.4.0)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Node 50: API mysql-8.4.0 ndb-8.4.0
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Node 50: API mysql-8.4.0 ndb-8.4.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.4.0 ndb-8.4.0
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Node 6: Node 100: API mysql-8.4.0 ndb-8.4.0
有关其他信息,请参阅 第 25.6.3.2 节 “NDB 集群日志事件”。