使用 collectd 擷取自訂指標 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 collectd 擷取自訂指標

您可以使用帶有 collectd 通訊協定的 CloudWatch代理程式,從應用程式或服務擷取其他指標,此通訊協定僅在 Linux 伺服器上受支援。collectd 是一種流行的開放原始碼解決方案,其中包含外掛程式,可收集各種應用程式的系統統計資料。透過將 CloudWatch 代理程式已經收集的系統指標與 collectd 的其他指標相結合,您可以更好地監控、分析和疑難排解系統和應用程式。如需 collectd 的詳細資訊,請參閱 collectd - 系統統計資料收集協助程式

您可以使用 collectd 軟體將度量傳送至 CloudWatch 代理程式。對於 collectd 度量, CloudWatch 代理程式充當伺服器,而 collectd 外掛程式則充當用戶端。

每個伺服器上不會自動安裝 collectd 軟體。在執行 Amazon Linux 2 的伺服器上,按照下列步驟安裝 collectd

sudo amazon-linux-extras install collectd

如需有關如何在其他系統上安裝 collectd 的資訊,請參閱 collectd 的下載頁面

若要收集這些自訂指標,請將 "collectd": {} 這一行新增至代理程式組態檔案的 metrics_collected 區段。您可以手動加入這一行。如果您使用精靈來建立組態檔案,它會替您完成。如需詳細資訊,請參閱 建立 CloudWatch 代理程式組態檔

也有選用的參數。如果您使用 collectd,且未使用 /etc/collectd/auth_file 作為 collectd_auth_file,則必須設定其中一些選項。

  • 服務位址: CloudWatch 代理程式應監聽的服務位址。格式是 "udp://ip:port。預設值為 udp://127.0.0.1:25826

  • name_prefix:每個 collectd 指標名稱開頭的字首。預設值為 collectd_。長度上限為 255 個字元。

  • collectd_security_level:設定網路通訊的安全層級。預設設定為 encrypt (加密)

    encrypt (加密) 可指定只接受有加密的資料。sign (簽署) 可指定只接受已簽署和加密的資料。none (無) 可指定接受所有資料。如果您為 collectd_auth_file 指定值,若有可能,加密的資料會解密。

    如需詳細資訊,請參閱 collectd Wiki 中的 Client 設定可能的互動

  • collectd_auth_file 設置一個檔案,其中的使用者名稱對應到密碼。這些密碼用於驗證簽章以及解密加密的網路封包。如有提供,即可驗證已簽署的資料,並將加密的封包解密。否則,會在未檢查簽章的情況下接受已簽署的資料,且無法解密加密的資料。

    預設值為 /etc/collectd/auth_file

    如果 collectd_security_level (collectd_security_level) 設為 none (無),則這是選用參數。如果您將 collectd_security_level (collectd_security_level) 設為 encryptsign (簽署),則必須指定 collectd_auth_file (collectd_auth_file)

    授權檔案的格式是,每一行一個使用者名稱,加一個冒號和任意數量的空格,之後再加上密碼。例如:

    user1: user1_password

    user2: user2_password

  • collectd_typesdb: 包含資料集描述項的一或多個檔案的清單。清單必須以方括號圍起來,即使清單中只有一個項目。清單中的每個項目都必須加上雙引號。如果有多個項目,以逗號分隔。Linux 伺服器的預設值是 ["/usr/share/collectd/types.db"]。macOs 電腦上的預設值取決於 collectd 的版本。例如:["/usr/local/Cellar/collectd/5.12.0/share/collectd/types.db"]

    如需詳細資訊,請參閱 https://www.collectd.org/documentation/manpages/types.db.html

  • 指標 _ 聚合間隔:將指標彙總到單一資料點的頻率 (以秒為單 CloudWatch位)。預設值為 60 秒。範圍介於 0 至 172,000 之間。若設定為 0,會停止對 collectd 指標進行彙總。

以下是適用於代理程式組態檔案 collectd 區段的範例。

{ "metrics":{ "metrics_collected":{ "collectd":{ "name_prefix":"My_collectd_metrics_", "metrics_aggregation_interval":120 } } } }

檢視代理程式匯入的 CloudWatch 收集測量結果

將 collectd 指標匯入後 CloudWatch,您可以將這些指標作為時間序列圖表檢視,並建立警示以監視這些指標,並在超出您指定的臨界值時通知您。下列程序顯示如何以時間序列圖形檢視 collectd 指標。如需設定警示的詳細資訊,請參閱 使用 Amazon CloudWatch 警報

若要在主 CloudWatch 控台中檢視收集量度
  1. 請在以下位置開啟 CloudWatch 主控台。 https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,選擇 指標

  3. 選擇用於代理程式所收集指標的命名空間。依預設,這是 CWAgent,但您可能在 CloudWatch 代理程式組態檔中指定了不同的命名空間。

  4. 選擇指標維度 (例如 Per-Instance Metrics (每個執行個體指標))。

  5. All metrics (所有指標) 索引標籤會顯示命名空間中該維度的所有指標。您可以執行下列作業:

    1. 若要將指標圖形化,請勾選指標旁的核取方塊。若要選擇所有指標,請勾選表格標題列中的核取方塊。

    2. 若要將資料表排序,請使用直欄標題。

    3. 若要依資源篩選,請選擇資源 ID,然後選擇 Add to search (新增至搜尋)。

    4. 若要依指標篩選,請選擇指標名稱,然後選擇 Add to search (新增至搜尋)

  6. (選擇性) 若要將此圖形新增至 CloudWatch 儀表板,請選擇動作 > 新增至儀表板