在本節中,我們將討論 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
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 叢集日誌事件」。