網際網路資訊服務

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

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

事前準備

作業套件代理程式 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) 收到要求的時間

設定 v1 指標收集

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

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

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

設定 v2 指標收集

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

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

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

欄位 預設 說明
collection_interval 60 年代 time.Duration 值,例如 30 秒或 5 分鐘。
receiver_version 收集的指標版本;請使用 2 收集第 2 版指標。
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(專案)
IIS 開啟連線
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)

這份表格的產生時間是世界標準時間 2026 年 3 月 20 日 22:10:00。

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

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

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

查看資訊主頁

如要查看 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 的「整合」頁面中查看及安裝這些快訊政策。

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

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

    前往「整合」

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

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

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

    3. 按一下「建立政策」

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

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

後續步驟

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