本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
快速入門:在執行中的 EC2 Linux 執行個體上安裝和設定 CloudWatch Logs 代理程式
重要
舊版 Logs 代理程式會被取代。CloudWatch 包含統一的代理程式,可從 EC2 執行個體和內部部署伺服器同時收集日誌和指標。如需詳細資訊,請參閱開始使用 CloudWatch Logs。
有關從舊版 CloudWatch Logs 代理程式遷移到統一代理程式的資訊,請參閱藉助精靈建立 CloudWatch 代理程式組態檔案。
舊版 Logs 代理程式只支援 2.6 到 3.5 版的 Python。此外,舊版 CloudWatch Logs 代理程式不支援執行個體中繼資料服務第 2 版 (IMDSv2)。如果伺服器使用 IMDSv2,您必須使用新版的統一代理程式,而不是舊版的 CloudWatch Logs 代理程式。
針對仍在使用舊版 CloudWatch Logs 代理程式的客戶,本節的其他部分說明該代理程式的使用方式。
提示
CloudWatch 包含新的統一代理程式,可從 EC2 執行個體和內部部署伺服器同時收集日誌和指標。如果您尚未使用舊版 CloudWatch Logs 代理程式,我們建議您使用新版的統一 CloudWatch 代理程式。如需詳細資訊,請參閱開始使用 CloudWatch Logs。
此外,舊版的代理程式不支援執行個體中繼資料服務第 2 版 (IMDSv2)。如果伺服器使用 IMDSv2,您必須使用新版的統一代理程式,而不是舊版的 CloudWatch Logs 代理程式。
本節的其他部分說明舊版 CloudWatch Logs 代理程式的使用方式。
在執行中的 EC2 Linux 執行個體上設定舊版 CloudWatch Logs 代理程式
在現有的 EC2 執行個體上,您可以使用 CloudWatch Logs 代理程式安裝程式來安裝和設定 CloudWatch Logs 代理程式。安裝完成後,日誌會自動從執行個體提供到您在安裝代理程式時所建立的日誌串流。代理程式可確認它已啟動並保持執行,直到您停用為止。
除了使用代理程式之外,您也可以使用 AWS CLI、CloudWatch Logs SDK 或 CloudWatch Logs API 來發佈日誌資料。 AWS CLI 最適合在命令列或透過指令碼發佈資料。CloudWatch Logs 開發套件最適合直接從應用程式發佈日誌資料,或建置您自己的日誌發佈應用程式。
步驟 1:設定適用於 CloudWatch Logs 的 IAM 角色或使用者
CloudWatch Logs 代理程式支援 IAM 角色和使用者。如果您的執行個體已有相關聯的 IAM 角色,請務必包含以下的 IAM 政策。如果您尚無指派給執行個體的 IAM 角色,則可以在後續步驟中使用 IAM 憑證,或將 IAM 角色指派給該執行個體。如需詳細資訊,請參閱將 IAM 角色連接到執行個體。
設定適用於 CloudWatch Logs 的 IAM 角色或使用者
在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/
。 -
在導覽窗格中,選擇角色。
-
選取該角色名稱 (不選取該名稱旁的核取方塊) 以選擇角色。
-
選擇 Attach Policies (連接政策)、Create Policy (建立政策)。
新的瀏覽器標籤或視窗隨即開啟。
-
選擇 JSON 標籤,並輸入下列 JSON 政策文件。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "*" ] } ] }
-
完成時,選擇 Review policy (檢閱政策)。Policy Validator (政策檢查工具) 會回報任何語法錯誤。
-
在 Review Policy (檢閱政策) 頁面上,為您正在建立的政策輸入 Name (名稱) 與 Description (描述) (選用)。檢閱政策 Summary (摘要) 來查看您的政策所授予的許可。然後選擇 Create policy (建立政策) 來儲存您的工作。
-
關閉瀏覽器標籤或視窗,並返回您角色的 Add permissions (新增許可) 頁面。選擇 Refresh (重新整理),然後選擇新政策以連接到您的角色。
-
選擇 Attach Policy (連接政策)。
步驟 2:在現有的 Amazon EC2 執行個體上安裝和設定 CloudWatch Logs
根據 Amazon EC2 執行個體是執行 Amazon Linux、Ubuntu、CentOS 或 Red Hat 而定,安裝 CloudWatch Logs 代理程式的程序會有所不同。使用適用於您執行個體上 Linux 版本的步驟。
在現有的 Amazon Linux 執行個體上安裝和設定 CloudWatch Logs
從 Amazon Linux AMI 2014.09 開始,CloudWatch Logs 代理程式支援以 RPM 安裝 awslogs 套件。舊版的 Amazon Linux 可以使用 sudo yum update
-y
命令更新其執行個體,以存取 awslogs 套件。透過使用 CloudWatch Logs 安裝程式將 awslogs 套件安裝為 RPM 而非 ,您的執行個體會從 接收定期套件更新和修補程式, AWS 而無需手動重新安裝 CloudWatch Logs 代理程式。
警告
如果您之前已使用 Python 指令碼來安裝 CloudWatch Logs 代理程式,請勿使用 RPM 安裝方法來更新代理程式。否則可能會導致組態問題,使得 CloudWatch Logs 代理程式無法將日誌傳送到 CloudWatch。
-
連線至 Amazon Linux 執行個體。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的連線至您的執行個體。
如需連線問題的詳細資訊,請參閱《Amazon EC2 使用者指南》中的連線至執行個體的故障診斷。
-
更新 Amazon Linux 執行個體,以取得套件儲存庫中的最新變更。
sudo yum update -y
-
安裝
awslogs
套裝服務。這是在 Amazon Linux 執行個體上安裝 awslogs 的建議方法。sudo yum install -y awslogs
-
編輯
/etc/awslogs/awslogs.conf
檔案來設定要追蹤的日誌。如需編輯此檔案的詳細資訊,請參閱 CloudWatch Logs 代理程式參考。 -
根據預設,
/etc/awslogs/awscli.conf
會指向 us-east-1 區域。若要將您的日誌推送至不同的區域,請編輯awscli.conf
檔案並指定該區域。 -
啟動
awslogs
服務。sudo service awslogs start
如果您執行的是 Amazon Linux 2,請使用下列命令來啟動
awslogs
服務。sudo systemctl start awslogsd
-
(選用) 針對啟動服務時記錄的錯誤,核取
/var/log/awslogs.log
檔案。 -
(選用) 執行以下命令以在每次系統啟動時啟動
awslogs
服務。sudo chkconfig awslogs on
如果您執行的是 Amazon Linux 2,請使用在每個系統啟動時的下列命令來啟動服務。
sudo systemctl enable awslogsd.service
-
在代理程式執行幾分鐘後,您在 CloudWatch 主控台應該會看到新建立的日誌群組和日誌串流。
如需詳細資訊,請參閱檢視傳送到 CloudWatch Logs 的日誌資料。
在現有的 Ubuntu Server、CentOS 或 Red Hat 執行個體上安裝和設定 CloudWatch Logs
如果您使用的是執行 Ubuntu Server、CentOS、或 Red Hat 的 AMI,請使用下列程序,以手動在您的執行個體上安裝 CloudWatch Logs 代理程式。
-
連線至 EC2 執行個體。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的連線至您的執行個體。
如需連線問題的詳細資訊,請參閱《Amazon EC2 使用者指南》中的連線至執行個體的故障診斷。
-
使用以下兩種選項其中之一來執行 CloudWatch Logs 代理程式安裝程式。您可以從網際網路直接執行或下載檔案並獨立執行。
注意
如果您執行的是 CentOS 6.x、Red Hat 6.x 或 Ubuntu 12.04,請使用下載並執行獨立安裝程式的步驟。這些系統不支援直接從網際網路安裝 CloudWatch Logs 代理程式。
注意
在 Ubuntu 上執行
apt-get update
,再執行以下命令。若要從網際網路直接執行,請使用下列命令並依照提示:
curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
sudo python ./awslogs-agent-setup.py --region us-east-1
如果上述命令不適用,請嘗試:
sudo python3 ./awslogs-agent-setup.py --region us-east-1
若要下載並單獨執行,請使用下列命令並依照提示:
curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/AgentDependencies.tar.gz -O
tar xvf AgentDependencies.tar.gz -C /tmp/
sudo python ./awslogs-agent-setup.py --region us-east-1 --dependency-path /tmp/AgentDependencies
您可以指定 us-east-1、us-west-1、us-west-2、ap-south-1、ap-northeast-2、ap-southeast-1、ap-southeast-2、ap-northeast-1、eu-central-1、eu-west-1 或 sa-east-1 區域來安裝 CloudWatch Logs 代理程式。
注意
如需
awslogs-agent-setup
目前版本與版本歷史記錄的更多資訊,請參閱 CHANGELOG.txt。 CloudWatch Logs 代理程式安裝程式在設定期間需要特定的資訊。開始之前,您需要知道要監控的日誌檔及其時間戳記格式。您也應備妥下列資訊。
項目 描述 AWS 存取金鑰 ID
如果使用 IAM 角色,請按 Enter 鍵。否則,請輸入您的 AWS 存取金鑰 ID。
AWS 私密存取金鑰
如果使用 IAM 角色,請按 Enter 鍵。否則,請輸入您的 AWS 私密存取金鑰。
預設區域名稱
按 Enter。預設為 us-east-2。這可以設為 us-east-1、us-west-1、us-west-2、ap-south-1、ap-northeast-2、ap-southeast-1、ap-southeast-2、ap-northeast-1、eu-central-1、eu-west-1 或 sa-east-1。
預設輸出格式
保留空白並按 Enter 鍵。
要上傳的日誌檔路徑
包含要傳送之日誌資料的檔案位置。安裝程式會為您建議路徑。
Destination Log Group 名稱
您的日誌群組名稱。安裝程式會為您建議日誌群組名稱。
Destination Log Stream 名稱
在預設情況下,此為主機名稱。安裝程式會為您建議主機名稱。
時間戳記格式
指定在指定日誌檔中的時間戳記格式。選擇自訂以指定您自己的格式。
起始地位
如何上傳資料。將此設為 start_of_file 以上傳資料檔案中的所有項目。設定為 end_of_file 以只上傳新附加的資料。
在您完成這些步驟後,安裝程式會要求設定另一個日誌檔。您可以對每個日誌檔以您想要的次數多次執行程序。如果您已經沒有任何要監控的日誌檔,請在安裝程式提示您設定另一個日誌時選擇 N (否)。如需代理程式組態檔案中設定的詳細資訊,請參閱 CloudWatch Logs 代理程式參考。
注意
不支援設定多個日誌來源,將資料傳送到單個日誌串流。
-
在代理程式執行幾分鐘後,您在 CloudWatch 主控台應該會看到新建立的日誌群組和日誌串流。
如需詳細資訊,請參閱檢視傳送到 CloudWatch Logs 的日誌資料。