本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 CloudWatch 代理程式組態檔案
在任何伺服器上執行 CloudWatch 代理程式之前,您必須建立一或多個 CloudWatch 代理程式組態檔案。
代理程式組態檔案是一種 JSON 檔案,可指定代理程式收集的指標、日誌和追蹤,包含自訂指標。您可以使用精靈來建立,或從零開始自行建立。您也可以使用精靈來開始建立組態檔案,然後手動修改。如果您以手動方式建立或修改檔案,程序將更為複雜,但您對於收集的指標將有更多的控制權,而且可以指定精靈中無法使用的指標。
無論何時,只要變更代理程式組態檔案,您就必須重新啟動代理程式使變更生效。若要重新啟動代理程式,請按照 (選用) 修改 CloudWatch 代理程式的常見組態和命名描述檔 中的說明操作。
在您建立一個組態檔案後,您可以手動將它儲存為 JSON 檔案並在您的伺服器上安裝代理程式時使用此檔案。或者,若是您在伺服器上安裝代理程式時需要使用 Systems Manager,您可以將它存放在 Systems Manager 參數存放區中。
CloudWatch 代理程式支援使用多個組態檔案。如需詳細資訊,請參閱建立多個 CloudWatch 代理程式組態檔案。
CloudWatch 代理程式收集的指標、日誌和追蹤會產生費用。如需定價的詳細資訊,請參閱 Amazon CloudWatch 定價
建立多個 CloudWatch 代理程式組態檔案
在 Linux 伺服器和 Windows 伺服器上,您可以將 CloudWatch 代理程式設定為使用多個組態檔案。例如,您可以使用收集一組指標、日誌和追蹤的常見組態檔,而您一向會從基礎設施的所有伺服器收集它們。然後,您可以使用從某些應用程式或某些情況下收集指標的其他組態檔案。
若要設定,請先建立您要使用的組態檔案。將在相同伺服器上一起使用的任何組態檔案都必須具有不同的檔案名稱。您可以將組態檔案存放在伺服器或參數存放區中。
使用 fetch-config
選項啟動 CloudWatch 代理程式,並指定第一個組態檔案。若要在執行中的代理程式附加第二個組態檔案,使用相同命令但請搭配 append-config
選項。會收集組態檔案中列出的所有指標、日誌和追蹤。下列範例命令使用組態存放為 檔案來說明此案例。第一行使用 infrastructure.json
組態檔案來啟動代理程式,第二個行則附加 app.json
組態檔案。
下列範例命令適用於 Linux。
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/tmp/infrastructure.json
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/tmp/app.json
下列範例命令適用於 Windows Server。
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\infrastructure.json"
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a append-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\app.json"
以下範例組態檔案說明如何使用此功能。第一個組態檔案用於基礎設施中的所有伺服器,第二個組態檔案僅收集來自特定應用程式的日誌,並附加到執行該應用程式的伺服器。
infrastructure.json
{ "metrics": { "metrics_collected": { "cpu": { "resources": [ "*" ], "measurement": [ "usage_active" ], "totalcpu": true }, "mem": { "measurement": [ "used_percent" ] } } }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log" }, { "file_path": "/var/log/messages", "log_group_name": "/var/log/messages" } ] } } } }
app.json
{ "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/app/app.log*", "log_group_name": "/app/app.log" } ] } } } }
附加到組態的任何組態檔案都必須具有彼此不同的檔案名稱,且該名稱也必須和初始組態檔案不同。若您搭配具有和代理程式已正在使用組態檔案相同檔案名稱的組態檔案,使用 append-config
,則附加命令會覆寫來自第一個組態檔案的資訊,而非附加到其中。即使具有相同檔案名稱的兩個組態檔案位於不同的檔案路徑上,也是如此。
上面的範例顯示了兩個組態檔案的使用,但可以附加到代理程式組態的組態檔案數沒有限制。您也可以混合使用位於伺服器的組態檔案和位於參數存放區的組態。