網際網路資訊服務

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

如要進一步瞭解 IIS,請參閱網際網路資訊服務說明文件。

事前準備

Ops Agent 2.15.0 版開始支援使用 workload.googleapis.com/ 前置字元的新 IIS 指標。您必須按照「設定範例」中的說明,設定代理程式來收集這些指標。

Ops Agent 一直支援一組有限的 IIS 指標,這些指標使用 agent.googleapis.com/iis/ 前置字元。您無須額外設定,即可在 Windows VM 收集這些指標。

本文將前置字元為 agent 的指標稱為 v1 指標,前置字元為 workload 的指標則稱為 v2 指標。如要查看這些指標的表格,請參閱「監控項目」。

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

必要條件

如要收集 IIS 遙測資料,請安裝 Ops Agent:

  • 如要使用指標第 1 版,請安裝 1.0.0 以上版本。
  • 如要使用指標第 2 版,請安裝 2.15.0 以上版本
  • 如要收集記錄,請安裝 2.14.0 以上版本。

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

設定 IIS 的 Ops Agent

按照指南設定 Ops Agent,新增必要元素,從 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. 使用 RDP 或類似工具連線至執行個體,然後登入 Windows。
  2. 在 PowerShell 圖示上按一下滑鼠右鍵,然後選取「Run as Administrator」(以管理員身分執行),開啟具有管理員權限的 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 可剖析的時間間隔,例如 30s 或 2m。如果記錄檔的輪替速度快於預設間隔,這項屬性在記錄檔處理量較高時可能很有用。

記錄內容

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 上的 Ops Agent 會自動收集 IIS 第 1 版指標。您無須額外進行設定。 如要瞭解如何「僅」收集第 2 版指標,請參閱「設定第 2 版指標收集作業」。

設定新的 IIS 執行個體後,IIS 可能不會立即回報任何指標。使用 Windows Server 內建的伺服器管理員控制台時,您可能會在「Manageability」(管理能力) 欄中看到伺服器狀態為「Online - Performance Counters not started」(線上 - 效能計數器未啟動)。

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

設定 v2 指標收集

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

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

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

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

根據預設,系統會自動收集第 1 版指標。您可以額外收集第 2 版指標來擴充第 1 版指標,也可以覆寫第 1 版指標,只收集第 2 版指標。

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

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

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

監控的內容

從 2.15.0 版開始,Ops Agent 可以收集兩組不同的指標:

  • v1 指標:agent.googleapis.com/iis/。
  • v2 指標:workload.googleapis.com/。
V1 指標

下表列出 Ops Agent 從 IIS 執行個體收集的第 1 版指標。

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

指標類型推出階段(資源階層層級)
顯示名稱
種類、類型、單位
受監控資源
說明
標籤
current_connections GA  (專案)
IIS 開啟連線
GAUGE、DOUBLE、1
aws_ec2_instance
gce_instance
目前與 IIS 開放的連線。每 60 秒取樣一次。
network/transferred_bytes_count GA  (專案)
IIS 傳輸的位元組數
CUMULATIVE、INT64、By
aws_ec2_instance
gce_instance
IIS 傳輸的網路位元組數。每 60 秒取樣一次。
direction:方向 (傳送、接收)
new_connection_count GA  (專案)
IIS 連線
CUMULATIVE、INT64、1
aws_ec2_instance
gce_instance
與 IIS 建立連線。每 60 秒取樣一次。
request_count GA  (專案)
IIS 要求
CUMULATIVE、INT64、1
aws_ec2_instance
gce_instance
向 IIS 提出的要求。每 60 秒取樣一次。
http_method:HTTP 方法 (post、put、get、delete、option、trace、head)

表格產生時間:2026-10-22 02:44:18 UTC。

V2 指標

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

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

驗證設定

本節說明如何確認 IIS 接收器設定正確。Ops Agent 可能需要一兩分鐘才會開始收集遙測資料。

如要確認 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. 在查詢建立工具窗格的工具列中,選取名為 「PromQL」PromQL的按鈕。
    • 如果是第 1 版指標,請在編輯器中輸入下列查詢,然後按一下「Run query」(執行查詢):
      {"agent.googleapis.com/iis/request_count", monitored_resource="gce_instance"}
      
    • 如果是第 2 版指標,請在編輯器中輸入下列查詢,然後按一下「Run」(執行):
      {"workload.googleapis.com/iis.request.count", monitored_resource="gce_instance"}
      

查看資訊主頁

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

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

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

  1. 在 Google Cloud 控制台中,前往「 Dashboards」頁面:

    前往「Dashboards」(資訊主頁)

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

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

如果您已設定整合功能,但尚未安裝資訊主頁,請確認 Ops Agent 是否正在執行。如果資訊主頁中的圖表沒有指標資料,資訊主頁就會安裝失敗。Ops Agent 開始收集指標後,系統就會為您安裝資訊主頁。

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

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

    前往「Integrations」

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

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

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

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

安裝警告政策

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

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

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

    前往「Integrations」

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

  2. 找出 IIS 項目,然後按一下「查看詳細資料」。
  3. 選取「快訊」分頁標籤。這個分頁會說明可用的警告政策,並提供安裝介面。
  4. 安裝警告政策。警告政策必須知道要將警告觸發通知傳送至何處,因此您必須提供相關資訊,才能安裝。如要安裝警告政策,請按照下列步驟操作:
    1. 從可用警告政策清單中,選取要安裝的政策。
    2. 在「Configure notifications」(設定通知) 專區中,選取一或多個通知管道。您可以選擇停用通知管道,但如果這麼做,警告政策觸發時就不會傳送訊息。您可以在 Monitoring 中查看狀態,但不會收到通知。

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

    3. 點選「建立政策」。

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

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

後續步驟

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