Amazon CloudWatch 指標發佈到 CSV 檔案 - AWS Prescriptive Guidance

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

Amazon CloudWatch 指標發佈到 CSV 檔案

由阿卜杜拉希奧洛耶 (AWS) 創作

環境:PoC 或試驗

技能:DevOps

AWS 服務:Amazon CloudWatch

Summary

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

先決條件和限制

先決條件

  • Python 3.x

  • AWS 命令列界面 (AWS CLI)

限制

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

  • AWS Lambda

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • Amazon Relational Database Service (Amazon RDS)

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

  • Application Load Balancer

  • 網路負載平衡器

  • Amazon API Gateway

Tools

  • Amazon CloudWatch— Amazon CloudWatch 是一項監控和可觀察性服務,專為 DevOps 工程師、開發人員、網站可靠性工程師 (SSE) 和 IT 管理員所打造。CloudWatch 可為您提供資料和可行的洞見以協助您監控應用程式、回應整個系統的效能變化、最佳化資源使用情況,以及透過整合的檢視來查看運作狀態。CloudWatch 會以日誌、指標和事件形式收集監控和操作資料,並提供 AWS 和現場部署伺服器上執行的 AWS 資源、應用程式和服務的統一檢視。

Epics

任務描述所需技能
安裝必要項目。

執行以下命令:

$ 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

開發人員
任務描述所需技能
執行指令碼。

使用下列命令: 

$ python cwreport.py <service>

若要查看服務值清單和選擇性region profile 參數,執行以下命令:

 $ python cwreport.py -h

如需選用參數的詳細資訊,請參閱其他資訊區段。

開發人員

相關資源

其他資訊

指令碼使用

$ python cwreport.py -h

範例語法

python 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 指標:$ python cwreport.py ec2

  • 指定一個區域並獲取 Amazon API Gateway 指標:$ python cwreport.py apigateway --region us-east-1

  • 指定 AWS 設定檔:$ python cwreport.py ec2 --profile testprofile

  • 指定區域和輪廓:$ python cwreport.py ec2 --region us-east-1 --profile testprofile

Attachments

attachment.zip