天天看點

PolarDB-X 1.0-使用者指南-SQL審計與分析-簡介

功能優勢

  • 操作簡單:輕松配置即可開啟,實時進行SQL日志的審計與分析。
  • 性能無損:實時拉取PolarDB-X節點SQL日志檔案并上傳至日志服務,對執行個體本身性能無影響。
  • 曆史問題追溯:支援導入曆史SQL日志,追溯問題。
  • 實時分析:依托日志服務,提供SQL實時分析、開箱即用的報表中心并支援自定義報表和下鑽分析,對資料庫執行狀況、性能、安全問題了如指掌。
  • 實時告警:支援基于特定名額,定制準實時的告警,確定關鍵業務異常時可及時響應。
  • 價格優勢:存儲費用比傳統方案更低, 每GB日志存儲費用低至0.58元/月,詳情請參見 計費方式

限制與說明

  • 使用SQL審計與分析功能,需要開通阿裡雲日志服務。
  • 目前支援的區域:華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華南1(深圳)。其它地區陸續開放中。
  • 共享執行個體不支援SQL審計與分析功能。
  • SQL審計日志預設儲存30天,您也可以根據需要修改日志儲存時間。
  • 請勿随意删除或修改日志服務為您預設建立的Project、Logstore、索引和儀表盤設定,日志服務會不定期更新與更新SQL日志審計功能,專屬日志庫的索引與預設報表也會自動更新。
  • 子賬号使用SQL審計與分析,需要為其授予日志服務相關權限,詳情請參見 為子賬号授予SQL審計權限
  • SQL審計功能預設為關閉狀态。開啟該功能後,會産生額外費用,詳細收費标準請參見 。如果您需要關閉該功能,請在PolarDB-X控制台關閉。關閉後不再寫入資料,可以檢視曆史資料,這部分曆史資料會産生存儲和索引費用。您可以在日志服務控制台删除Logstore以删除曆史資料,删除後日志服務不再對該部分資料計費。
  • 單條SQL最大支援長度為5M。

應用場景

問題SQL排查

開啟PolarDB-X SQL審計與分析功能後,您可以對SQL日志進行快速檢索,排查定位問題。例如,需要查詢是否有人執行DROP操作,可以執行如下查詢:

  1. sql_type: Drop

查詢結果中包括SQL的執行時間、使用者、執行該SQL的用戶端IP位址等。

PolarDB-X 1.0-使用者指南-SQL審計與分析-簡介

高代價SQL模闆分析

大多數應用中,SQL通常是基于若幹模闆動态生成的,隻是參數不同。通過日志服務的實時分析能力,您可以擷取目前資料庫中的高代價SQL清單。

例如執行以下查詢:

  1. | SELECT sql_code as "SQL模闆ID", round(total_time * 1.0 /sum(total_time) over() * 100, 2) as "總體耗時比例(%)" ,execute_times as "執行次數", round(avg_time) as "平均執行時間",round(avg_rows) as "平均影響行數", CASE WHEN length(sql) > 200 THEN concat(substr(sql, 1, 200), '......') ELSE trim(lpad(sql, 200, ' ')) end as "樣例SQL" FROM (SELECT sql_code, count(1) as execute_times, sum(response_time) as total_time, avg(response_time) as avg_time, avg(affect_rows) as avg_rows, arbitrary(sql) as sql FROM log GROUP BY sql_code) ORDER BY "總體耗時比例(%)" desc limit 10

查詢結果如下圖所示,包括SQL模闆的ID、該模闆SQL占SQL的耗時比例、執行次數、平均執行時間、平均影響行數以及樣例SQL。您可以基于該分析結果,找到應用中代價最高的SQL模闆,對其進行優化。

PolarDB-X 1.0-使用者指南-SQL審計與分析-簡介

日志報表統計

為了便于分析問題,PolarDB-X SQL審計分析結合日志服務,為您提供了開箱即用的報表,讓您對資料庫的執行狀況、性能和潛在安全問題進行實時診斷分析,報表頁面如下圖所示:

  • 營運中心
    PolarDB-X 1.0-使用者指南-SQL審計與分析-簡介
  • 性能中心
    PolarDB-X 1.0-使用者指南-SQL審計與分析-簡介
    PolarDB-X 1.0-使用者指南-SQL審計與分析-簡介
  • 安全中心
    PolarDB-X 1.0-使用者指南-SQL審計與分析-簡介