將 Amazon CloudWatch 指標發佈到 CSV 檔案 - AWS 方案指引

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

將 Amazon CloudWatch 指標發佈到 CSV 檔案

創建者:阿卜杜拉希·奧拉耶 (AWS)

環境:PoC 或試點

技術: DevOps

AWS 服務:Amazon CloudWatch

Summary

此模式使用 Python 指令碼擷取 Amazon CloudWatch 指標,並將指標資訊轉換為逗號分隔值 (CSV) 檔案以提高可讀性。指令碼會採用應擷取其指標的 AWS 服務做為必要引數。您可以將 AWS 區域和 AWS 登入資料設定檔指定為選用引數。如果您未指定這些引數,指令碼會使用針對執行指令碼之工作站所設定的預設區域和設定檔。指令碼執行後,會在相同的目錄中產生並儲存 CSV 檔案。

有關此模式提供的腳本和相關文,請參閱附件部分。

先決條件和限制

先決條件

  • Python 3. x

  • AWS 命令列界面 (AWS CLI)

限制

指令碼目前支援下列 AWS 服務:

  • AWS Lambda

  • Amazon Elastic Compute Cloud (Amazon EC2)

    • 根據預設,指令碼不會收集亞馬遜彈性區塊存放區 (Amazon EBS) 磁碟區指標。若要收集 Amazon EBS 指標,您必須修改附加的metrics.yaml檔案。

  • Amazon Relational Database Service (Amazon RDS)

    • 但是,該腳本不支持 Amazon Aurora。

  • Application Load Balancer

  • Network Load Balancer

  • Amazon API Gateway

工具

  • Amazon CloudWatch 是專為 DevOps 工程師、開發人員、網站可靠性工程師 (SRE) 和 IT 經理所打造的監控服務。 CloudWatch 提供資料和可行的見解,協助您監控應用程式、回應整個系統的效能變更、最佳化資源使用率,以及取得營運狀態的統一檢視。 CloudWatch 以日誌、指標和事件的形式收集監控和操作資料,並提供在 AWS 和現場部署伺服器上執行的 AWS 資源、應用程式和服務的統一檢視。

史诗

任務描述所需技能

安裝必要條件。

執行以下命令:

$ pip3 install -r requirements.txt
開發人員

設定 AWS CLI。

執行以下命令: 

$ aws configure
開發人員
任務描述所需技能

開啟指令碼。

若要變更指令碼的預設組態,請開啟metrics.yaml

開發人員

設定指令碼的期間。

這是獲取的時間段。預設期間為 5 分鐘 (300 秒)。您可以變更時段,但請注意下列限制: 

  • 如果您指定的小時數值介於 3 小時到 15 天之前,請使用 60 秒 (1 分鐘) 的倍數作為期間。 

  • 如果您指定的時數值介於 15 小時到 63 天之前,請使用 300 秒 (5 分鐘) 的倍數作為期間。 

  • 如果您指定的小時值大於 63 天之前,請使用 3,600 秒 (1 小時) 的倍數作為期間。

否則,API 操作將不會返回任何數據點。

開發人員

設定指令碼的時間。

此值指定您要擷取的量度小時數。預設值為 1 小時。若要擷取多天的量度,請提供以小時為單位的值。例如,對於 2 天,請指定 48。

開發人員

變更指令集的統計值。

(選擇性) 全域統計值為Average,擷取未指派特定統計值的測量結果時會使用此值。此指令集支援統計值MaximumSampleCount、和Sum

開發人員
任務描述所需技能

執行指令碼。

使用下列命令: 

$ python3 cwreport.py <service>

若要查看服務值以及選用性region profile 參數的清單,請執行下列命令:

$ python3 cwreport.py -h

如需有關選用參數的詳細資訊,請參閱其他資訊一節。

開發人員

相關資源

其他資訊

腳本用法

$ python3 cwreport.py -h

語法範例

python3 cwreport.py <service> <--region=Optional Region> <--profile=Optional credential profile>

參數

  • 服務 (必要)-您要執行指令碼的服務。指令碼目前支援下列服務:AWS Lambda、Amazon EC2、Amazon RDS、Application Load Balancer、Network Load Balancer 和 API Gateway。

  • 區域 (選用)-要從中擷取指標的 AWS 區域。預設「區域」為ap-southeast-1

  • 設定檔 (選用)-要使用的 AWS CLI 命名的設定檔。如果未指定此參數,則會使用預設設定的認證設定檔。

範例

  • 若要使用預設區域ap-southeast-1和預設設定的登入資料來擷取 Amazon EC2 指標:$ python3 cwreport.py ec2

  • 若要指定「區域」並擷取 API Gateway 指標:$ python3 cwreport.py apigateway --region us-east-1

  • 若要指定 AWS 設定檔並擷取 Amazon EC2 指標:$ python3 cwreport.py ec2 --profile testprofile

  • 若要同時指定區域和設定檔以擷取 Amazon EC2 指標:$ python3 cwreport.py ec2 --region us-east-1 --profile testprofile

附件

若要存取與此文件相關聯的其他內容,請解壓縮下列檔案:attachment.zip