停用所有指標的收集功能
如要避免收集所有指標,請停用 Cloud Monitoring API:
控制台
在 Google Cloud 控制台中,選取 Google Cloud 專案,然後前往「APIs & Services」(API 和服務) 頁面:
選取「Cloud Monitoring API」。
點選「停用 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」。
一般程序如下:
連線至 VM。
複製現有設定檔做為備份。請將備份副本儲存在代理程式設定目錄以外的位置,以免代理程式嘗試載入這兩個檔案。舉例來說,下列指令會複製 Linux 上的監控代理程式設定檔:
cp /etc/stackdriver/collectd.conf BACKUP_DIR/collectd.conf.bak
使用下列其中一個選項變更設定:
重新啟動代理程式,以納入新設定:
- 監控代理程式:
sudo service stackdriver-agent restart
- 作業套件代理程式:
sudo service google-cloud-ops-agent restart
- 監控代理程式:
確認系統不再收集這個 VM 的程序指標:
選取「指標探索工具」。
按一下「MQL」。
如果是
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
。按一下 [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
檔案中刪除三組項目:
刪除下列
LoadPlugin
指令和外掛程式設定:LoadPlugin processes <Plugin "processes"> ProcessMatch "all" ".*" Detail "ps_cputime" Detail "ps_disk_octets" Detail "ps_rss" Detail "ps_vm" </Plugin>
刪除下列
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>
刪除
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
帳戶編輯這個設定檔。 - 這樣做可能會在檔案中加入錯字。
- 您必須使用
取代代理程式的設定檔
選用這個選項後,系統會以預先編輯的版本取代代理程式的主要設定檔,並為您移除相關區段。
程序
從 GitHub 存放區將預先編輯的
collectd-no-process-metrics.conf
檔案下載至/tmp
目錄,然後執行下列操作:cd /tmp && curl -sSO https://raw.githubusercontent.com/Stackdriver/agent-packaging/master/collectd-no-process-metrics.conf
將現有的
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 上的作業套件代理程式」。