使用監控 Amazon DocumentDB CloudWatch - Amazon DocumentDB

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

使用監控 Amazon DocumentDB CloudWatch

Amazon DocumentDB (具有 MongoDB 相容性) 與 Amazon 整合, CloudWatch 因此您可以收集和分析叢集的操作指標。您可以使用 CloudWatch 主控台、Amazon DocumentDB 主控台、 AWS Command Line Interface (AWS CLI) 或. CloudWatch API

CloudWatch 也可讓您設定警示,以便在指標值違反您指定的閾值時收到通知。您甚至可以設定 Amazon CloudWatch 活動,以在發生違規時採取糾正措施。如需使用 CloudWatch 和警示的詳細資訊,請參閱 Amazon CloudWatch 文件

Amazon DocumentDB 指標

若要監控 Amazon DocumentDB 叢集和執行個體的運作狀態和效能,您可以在 Amazon DocumentDB 主控台中檢視下列指標。

注意

下表中的量度同時適用於執行個體型和彈性叢集。

資源使用率
指標 描述
BackupRetentionPeriodStorageUsed 在 Amazon DocumentDB 的保留期間內,用來支援 point-in-time 還原功能的 GiB 備份儲存總量。包含在 TotalBackupStorageBilled 指標報告的總數中。針對每個 Amazon DocumentDB 叢集單獨計算。
ChangeStreamLogSize 您的叢集用於存放變更串流日誌的儲存容量 (MB)。此數值是叢集的儲存總量子集 (VolumeBytesUsed),且會影響叢集費用。如需儲存定價資訊,請參 Amazon DocumentDB 產品頁面。變更串流日誌大小是您叢集所進行之變更程度與變更串流長期保留期間的函數。如需變更串流的詳細資訊,請參閱搭配 Amazon DocumentDB 使用變更串流
CPUUtilization 執行個體CPU使用的百分比。
DatabaseConnections 執行個體上以一分鐘頻率開啟的連線數目。
DatabaseConnectionsMax 一分鐘期間內,執行處理開啟的資料庫連線數目上限。
DatabaseCursors 以一分鐘頻率取得的執行個體上開啟的游標數目。
DatabaseCursorsMax 一分鐘內執行個體開啟游標的數目上限。
DatabaseCursorsTimedOut 一分鐘內逾時的游標數目。
FreeableMemory 可用的隨機存取記憶體的數量,以位元組為單位。
FreeLocalStorage

此指標回報可供各執行個體用於暫時資料表與記錄的儲存空間量。此值取決於執行個體類別。您可以為執行個體選擇較大的執行個體,以增加執行個體的可用儲存空間量。

LowMemThrottleQueueDepth

由於以一分鐘頻率佔用的可用記憶體不足而受到限制的要求的佇列深度。

LowMemThrottleMaxQueueDepth

由於一分鐘內可用記憶體不足而限制的要求的最大佇列深度。

LowMemNumOperationsThrottled

由於一分鐘內可用記憶體不足而節流的要求數目。

SnapshotStorageUsed 指定 Amazon DocumentDB 叢集在其備份保留期間以外的所有快照使用的備份儲存體總量 (GiB)。包含在 TotalBackupStorageBilled 指標報告的總數中。針對每個 Amazon DocumentDB 叢集單獨計算。
SwapUsage 執行個體上使用的交換空間量。
TotalBackupStorageBilled GiB 中的備份儲存總量會針對指定的 Amazon DocumentDB 叢集向您收費。包括以 BackupRetentionPeriodStorageUsedSnapshotStorageUsed 指標衡量的備份儲存。針對每個 Amazon DocumentDB 叢集單獨計算。
TransactionsOpen 以一分鐘頻率執行個體開啟的交易數目。
TransactionsOpenMax 一分鐘期間內,執行個體開啟的交易數目上限。
VolumeBytesUsed 您的叢集使用的儲存空間量 (以位元組為單位)。這個值會影響叢集的成本。如需定價資訊,請參閱 Amazon DocumentDB 產品頁面。
Latency (延遲)
指標 描述
DBClusterReplicaLagMaximum 主執行個體和叢集中每個 Amazon DocumentDB 執行個體之間的最大延遲量 (以毫秒為單位)。
DBClusterReplicaLagMinimum 主要執行個體與叢集中每個複寫執行個體之間的最小延遲量 (單位毫秒)。
DBInstanceReplicaLag 從主要執行個體複寫更新至複寫執行個體時的延遲量 (單位毫秒)。
ReadLatency 平均每次磁碟輸入/輸出操作耗用的時間量。
WriteLatency 平均每次磁碟 I/O 操作耗用的時間量 (單位毫秒)。
作業
指標 描述
DocumentsDeleted 一分鐘內已刪除文件的數量。
DocumentsInserted 一分鐘內插入的文件數目。
DocumentsReturned 一分鐘內退回的文件數量。
DocumentsUpdated 一分鐘內更新的文件數目。
OpcountersCommand 一分鐘內發出的指令數目。
OpcountersDelete 一分鐘內發出的刪除作業數目。
OpcountersGetmore 在一分鐘內發出的數量。
OpcountersInsert 一分鐘內發出的插入作業數目。
OpcountersQuery 在一分鐘期間內發出的查詢數目。
OpcountersUpdate 一分鐘內發出的更新作業數目。
TransactionsStarted 一分鐘內在執行個體上啟動的交易數目。
TransactionsCommitted 一分鐘期間內,執行處理確認的交易數目。
TransactionsAborted 在一分鐘期間內,執行個體中止的交易數目。
TTLDeletedDocuments 一分鐘內刪除TTLMonitor的文件數目。
輸送量
指標 描述
NetworkReceiveThroughput 叢集中每個執行個體從用戶端接收到的網路傳輸量 (以位元組/秒為單位)。此傳輸量不包含叢集中的執行個體與叢集磁碟區之間的網路流量。
NetworkThroughput Amazon DocumentDB 叢集中每個執行個體從用戶端接收和傳輸到用戶端的網路輸送量 (以每秒位元組為單位)。此傳輸量不包含叢集中的執行個體與叢集磁碟區之間的網路流量。
NetworkTransmitThroughput 叢集中每個執行個體傳送至用戶端的網路傳輸量 (以位元組/秒為單位)。此傳輸量不包含叢集中的執行個體與叢集磁碟區之間的網路流量。
ReadIOPS 磁碟讀取輸入/輸出操作的每秒平均次數。Amazon DocumentDB 會分別報告讀取和寫入,並以一IOPS分鐘的時間間隔進行報告。
ReadThroughput 平均每秒從磁碟讀取的位元組數目。
VolumeReadIOPs

來自叢集磁碟區的計費讀取 I/O 操作平均數量,每隔 5 分鐘回報一次。計費的讀取操作以叢集磁碟區層級計算,彙整來自資料庫叢集中的所有執行個體,每隔 5 分鐘回報一次。此值以每隔 5 分鐘取得的讀取操作指標值進行計算。您可以藉由取得計費讀取操作指標並除以 300 秒,計算出每秒的計費讀取操作量。

例如,如果VolumeReadIOPs傳回 13,686,則計費的讀取作業每秒為 45 (13,686/300 = 45.62)。

您的查詢提出資料庫頁面請求,該頁面不存在於緩衝區快取,因此必須從儲存空間載入,因而產生計費讀取操作。您可能會在計費讀取操作中發現峰值,那是因為從儲存空間讀取查詢結果,然後載入至緩衝區快取。

VolumeWriteIOPs

來自叢集磁碟區的計費寫入 I/O 操作平均數量,每隔 5 分鐘回報一次。計費的寫入操作以叢集磁碟區層級計算,彙整來自資料庫叢集中的所有執行個體,每隔 5 分鐘回報一次。此值以每隔 5 分鐘取得的寫入操作指標值進行計算。您可以藉由取得計費寫入操作指標值並除以 300 秒,計算出每秒的計費寫入操作量。

例如,如果VolumeWriteIOPs傳回 13,686,則每秒計費的寫入作業為 45 (13,686 /300 = 45.62)。

請注意,VolumeReadIOPsVolumeWriteIOPs指標是由 DocumentDB 儲存層計算,其中包括由主要執行個體和複本IOs執行個體執行。資料會每 20-30 分鐘彙總一次,然後每 5 分鐘一次報告一次,因此在期間內為指標發出相同的資料點。如果您要尋找在 1 分鐘間隔內與插入作業產生關聯的指標,則可以使用執行個體層級的「寫入」IOPS 指標。該指標可在 Amazon DocumentDB 主要執行個體的監控索引標籤中找到。

WriteIOPS 磁碟寫入輸入/輸出操作的每秒平均次數。在叢集層級使用時,WriteIOPs會對叢集中的所有執行個體進行評估。讀取和寫入IOPS會分別報告,每隔 1 分鐘一次。
WriteThroughput 平均每秒寫入磁碟的位元組數目。
系統
指標 描述
BufferCacheHitRatio 由緩衝區快取提供服務的請求的百分比。
DiskQueueDepth 分散式儲存磁碟區的並行寫入要求數目。
EngineUptime 執行個體已執行的時間量 (單位秒)。
IndexBufferCacheHitRatio 緩衝區快取所服務的索引要求百分比。刪除索引、集合或資料庫之後,您可能會立即看到量度大於 100% 的尖峰。這將在 60 秒後自動更正。此限制將在 future 的修補程式更新中修正。
T3 例項測量結果
指標 描述
CPUCreditUsage 測量期間花費的CPU學分數。
CPUCreditBalance 執行個體已累CPU積的學分數。當CPU爆發和CPU積分花費得比賺取的速度更快時,這種餘額就會耗盡。
CPUSurplusCreditBalance 當CPUCreditBalance值為零時,用於維持CPU績效的剩餘CPU學分數。
CPUSurplusCreditsCharged 超過 24 小時內可獲得的最大CPU學分數量的剩餘CPU積分,從而產生額外費用。如需詳細資訊,請參閱監控您的CPU信用。

檢視 CloudWatch 資料

您可以使用 CloudWatch 主控台、Amazon 文件 CloudWatch 資料庫主控台 AWS Command Line Interface (AWS CLI) 或. CloudWatch API

Using the AWS Management Console

若要使用 Amazon DocumentDB 管理主控台檢視 CloudWatch 指標,請完成以下步驟。

  1. 登入 AWS Management Console,然後在 https://console.aws.amazon.com/docdb 開啟 Amazon DocumentDB 主控台。

  2. 在導覽窗格中,選擇叢集

    提示

    如果畫面左側沒有出現導覽窗格,請選擇頁面左上角的功能表圖示 (Hamburger menu icon with three horizontal lines.)。

  3. 在 [叢集] 導覽方塊中,您會看到 [叢集識別碼] 資料行。您的執行個體會列在叢集下,類似下方的螢幕擷取畫面。

    DocumentDB clusters list showing two clusters with their identifiers and roles.
  4. 從執行個體清單中,選擇您要指標的執行個體名稱。

  5. 在產生的執行個體摘要頁面中,選擇監控索引標籤,以檢視 Amazon DocumentDB 執行個體指標的圖形表示。由於必須為每個量度產生圖表,因此可能需要幾分鐘的時間才能填入CloudWatch圖形。

    下圖顯示 Amazon DocumentDB 主控台和中兩個 CloudWatch 指標的圖形表示。WriteIOPS ReadIOPS

    Amazon DocumentDB 控制台中的 18 個 CloudWatch 指標中的兩個,寫入和準備。
Using the CloudWatch Management Console

若要使用「 CloudWatch 管理主控台」檢視 CloudWatch 測量結果,請完成下列步驟。

  1. 登入 AWS Management Console,然後在開啟 Amazon DocumentDB 主控台。https://console.aws.amazon.com/cloudwatch

  2. 在導覽窗格中,選擇 指標。然後,從服務名稱清單中,選擇 DocDB

  3. 選擇測量結果維度 (例如,叢集測量結果)。

  4. 所有測量結果」標籤會顯示 DocDB 中該維度的所有測量結果。

    1. 若要將資料表排序,請使用直欄標題。

    2. 若要將指標圖形化,請勾選指標旁的核取方塊。若要選擇所有指標,請勾選表格標題列中的核取方塊。

    3. 若要依量度篩選,請將游標暫留在量度名稱上,然後選取量度名稱旁邊的下拉式箭頭。然後,選擇添加搜索,如下圖所示。

      將游標暫留在量度上並選取「新增至搜尋」來篩選量度。
Using the AWS CLI

若要檢視 Amazon 文件 CloudWatch 資料庫的資料,請使用具有下列參數的 CloudWatch get-metric-statistics作業。

參數
  • --namespace – 必要。您要 CloudWatch 測量結果的服務命名空間。對於 Amazon DocumentDB,這必須是。AWS/DocDB

  • --metric-name – 必要。您要資料的測量結果名稱。

  • --start-time – 必要。決定要傳回的第一個資料點的時間戳記。

    包含指定的值;結果包括具有指定時間戳記的資料點。時間戳記的格式必須為 ISO 8601 UTC 格式 (例如,2016-10-03T23:00:00 Z)。

  • --end-time – 必要。決定要傳回的最後一個資料點的時間戳記。

    包含指定的值;結果包括具有指定時間戳記的資料點。時間戳記的格式必須為 ISO 8601 UTC 格式 (例如,2016-10-03T23:00:00 Z)。

  • --period – 必要。所傳回資料點的精細程度 (單位秒)。若是使用一般解析度的指標,期間最短可以是一分鐘 (60 秒) 且必須是 60 的倍數。對於依少於一分鐘的間隔收集的高解析度指標,期間可以是 1、5、10、30、60,或 60 的任何倍數。

  • --dimensions— 可選。如果量度包含多個維度,您必須為每個維度包含一個值。 CloudWatch 將每個唯一維度組合視為單獨的量度。如果未發佈特定維度組合,您就無法擷取其統計資料。您必須指定建立指標時所使用的相同維度。

  • --statistics— 可選。百分位數以外的指標統計資料。如需百分位數統計資料,請使用 ExtendedStatistics。呼叫 GetMetricStatistics 時,您必須指定 StatisticsExtendedStatistics,但不能同時指定兩者。

    允許的值:
    • SampleCount

    • Average

    • Sum

    • Minimum

    • Maximum

  • --extended-statistics— 可選。percentile 統計資料。指定介於 p0.0 至 p100 之間的值。呼叫 GetMetricStatistics 時,您必須指定 StatisticsExtendedStatistics,但不能同時指定兩者。

  • --unit— 可選。特定指標的單位。指標可能採用多種單位回報。若未提供單位,則會導致傳回所有單位的結果。如果您唯一指定的單位是指標不會報告的單位,則呼叫結果會是 null。

    可能的值如下:
    • Seconds

    • Microseconds

    • Milliseconds

    • Bytes

    • Kilobytes

    • Megabytes

    • Gigabytes

    • Terabytes

    • Bits

    • Kilobytes

    • Megabits

    • Gigabits

    • Terabits

    • Percent

    • Count

    • Bytes/Second

    • Kilobytes/Second

    • Megabytes/Second

    • Gigabytes/Second

    • Terabytes/Second

    • Bits/Second

    • Kilobits/Second

    • Megabits/Second

    • Gigabits/Second

    • Terabits/Second

    • Count/Second

    • None

以下範例會找出 2 小時期間的最大 CPUUtilization,每 60 秒取樣一次。

若為 Linux、macOS 或 Unix:

aws cloudwatch get-metric-statistics \ --namespace AWS/DocDB \ --dimensions \ Name=DBInstanceIdentifier,Value=docdb-2019-01-09-23-55-38 \ --metric-name CPUUtilization \ --start-time 2019-02-11T05:00:00Z \ --end-time 2019-02-11T07:00:00Z \ --period 60 \ --statistics Maximum

針對 Windows:

aws cloudwatch get-metric-statistics ^ --namespace AWS/DocDB ^ --dimensions ^ Name=DBInstanceIdentifier,Value=docdb-2019-01-09-23-55-38 ^ --metric-name CPUUtilization ^ --start-time 2019-02-11T05:00:00Z ^ --end-time 2019-02-11T07:00:00Z ^ --period 60 ^ --statistics Maximum

此操作的輸出如下所示。

{ "Label": "CPUUtilization", "Datapoints": [ { "Unit": "Percent", "Maximum": 4.49152542374361, "Timestamp": "2019-02-11T05:51:00Z" }, { "Unit": "Percent", "Maximum": 4.25000000000485, "Timestamp": "2019-02-11T06:44:00Z" }, ********* some output omitted for brevity ********* { "Unit": "Percent", "Maximum": 4.33333333331878, "Timestamp": "2019-02-11T06:07:00Z" } ] }

Amazon DocumentDB 維度

Amazon DocumentDB 的指標是由帳戶或作業的值來限定。您可以使用 CloudWatch 主控台擷取以下表格中任何維度篩選的 Amazon DocumentDB 資料。

維度 描述
DBClusterIdentifier 篩選您要求特定 Amazon 文件資料庫叢集的資料。
DBClusterIdentifier, Role 篩選您要求特定 Amazon DocumentDB 叢集的資料,並依執行個體角色 (WRITER/) 彙總指標。READER例如,您可以彙總屬於某個叢集的所有READER執行個體的指標。
DBInstanceIdentifier 篩選您對特定資料庫執行個體請求的資料。

監視計數器指標

對於閒置叢集,運算計數器度量具有非零值(通常約 50)。這是因為 Amazon DocumentDB 會執行定期運作狀態檢查、內部操作和指標收集任務。

監視資料庫連線

當您使用資料庫引擎命令 (例如) 檢視連線數目時db.runCommand( { serverStatus: 1 }),您可能會看到多出 10 個連線數目,比您看到的連線多出 10 DatabaseConnections 個 CloudWatch。發生這種情況的原因是 Amazon DocumentDB 執行定期運作狀態檢查和指標收集任務,而這些任務並未納入考量。DatabaseConnections DatabaseConnections僅代表客戶啟動的連線。