網際網路資訊服務

Internet Information Services (IIS) 整合功能會從 IIS 網路伺服器收集遙測資料。這些指標會提供連線資訊,以及傳輸的位元組資料。這項整合功能也會從存取記錄中蒐集資訊。

如要進一步瞭解 IIS,請參閱 Internet Information Services 說明文件

事前準備

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

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

本文將以 agent 為前置字元的指標稱為 v1 指標,以 workload 為前置字元的指標稱為 v2 指標。如需這些指標的表格,請參閱「監控內容」。

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

必要條件

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

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

這項整合功能支援 IIS 8.5 和 10.0 版。

設定 IIS 適用的作業套件代理程式

按照設定作業套件代理程式的指南,新增必要元素,從 IIS 執行個體收集遙測資料,然後重新啟動代理程式

範例設定

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

$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:
    iis_v2:
      type: iis
      receiver_version: 2
  service:
    pipelines:
      iispipeline:
        receivers:
          - iis_v2
logging:
  receivers:
    iis_access:
      type: iis_access
  service:
    pipelines:
      iis:
        receivers:
        - iis_access
"

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*
    

這個接收器僅支援預設的 W3C 記錄格式。

設定記錄檔收集作業

如要從 IIS 擷取存取記錄,您必須為記錄建立接收器,然後為新接收器建立管道。

如要設定 iis_access 記錄的接收器,請指定下列欄位:

欄位 預設 說明
exclude_paths [] 要從 include_paths 比對的集合中排除的檔案系統路徑模式清單。
include_paths ['C:\inetpub\logs\LogFiles\W3SVC1\u_ex*'] 要讀取的檔案系統路徑清單,方法是追蹤每個檔案。路徑中可使用萬用字元 (*),例如 C:\inetpub\logs\LogFiles\W3SVC1\u_ex*
type 此值必須是 iis_access
record_log_file_path false 如果設為 true,輸出記錄項目中就會顯示路徑,指出記錄項目是從哪個特定檔案取得,並做為 agent.googleapis.com/log_file_path 標籤的值。使用萬用字元時,系統只會記錄取得記錄的檔案路徑。
wildcard_refresh_interval 60s include_paths 中萬用字元檔案路徑的重新整理間隔。指定為 time.ParseDuration 可剖析的時間間隔,例如 30 秒或 2 分鐘。在記錄吞吐量較高的情況下,記錄檔的輪替速度會比預設間隔更快,這時這個屬性就可能派上用場。

記錄內容

logName 是從設定中指定的接收器 ID 衍生而來。 LogEntry 內的詳細欄位如下。

iis_access 記錄包含 LogEntry 中的下列欄位:

欄位 類型 說明
httpRequest.referer 字串 Referer 標頭的內容
httpRequest.remoteIp 字串 提出要求的用戶端 IP
httpRequest.requestMethod 字串 HTTP 方法
httpRequest.requestUrl 字串 要求網址 (通常只是網址的路徑部分)
httpRequest.serverIp 字串 要求的伺服器 IP 和通訊埠
httpRequest.status 數字 HTTP 狀態碼
httpRequest.userAgent 字串 User-Agent 標頭的內容
jsonPayload.sc_substatus 數字 子狀態錯誤代碼
jsonPayload.sc_win32_status 數字 Windows 狀態碼
jsonPayload.time_taken 數字 動作執行的時間長度 (以毫秒為單位)
jsonPayload.user 字串 要求中經過驗證的使用者名稱
timestamp 字串 (Timestamp) 收到要求的時間

設定第 1 版指標收集功能

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

設定新的 IIS 執行個體後,IIS 可能不會立即回報任何指標。使用 Windows Server 隨附的伺服器管理員控制台時,您可能會發現伺服器的「可管理性」欄顯示「線上 - 效能計數器未啟動」

如要啟用 IIS 來產生指標,方法之一是在「Server Manager」(伺服器管理員) 主控台中,對 IIS 伺服器按一下滑鼠右鍵,然後選取「Start Performance Counters」(啟動效能計數器)。伺服器應會開始將指標傳送至 Ops Agent。

設定第 2 版指標收集功能

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

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

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

欄位 預設 說明
collection_interval 60 年代 time.Duration 值,例如 30 秒或 5 分鐘。
receiver_version 收集的指標版本;使用 2 收集 v2 指標。
type 這個值必須是 iis

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

  • 如要收集第 2 版指標,請按照下列步驟操作:

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

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

監控的內容

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

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

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

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

指標類型 推出階段(資源階層層級)
顯示名稱
種類、類型、單位
受監控資源
說明
標籤
current_connections GA(project)
IIS open connections
GAUGEDOUBLE1
aws_ec2_instance
gce_instance
目前與 IIS 的連線。取樣頻率為每 60 秒一次。
network/transferred_bytes_count GA(project)
IIS 移轉的位元組數
CUMULATIVEINT64By
aws_ec2_instance
gce_instance
IIS 傳輸的網路位元組數。取樣頻率為每 60 秒一次。
direction: 方向 (傳送、接收)
new_connection_count GA(project)
IIS 連線
CUMULATIVEINT641
aws_ec2_instance
gce_instance
已開啟與 IIS 的連線。取樣頻率為每 60 秒一次。
request_count GA(專案)
IIS 要求
CUMULATIVEINT641
aws_ec2_instance
gce_instance
向 IIS 提出的要求。取樣頻率為每 60 秒一次。
http_method: HTTP 方法 (post、put、get、delete、option、trace、head)

這份表格的產生時間是世界標準時間 2025 年 7 月 11 日 00:37:47。

V2 指標

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

指標類型
類型
受監控資源
標籤
workload.googleapis.com/iis.connection.active
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.connection.anonymous
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.connection.attempt.count
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.network.blocked
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.network.file.count
CUMULATIVEINT64
gce_instance
direction
workload.googleapis.com/iis.network.io
CUMULATIVEINT64
gce_instance
direction
workload.googleapis.com/iis.request.count
CUMULATIVEINT64
gce_instance
request
workload.googleapis.com/iis.request.queue.age.max
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.request.queue.count
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.request.rejected
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.thread.active
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.uptime
GAUGEINT64
gce_instance
 

驗證設定

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

如要確認 IIS 記錄是否已傳送至 Cloud Logging,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

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

  2. 在編輯器中輸入下列查詢,然後按一下「執行查詢」
    resource.type="gce_instance"
    log_id("iis_access")
    

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

  1. 前往 Google Cloud 控制台的 「Metrics Explorer」頁面:

    前往 Metrics Explorer

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

  2. 在查詢建構工具窗格的工具列中,選取名稱為  MQL PromQL 的按鈕。
  3. 確認「語言」切換按鈕已選取「MQL」。語言切換按鈕位於同一工具列,可供你設定查詢格式。
    • 如要使用第 1 版指標,請在編輯器中輸入下列查詢,然後按一下「執行查詢」
      fetch gce_instance
      | metric 'agent.googleapis.com/iis/request_count'
      | every 1m
      
    • 如要查詢第 2 版指標,請在編輯器中輸入下列查詢,然後按一下「執行」
      fetch gce_instance
      | metric 'workload.googleapis.com/iis.request.count'
      | every 1m
      

查看資訊主頁

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

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

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

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

    前往「Dashboards」(資訊主頁)

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

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

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

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

  1. 前往 Google Cloud 控制台的 「Integrations」(整合) 頁面

    前往「整合」

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

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

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

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

安裝快訊政策

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

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

  1. 前往 Google Cloud 控制台的 「Integrations」(整合) 頁面

    前往「整合」

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

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

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

    3. 按一下「建立政策」

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

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

後續步驟

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