在本節中,我們將討論 NDB Cluster 提供的事件日誌類型,以及記錄的事件類型。
NDB Cluster 提供兩種事件日誌類型
叢集日誌,其中包含所有叢集節點產生的事件。叢集日誌是建議大多數情況下使用的日誌,因為它在單一位置提供整個叢集的記錄資訊。
預設情況下,叢集日誌會儲存到名為
ndb_的檔案(其中node_id_cluster.lognode_id是管理伺服器的節點 ID),位於管理伺服器的DataDir中。除了儲存到檔案之外,叢集記錄資訊也可以傳送到
stdout或syslog功能,或者取代儲存到檔案,這取決於為DataDir和LogDestination組態參數設定的值。如需這些參數的詳細資訊,請參閱第 25.4.3.5 節「定義 NDB Cluster 管理伺服器」。節點日誌是每個節點的本機日誌。
節點事件記錄產生的輸出會寫入到檔案
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 Cluster 產生的日誌訊息所使用的格式如下所示
timestamp [node_type] level -- Node node_id: message日誌中的每一行 (或日誌訊息) 都包含下列資訊
格式為
的YYYY-MM-DDHH:MM:SStimestamp。時間戳記值目前僅解析為整秒;不支援小數秒。node_type,或正在執行記錄的節點或應用程式類型。在叢集日誌中,這永遠是[MgmSrvr];在資料節點日誌中,這永遠是[ndbd]。[NdbApi]以及其他值可能會出現在 NDB API 應用程式和工具產生的日誌中。事件的
level,有時也稱為其嚴重性等級或記錄等級。請參閱本節稍早的內容,以及第 25.6.3.1 節「NDB Cluster 日誌管理命令」,以取得有關嚴重性等級的詳細資訊。回報事件的節點 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 Cluster 日誌事件」。