資料庫記錄 - AWS 規定指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料庫記錄

MySQL 和 MariaDB 資料庫會產生記錄,供您存取稽核和疑難排解。這些日誌是:

  • 審計— 稽核追蹤是記錄伺服器活動的一組記錄。對於每個用戶端工作階段,它會記錄連線到伺服器的人員 (使用者名稱和主機)、執行了哪些查詢、存取了哪些資料表,以及變更了哪些伺服器變數。

  • 錯誤— 此防護記錄包含伺服器的 (mysqld) 啟動和關閉時間,以及在伺服器啟動和關閉期間,以及伺服器執行期間發生的錯誤、警告和注意事項等診斷訊息。

  • 將軍— 此日誌記錄的活動mysqld,包括每個用戶端的連線和中斷連線活動,以及從用戶端接收的 SQL 查詢。當您懷疑錯誤並想確切知道客戶端發送到哪些內容時,一般查詢日誌可能非常有用mysqld

  • 緩慢的查詢— 此記錄檔會提供花費很長時間才能執行的 SQL 查詢記錄。

作為最佳實踐,您應該將資料庫日誌從亞馬遜 RDS 發佈到亞馬遜CloudWatch日誌。同CloudWatch日誌,您可以對日誌數據進行實時分析,將數據存儲在高度耐用的存儲中,並使用CloudWatch記錄代理程式。你可以訪問並觀看您的數據庫日誌從亞馬遜 RDS 控制台。您也可以使用CloudWatch日誌見解以交互方式搜索和分析日誌數據CloudWatch記錄檔。下列範例說明稽核記錄檔上的查詢,該查詢會檢查多少次CONNECT事件會出現在記錄檔、連線者以及連線的用戶端 (IP 位址) 中。稽核記錄的摘錄可能如下所示:

20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,CONNECT,,,0,SOCKET 20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,DISCONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,CONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,DISCONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,CONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,DISCONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,CONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,DISCONNECT,,,0,SOCKET

日誌見解查詢範例顯示rdsadmin連接到數據庫localhost每 5 分鐘一次,共 22 次,如下圖所示。這些結果表明活動源自內部 Amazon RDS 程序,例如監控系統本身。

日誌洞察報告

記錄事件通常包含您要計數的重要訊息,例如與 MySQL 和 MariaDB 資料庫執行個體相關聯的作業的警告或錯誤。例如,如果作業失敗,可能會發生錯誤,並記錄到錯誤記錄檔中,如下所示:ERROR 1114 (HY000): The table zip_codes is full。您可能想要監視這些項目,以瞭解錯誤的趨勢。你可以建立自訂CloudWatch使用篩選器來自亞馬遜 RDS 日誌的指標啟用 Amazon RDS 資料庫日誌的自動監控,以監控特定記錄中的特定模式,並在違反預期行為時產生警示。例如」中,為記錄群組建立度量篩選器/aws/rds/instance/database-1/error這將監視錯誤日誌並搜索特定模式,例如ERROR。設定過濾器模式ERROR測量結果值1。過濾器將檢測每個具有關鍵字的日誌記錄ERROR,它會為每個包含「ERROR」的日誌事件增加 1 的計數。創建過濾器後,您可以設置警報以在 MySQL 或 MariaDB 錯誤日誌中檢測到錯誤時通知您。

若要深入瞭解如何透過建立CloudWatch儀表板和使用CloudWatch日誌見解,請參閱部落格文章創建一個亞馬遜CloudWatch儀表板監控亞馬遜 RDS 和亞馬遜極光 MySQL。