Microsoft SQL Server

Microsoft SQL Server 整合功能會從 SQL Server 執行個體收集交易、連線和其他指標。

如要進一步瞭解 SQL Server,請參閱 SQL Server 說明文件。

事前準備

Ops Agent 2.15.0 版支援使用 workload.googleapis.com/ 前置字串的新 SQL Server 指標集。您必須設定代理程式來收集這些指標,詳情請參閱「設定範例」。

作業套件代理程式一向支援一組有限的 SQL Server 指標;這些指標使用 agent.googleapis.com/mssql/ 前置字串。如要在 Windows VM 上收集這些指標,不需要額外設定。

本文將以 agent 為前置字串的指標稱為 v1 指標,以 workload 為前置字串的指標稱為 v2 指標。

  • 第 1 版指標包括交易率和連線數資訊。
  • 第 2 版指標包括執行個體層級的批次、鎖定、頁面和使用者連線計數資訊,以及資料庫層級的交易和交易記錄資訊。

如需這些指標的表格,請參閱「監控內容」。

從 Ops Agent 2.15.0 版開始,您可以設定代理程式收集第 1 版指標、第 2 版指標或兩者。

必要條件

如要收集 SQL Server 遙測資料,請安裝作業套件代理程式

  • 如果是指標 v1,請安裝 1.0.0 以上版本。
  • 如要使用指標 v2,請安裝 2.15.0 以上版本。

這項整合功能支援 SQL Server 11.x、12.x、13.x、14.x、15.x 和 16.x 版。

設定 SQL Server 適用的 Ops Agent

在 Microsoft Windows VM 上使用 Ops Agent 時,代理程式會自動收集 SQL Server 第 1 版指標。無須額外設定。

按照設定 Ops Agent 的指南,新增必要元素,從 SQL Server 執行個體收集遙測資料,然後重新啟動代理程式

設定新的 SQL Server 執行個體後,您可能不會立即在 Metrics Explorer 中看到指標。只有在有資料庫活動可回報時,Ops Agent 才會開始收集 SQL Server 指標。

範例設定

下列指令會建立設定,收集及擷取 SQL Server 的遙測資料:

$ErrorActionPreference = 'Stop'

# This config gets merged with the built-in Ops Agent config, which already
# includes the v1 receiver in the default pipeline.
# Because the v2 receiver here uses a unique ID, it does not overwrite
# the default receiver and so both receivers will be active simultaneously
# during the test.

# Create an empty config.yaml file if it doesn't exist.
$configFilePath  = 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml'

if (-not (Test-Path -Path $configFilePath -PathType Leaf)) {
    New-Item -ItemType File -Path $configFilePath -Force | Out-Null
}

# Create a back up of the existing file so existing configurations are not lost.
Copy-Item -Path 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' -Destination 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml.bak'

# Configure the Ops Agent.
Add-Content 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' "
metrics:
  receivers:
    mssql_v2:
      type: mssql
      receiver_version: 2
  service:
    pipelines:
      mssql_v2:
        receivers:
        - mssql_v2
"

if (Get-Service google-cloud-ops-agent* -ErrorAction SilentlyContinue) {
  (Get-Service google-cloud-ops-agent*).WaitForStatus('Running', '00:03:00')
}

如要讓這些變更生效,請重新啟動 Ops Agent:

  1. 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。
  2. 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,以管理員權限開啟 PowerShell 終端機。
  3. 如要重新啟動代理程式,請執行下列 PowerShell 指令:
    Restart-Service google-cloud-ops-agent -Force
    
  4. 如要確定代理程式已重新啟動,請執行下列指令,並驗證「指標代理程式」和「Logging 代理程式」元件是否已啟動:
    Get-Service google-cloud-ops-agent*
    

設定 v1 指標收集

Microsoft Windows VM 上的作業套件代理程式會自動收集 SQL Server 第 1 版指標。您無須額外進行設定。如要瞭解如何收集第 2 版指標,請參閱「設定第 2 版指標收集作業」。

設定新的 SQL Server 執行個體後,SQL Server 可能不會立即回報任何指標。Ops Agent 會在有資料庫活動可回報時,開始收集 SQL Server 指標。

設定 v2 指標收集

如要從 SQL Server 擷取第 2 版指標,您必須為 SQL Server 產生的指標建立接收器,然後為新的接收器建立管道。

這個接收器不支援在設定中使用多個執行個體,例如監控多個端點。所有這類執行個體都會寫入相同的時間序列,Cloud Monitoring 無法區分這些執行個體。Ops Agent 不支援 SQL Server 具名執行個體。

如要為 mssql 指標設定接收器,請指定下列欄位:

欄位 預設 說明
collection_interval 60s time.Duration 值,例如 30s5m
receiver_version 收集的指標版本;請使用 2 收集第 2 版指標。
type 這個值必須是 mssql

根據預設,系統會自動收集第 1 版指標。您可以收集 v2 指標來擴增 v1 指標,也可以覆寫 v1 指標,只收集 v2 指標。

  • 如要收集第 2 版指標,請執行下列步驟:

    • 為接收端命名 mssql
    • type 欄位設為 mssql
    • receiver_version 欄位設為 2
    • default_pipeline 管道中使用這個接收器。 這項設定會覆寫 mssql 接收器的內建設定。
  • 如要同時收集第 1 版和第 2 版指標,請按照下列步驟操作:

    • 將接收端命名為 mssql 以外的名稱,例如 mssql_v2
    • type 欄位設為 mssql
    • receiver_version 設為 2
    • 在新管道中使用這個接收器。 這項設定會新增 v2 接收器,而非覆寫內建接收器。範例設定中的指令碼就是採用這種做法。

監控的內容

從 2.15.0 版開始,作業套件代理程式可以收集兩組不同的指標:

  • v1 指標:agent.googleapis.com/mssql/
  • 第 2 版指標:workload.googleapis.com/
V1 指標

下表列出作業套件代理程式從 SQL Server 執行個體收集的 v1 指標。

這個表格中的「指標類型」字串開頭必須為 agent.googleapis.com/mssql/。該前置字串已從表格中的項目省略。 查詢標籤時,請使用 metric.labels. 前置字串,例如 metric.labels.LABEL="VALUE"

指標類型 推出階段(資源階層層級)
顯示名稱
種類、類型、單位
受監控資源
說明
標籤
connections/user GA(project)
SQL Server 開啟的連線
GAUGEDOUBLE1
aws_ec2_instance
gce_instance
目前開啟的 SQL Server 連線。每 60 秒取樣一次。
transaction_rate GA(project)
SQL Server 交易率
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
SQL Server 每秒交易總數。每 60 秒取樣一次。
write_transaction_rate GA(project)
SQL Server 寫入交易率
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
每秒 SQL Server 寫入交易數。每 60 秒取樣一次。

這份表格的產生時間是世界標準時間 2026 年 3 月 27 日 03:31:46。

V2 指標

下表列出 Ops Agent 從 SQL Server 執行個體收集的第 2 版指標。

指標類型
類型
受監控資源
標籤
workload.googleapis.com/sqlserver.batch.request.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.batch.sql_compilation.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.batch.sql_recompilation.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.lock.wait.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.lock.wait_time.avg
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.buffer_cache.hit_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.checkpoint.flush.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.lazy_write.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.life_expectancy
GAUGEINT64
gce_instance
 
workload.googleapis.com/sqlserver.page.operation.rate
GAUGEDOUBLE
gce_instance
type
workload.googleapis.com/sqlserver.page.split.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.transaction.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction.write.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.data.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.wait.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.growth.count
CUMULATIVEINT64
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.percent_used
GAUGEINT64
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.shrink.count
CUMULATIVEINT64
gce_instance
database
workload.googleapis.com/sqlserver.user.connection.count
GAUGEINT64
gce_instance
 

驗證設定

本節說明如何確認您已正確設定 SQL Server 接收器。作業套件代理程式可能需要一到兩分鐘,才會開始收集遙測資料。

如要確認 SQL Server 指標是否已傳送至 Cloud Monitoring,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「指標探索器」頁面:

    前往 Metrics Explorer

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 在查詢建構工具窗格的工具列中,選取名稱為  MQL PromQL 的按鈕。
  3. 確認已在「Language」(語言) 切換按鈕中選取「PromQL」。語言切換按鈕位於工具列中,與查詢格式設定按鈕相同。
    • 如要查詢第 1 版指標,請在編輯器中輸入下列查詢,然後按一下「執行查詢」
      {"agent.googleapis.com/mssql/connections/user", monitored_resource="gce_instance"}
      
    • 如要查詢第 2 版指標,請在編輯器中輸入下列查詢,然後點選「執行」
      {"workload.googleapis.com/sqlserver.user.connection.count", monitored_resource="gce_instance"}
      

查看資訊主頁

如要查看 SQL Server 指標,您必須設定圖表或資訊主頁。 SQL Server 整合功能包含一或多個資訊主頁。設定整合作業後,系統就會自動安裝所有資訊主頁,而 Ops Agent 也會開始收集指標資料。

您也可以查看資訊主頁的靜態預覽畫面,不必安裝整合服務。

如要查看已安裝的資訊主頁,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Dashboards」(資訊主頁) 頁面:

    前往「Dashboards」(資訊主頁)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 選取「資訊主頁清單」分頁,然後選擇「整合」類別。
  3. 按一下要查看的資訊主頁名稱。

如果您已設定整合功能,但尚未安裝資訊主頁,請檢查作業套件代理程式是否正在執行。如果資訊主頁中的圖表沒有指標資料,資訊主頁安裝作業就會失敗。作業套件代理程式開始收集指標後,系統就會為您安裝資訊主頁。

如要查看資訊主頁的靜態預覽畫面,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往 「Integrations」(整合) 頁面:

    前往「整合」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 按一下「Compute Engine」部署平台篩選器。
  3. 找出 SQL Server 的項目,然後按一下「查看詳細資料」
  4. 選取「資訊主頁」分頁標籤,即可查看靜態預覽畫面。如果已安裝資訊主頁,請點選「查看資訊主頁」前往。

如要進一步瞭解 Cloud Monitoring 中的資訊主頁,請參閱「資訊主頁和圖表」。

如要進一步瞭解如何使用「整合」頁面,請參閱「管理整合」一文。

安裝快訊政策

警告政策會指示 Cloud Monitoring 在發生指定情況時通知您。SQL Server 整合功能包含一或多項警告政策,供您使用。您可以在 Monitoring 的「整合」頁面中查看及安裝這些快訊政策。

如要查看可用快訊政策的說明並安裝,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往 「Integrations」(整合) 頁面:

    前往「整合」

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 找出 SQL Server 的項目,然後按一下「查看詳細資料」
  3. 選取「快訊」分頁標籤。這個分頁會說明可用的快訊政策,並提供安裝介面。
  4. 安裝快訊政策。快訊政策需要知道在快訊觸發時要將通知傳送至何處,因此需要您提供安裝資訊。如要安裝快訊政策,請按照下列步驟操作:
    1. 從可用的警報政策清單中,選取要安裝的政策。
    2. 在「設定通知」部分,選取一或多個通知管道。您可以選擇停用通知管道,但這麼做的話,快訊政策會以無聲方式觸發。您可以在「監控」中查看狀態,但不會收到任何通知。

      如要進一步瞭解通知管道,請參閱「管理通知管道」。

    3. 按一下「建立政策」

如要進一步瞭解 Cloud Monitoring 中的快訊政策,請參閱「快訊簡介」。

如要進一步瞭解如何使用「整合」頁面,請參閱「管理整合」一文。

後續步驟

如要逐步瞭解如何使用 Ansible 安裝作業套件代理程式、設定第三方應用程式,以及安裝範例資訊主頁,請觀看「 安裝 Ops Agent 以排解第三方應用程式的問題」影片。