GCP Cloud Monitoring 減少流量和費用
Cloud Monitoring 可以用來監控系統狀態,並透過它來寄出警示通知。主要用來監控硬碟容量和一些自訂狀態,於是在所有機器裝上了 Ops Agent 來監控硬碟狀態。但後來發現帳單的費用驚人,於是研究了一下他的費用和如何降低成本。
費用
首先了解一下 Cloud Monitoring 定價,平常用到的只有第一個項目 Monitoring 資料,這部分前 150 MiB 是免費額度,如果能夠壓低在這之下就可以免費使用。本篇文章也是針對這項目說明。
帳單
點開帳單可以找到名為 Metric Volume 的項目,這就是 Cloud Monitoring 資料的費用。
可以看到月份的前幾天沒有這項目,大概在 5 號的時候才出現,這是因為前幾天是 150 MiB 的免費額度。可以看到後面每天都花費 $4.3 左右。這是八台主機的情況。
也可以看到多少流量被計算費用
流量
從監控的[設定]頁簽中,在 GCP Projects 之下,展開專案名稱,可以看到流量報告。
在 Agent Metrics 最右邊點擊[在 Metrics Exploer 中查看],可以查詢每個時間的流量狀況。
不過這裡無法推算出費用,他計算方式蠻複雜的,有一些是免費流量,有一些是有折扣的流量。可以看到這裡顯示的流量和帳單顯示的計費流量不一致,不過可以用來快速查詢設定後的流量變化。
計費流量的部分,我從帳單反推,八台一天 $4.3,一台一天 $0.5375,每 MiB $0.2580 美元,所以預設情況下每台每天產生的計費流量為 2.08 MiB。
改善方法
以減少流量為目標,採用以下策略:
- 停用不重要的機器
- 只傳送必要指標
- 降低傳送頻率
我們可以修改 Ops Agent 設定檔來達成目的。輸入
1 | sudo vi /etc/google-cloud-ops-agent/config.yaml |
加入以下設定,
1 | metrics: |
重啟生效
1 | sudo service google-cloud-ops-agent restart |
舊版的 Ops Agent 可能不支援上面部分的設定。例如我有些舊的機器無法安裝最新的 Ops Agent,沒辦法排除指標。