停用指標收集功能

本文說明如何為Google Cloud 專案停用 Cloud Monitoring API,以及如何防止 Ops Agent 和舊版 Monitoring 代理程式收集程序指標。 舉例來說,如果您想避免將可計費指標擷取至 Google Cloud 專案,可能就會停用 Cloud Monitoring API。

停用所有指標的收集功能

如要避免收集所有指標,請停用 Cloud Monitoring API:

控制台

  1. 在 Google Cloud 控制台中,選取 Google Cloud 專案,然後前往「APIs & Services」(API 和服務) 頁面:

    前往「API 與服務」頁面

  2. 選取「Cloud Monitoring API」

  3. 點選「停用 API」

gcloud

執行下列指令,在目前的專案中停用 Cloud Monitoring API:

gcloud services disable monitoring.googleapis.com

如要瞭解如何使用 Google Cloud CLI 停用 API,請參閱「啟用及停用服務」一文。

停用程序指標收集功能

您可以透過多種方式,停用作業套件代理程式 (2.0.0 以上版本) 和 Linux 舊版 Monitoring 代理程式的指標收集功能。

代理程式僅適用於 Compute Engine VM,Monitoring 代理程式則適用於 Amazon Elastic Compute Cloud (EC2) VM;這些程序僅適用於這些平台。

如果您在 Windows 上執行 2.0.0 以下版本或舊版 Monitoring 代理程式,就無法透過作業套件代理程式停用收集作業。如要在 Windows 上停用這些指標的收集作業,建議您升級至作業套件代理程式 2.0.0 以上版本。詳情請參閱「安裝 Ops Agent」。

一般程序如下:

  1. 連線至 VM。

  2. 複製現有設定檔做為備份。請將備份副本儲存在代理程式設定目錄以外的位置,以免代理程式嘗試載入這兩個檔案。舉例來說,下列指令會複製 Linux 上的監控代理程式設定檔:

    cp /etc/stackdriver/collectd.conf BACKUP_DIR/collectd.conf.bak
    
  3. 使用下列其中一個選項變更設定:

  4. 重新啟動代理程式,以納入新設定:

    • 監控代理程式:sudo service stackdriver-agent restart
    • 作業套件代理程式:sudo service google-cloud-ops-agent restart
  5. 確認系統不再收集這個 VM 的程序指標:

    1. 選取「指標探索工具」

    2. 按一下「MQL」

    3. 如果是 gce_instance 資源,請輸入下列查詢,並將 VM_NAME 替換為這個 VM 的名稱:

      fetch gce_instance
      | metric 'agent.googleapis.com/processes/cpu_time'
      | filter (metadata.system_labels.name == 'VM_NAME')
      | align rate(1m)
      | every 1m
      

      如果是 aws_ec2_instance 資源,請在查詢中取代 gce_instance

    4. 按一下 [Run Query] (執行查詢)。

Linux 或 Windows 上的作業套件代理程式

作業套件代理程式設定檔的位置會因作業系統而異:

  • Linux:/etc/google-cloud-ops-agent/config.yaml
  • Windows:C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

如要停用作業套件代理程式收集所有程序指標,請在 config.yaml 檔案中新增下列內容:

metrics:
  processors:
    metrics_filter:
      type: exclude_metrics
      metrics_pattern:
      - agent.googleapis.com/processes/*

這會從 metrics 服務預設管道適用的處理器中,排除程序指標的收集作業。metrics_filter

如要進一步瞭解 Ops Agent 的設定選項,請參閱「設定 Ops Agent」。

Linux 的 Monitoring 代理程式

您可以透過下列選項,使用舊版 Monitoring 代理程式停用程序指標的收集作業:

以下各節將說明每個選項,並列出相關優點和風險。

修改代理程式的設定檔

使用這個選項時,您可以直接編輯代理程式的主要設定檔 /etc/stackdriver/collectd.conf,移除啟用程序指標收集作業的區段。

程序

您必須從 collectd.conf 檔案中刪除三組項目:

  1. 刪除下列 LoadPlugin 指令和外掛程式設定:

    LoadPlugin processes
    
    <Plugin "processes">
      ProcessMatch "all" ".*"
      Detail "ps_cputime"
      Detail "ps_disk_octets"
      Detail "ps_rss"
      Detail "ps_vm"
    </Plugin>
    
  2. 刪除下列 PostCacheChain 指令,以及 PostCache 鏈的設定:

    PostCacheChain "PostCache"
    
    <Chain "PostCache">
      <Rule "processes">
        <Match "regex">
          Plugin "^processes$"
          Type "^(ps_cputime|disk_octets|ps_rss|ps_vm)$"
        </Match>
        <Target "jump">
          Chain "MaybeThrottleProcesses"
        </Target>
        Target "stop"
      </Rule>
    
      <Rule "otherwise">
        <Match "throttle_metadata_keys">
          OKToThrottle false
          HighWaterMark 5700000000  # 950M * 6
          LowWaterMark 4800000000  # 800M * 6
        </Match>
        <Target "write">
           Plugin "write_gcm"
        </Target>
      </Rule>
    </Chain>
    
  3. 刪除 PostCache 鏈結使用的 MaybeThrottleProcesses 鏈結:

    <Chain "MaybeThrottleProcesses">
      <Rule "default">
        <Match "throttle_metadata_keys">
          OKToThrottle true
          TrackedMetadata "processes:pid"
          TrackedMetadata "processes:command"
          TrackedMetadata "processes:command_line"
          TrackedMetadata "processes:owner"
        </Match>
        <Target "write">
           Plugin "write_gcm"
        </Target>
      </Rule>
    </Chain>
    
優點和風險
  • 優點
    • 由於系統不會收集指標,因此可減少代理程式消耗的資源。
    • 如果您對 collectd.conf 檔案進行了其他變更,或許可以輕鬆保留這些變更。
  • 風險
    • 您必須使用 root 帳戶編輯這個設定檔。
    • 這樣做可能會在檔案中加入錯字。

取代代理程式的設定檔

選用這個選項後,系統會以預先編輯的版本取代代理程式的主要設定檔,並為您移除相關區段。

程序
  1. 從 GitHub 存放區將預先編輯的 collectd-no-process-metrics.conf 檔案下載至 /tmp 目錄,然後執行下列操作:

    cd /tmp && curl -sSO https://raw.githubusercontent.com/Stackdriver/agent-packaging/master/collectd-no-process-metrics.conf
    
  2. 將現有的 collectd.conf 檔案換成預先編輯的檔案:

    cp /tmp/collectd-no-process-metrics.conf /etc/stackdriver/collectd.conf
    
優點和風險
  • 優點
    • 由於系統不會收集指標,因此可減少代理程式消耗的資源。
    • 您不必手動編輯 root 檔案。
    • 設定管理工具可以輕鬆取代檔案。
  • 風險
    • 如果您對 collectd.conf 檔案進行其他變更,請將這些變更合併至替代檔案。

疑難排解

本文件所述程序會變更代理程式的設定,因此最有可能發生下列問題:

  • 權限不足,無法編輯設定檔。設定檔必須從 root 帳戶編輯。
  • 直接編輯設定檔時,可能會在設定檔中輸入錯字。

如要瞭解如何解決其他問題,請參閱「排解監控代理程式問題」。

Windows 上的 Monitoring 代理程式

在 Windows VM 上執行的舊版 Monitoring 代理程式無法停用程序指標收集功能。這個代理程式無法設定。 如要在 Windows 上停用這些指標的收集作業,建議您升級至作業套件代理程式 2.0.0 以上版本。詳情請參閱「安裝 Ops Agent」。

如果您執行的是作業套件代理程式,請參閱「Linux 或 Windows 上的作業套件代理程式」。