在本节中,我们将讨论 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-9.0.0 ndb-9.0.0)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Started (mysql-9.0.0 ndb-9.0.0)
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 5: Node 50: API mysql-9.0.0 ndb-9.0.0
2021-06-10 10:01:07 [MgmtSrvr] INFO -- Node 6: Node 50: API mysql-9.0.0 ndb-9.0.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-9.0.0 ndb-9.0.0
2021-06-10 10:01:36 [MgmtSrvr] INFO -- Node 6: Node 100: API mysql-9.0.0 ndb-9.0.0
有关其他信息,请参阅 第 25.6.3.2 节“NDB 集群日志事件”。