快速入門:在執行中的 EC2 Linux 執行個體上安裝和設定 CloudWatch 日誌代理程式 - Amazon CloudWatch 日誌

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

快速入門:在執行中的 EC2 Linux 執行個體上安裝和設定 CloudWatch 日誌代理程式

重要

較舊的記錄代理程式已取代。 CloudWatch 包括一個統一的代理程式,可從 EC2 執行個體和現場部署伺服器收集日誌和指標。如需詳細資訊,請參閱 開始使用 CloudWatch 記錄

如需從舊版 CloudWatch Logs 代理程式移轉至整合代理程式的相關資訊,請參閱使用精靈建立 CloudWatch 代理程式組態檔

舊版 Logs 代理程式只支援 2.6 到 3.5 版的 Python。此外,較舊的 CloudWatch 記錄代理程式不支援執行個體中繼資料服務版本 2 (IMDSv2)。如果您的伺服器使用 IMDSv2,您必須使用較新的統一代理程式,而不是舊版 CloudWatch Logs 代理程式。

本節的其餘部分將說明對仍在使用該代理程式的客戶使用舊版 CloudWatch Logs 代理程式。

提示

CloudWatch 包含新的統一代理程式,可從 EC2 執行個體和現場部署伺服器收集日誌和指標。如果您尚未使用較舊的 CloudWatch Logs 代理程式,建議您使用較新的整合 CloudWatch代理程式。如需詳細資訊,請參閱 開始使用 CloudWatch 記錄

此外,舊版的代理程式不支援執行個體中繼資料服務第 2 版 (IMDSv2)。如果您的伺服器使用 IMDSv2,您必須使用較新的統一代理程式,而不是舊版 CloudWatch Logs 代理程式。

本節的其餘部分將說明舊版 CloudWatch Logs 代理程式的使用。

在執行中的 EC2 Linux 執行個體上設定較舊的 CloudWatch 記錄代理程式

您可以在現有 EC2 執行個體上使用 CloudWatch Logs 代理程式安裝程式來安裝和設定 CloudWatch 日誌代理程式。安裝完成後,日誌會自動從執行個體提供到您在安裝代理程式時所建立的日誌串流。代理程式可確認它已啟動並保持執行,直到您停用為止。

除了使用代理程式之外,您也可以使用 CloudWatch 記錄 SDK 或記錄 API 來發佈 CloudWatch 記錄檔資料。 AWS CLI最 AWS CLI 適合在指令行或透過指令碼發佈資料。 CloudWatch 日誌 SDK 最適合直接從應用程序發布日誌數據或構建自己的日誌發布應用程序。

步驟 1:針對記錄設定 IAM 角色或使用 CloudWatch 者

CloudWatch 日誌代理程式支援 IAM 角色和使用者。如果您的執行個體已有相關聯的 IAM 角色,請務必包含以下的 IAM 政策。如果您尚無指派給執行個體的 IAM 角色,則可以在後續步驟中使用 IAM 憑證,或將 IAM 角色指派給該執行個體。如需詳細資訊,請參閱將 IAM 角色連接到執行個體

為記錄設定 IAM 角色或使用 CloudWatch 者
  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇角色

  3. 選取該角色名稱 (不選取該名稱旁的核取方塊) 以選擇角色。

  4. 選擇 Attach Policies (連接政策)Create Policy (建立政策)

    新的瀏覽器標籤或視窗隨即開啟。

  5. 選擇 JSON 標籤,並輸入下列 JSON 政策文件。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "*" ] } ] }
  6. 完成時,選擇 Review policy (檢閱政策)。Policy Validator (政策檢查工具) 會回報任何語法錯誤。

  7. Review Policy (檢閱政策) 頁面上,為您正在建立的政策輸入 Name (名稱)Description (描述) (選用)。檢閱政策 Summary (摘要) 來查看您的政策所授予的許可。然後選擇 Create policy (建立政策) 來儲存您的工作。

  8. 關閉瀏覽器標籤或視窗,並返回您角色的 Add permissions (新增許可) 頁面。選擇 Refresh (重新整理),然後選擇新政策以連接到您的角色。

  9. 選擇 Attach Policy (連接政策)

步驟 2:在現有的 Amazon EC2 執行個體上安裝和設定 CloudWatch 日誌

根據您的 Amazon EC2 實例是運行亞馬遜 Linux,Ubuntu,CentOS 還是紅帽,安裝 CloudWatch 日誌代理程序的過程有所不同。使用適用於您執行個體上 Linux 版本的步驟。

在現有的 Amazon Linux 執行個體上安裝和設定 CloudWatch 日誌

從 Amazon Linux AMI 2014.09 開始, CloudWatch 日誌代理程式可透過安裝 awslog 套件作為 RPM 安裝使用。舊版的 Amazon Linux 可以使用 sudo yum update -y 命令更新其執行個體,以存取 awslogs 套件。將 awslogs 套件安裝為 RPM,而不是使用 Logs 安裝程式,您的執行個體會接收定期的套件更新和修補程式,而 AWS 不必手動重新安裝 CloudWatch Logs 代理程式。 CloudWatch

警告

如果您先前使用 Python 指令碼來安裝代理程式,請勿使用 RPM 安裝方法更新 CloudWatch 記錄代理程式。這麼做可能會造成設定問題,導致 Lo CloudWatch gs 代理程式無法將記錄檔傳送至 CloudWatch。

  1. 連線至 Amazon Linux 執行個體。如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的連線至您的執行個體

    如需連線問題的詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的連線到執行個體的故障診斷

  2. 更新 Amazon Linux 執行個體,以取得套件儲存庫中的最新變更。

    sudo yum update -y
  3. 安裝 awslogs 套裝服務。這是在 Amazon Linux 執行個體上安裝 awslogs 的建議方法。

    sudo yum install -y awslogs
  4. 編輯 /etc/awslogs/awslogs.conf 檔案來設定要追蹤的日誌。如需編輯此檔案的詳細資訊,請參閱 CloudWatch Logs 代理程式參考

  5. 根據預設,/etc/awslogs/awscli.conf 會指向 us-east-1 區域。若要將您的日誌推送至不同的區域,請編輯 awscli.conf 檔案並指定該區域。

  6. 啟動 awslogs 服務。

    sudo service awslogs start

    如果您執行的是 Amazon Linux 2,請使用下列命令來啟動 awslogs 服務。

    sudo systemctl start awslogsd
  7. (選用) 針對啟動服務時記錄的錯誤,核取 /var/log/awslogs.log 檔案。

  8. (選用) 執行以下命令以在每次系統啟動時啟動 awslogs 服務。

    sudo chkconfig awslogs on

    如果您執行的是 Amazon Linux 2,請使用在每個系統啟動時的下列命令來啟動服務。

    sudo systemctl enable awslogsd.service
  9. 您應會在代理程式執行幾分鐘後,在 CloudWatch 主控台中看到新建立的日誌群組和日誌串流。

    如需詳細資訊,請參閱 檢視傳送至 CloudWatch 記錄的記錄檔資料

在現有的 Ubuntu 伺服器、CentOS 或紅帽執行個體上安裝及配置 CloudWatch 記錄

如果您使用的是執行 Ubuntu 伺服器、CentOS 或 Red Hat 的 AMI,請使用下列程序在您的執行個體上手動安裝 CloudWatch 記錄代理程式。

  1. 連線至 EC2 執行個體。如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的連線至您的執行個體

    如需連線問題的詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的連線到執行個體的故障診斷

  2. 使用兩個選項之一執行 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

    您可以藉由指定美國東部 -1、美國西部 -1、美國西部 -2、偏南 -1、AP-東南 -2、AP-東南 -1、AP-東南 -1 或東南 -1 區域來安裝 CloudWatch 記錄代理程式。

    注意

    如需 awslogs-agent-setup 目前版本與版本歷史記錄的更多資訊,請參閱 CHANGELOG.txt

    Lo CloudWatch gs 代理程式安裝程式在安裝期間需要特定資訊 開始之前,您需要知道要監控的日誌檔及其時間戳記格式。您也應備妥下列資訊。

    項目 描述

    AWS 存取金鑰識別碼

    如果使用 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 代理程式參考

    注意

    不支援設定多個日誌來源,將資料傳送到單個日誌串流。

  3. 您應會在代理程式執行幾分鐘後,在 CloudWatch 主控台中看到新建立的日誌群組和日誌串流。

    如需詳細資訊,請參閱 檢視傳送至 CloudWatch 記錄的記錄檔資料