快速入門 安裝並配置 CloudWatch Logs 運行ec2Linux實例上的代理 - Amazon CloudWatch Logs

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

快速入門 安裝並配置 CloudWatch Logs 運行ec2Linux實例上的代理

提示

CloudWatch 會包含新的統一代理程式,其可從 EC2 執行個體和現場部署伺服器同時收集日誌和指標。如果您尚未使用較舊的 CloudWatch Logs 代理程式,我們建議您使用較新的統一 CloudWatch 代理程式。如需更多詳細資訊,請參閱「CloudWatch Logs 入門」。

此章節的其他部分說明較舊 CloudWatch Logs 代理程式的使用方式。

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

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

除了使用代理程式,您也可以使用 AWS CLI、CloudWatch Logs 開發套件或 CloudWatch Logs API 發佈日誌資料。AWS CLI 最適合在命令列或透過指令碼發佈資料。CloudWatch Logs 開發套件最適合直接從應用程式發佈日誌資料或建置自己的日誌發佈應用程式。

步驟 1:配置您的 IAM 角色或用戶 CloudWatch Logs

CloudWatch Logs 代理程式支援 IAM 角色和使用者。如果您的執行個體已有與其相關聯的 IAM 角色,確保您包含以下的 IAM 政策。如果您沒有指派給執行個體的 IAM 角色,就可以在後續步驟使用 IAM 登入資料,或可以將 IAM 角色指派給該執行個體。如需詳細資訊,請參閱將 IAM 角色連接到執行個體

設定適用於 CloudWatch Logs 的 IAM 角色或使用者

  1. 開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

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

  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. 安裝和配置 CloudWatch Logs 現有的 Amazon EC2 實例

安裝 CloudWatch Logs 代理程式的程序會因 Amazon EC2 執行個體執行的是 Amazon Linux、Ubuntu、CentOS 或 Red Hat 而有所不同。使用適用於您執行個體上 Linux 版本的步驟。

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

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

警告

如果您之前已使用 Python 指令碼來安裝代理程式,請勿使用 RPM 安裝方法來更新 CloudWatch Logs 代理程式。這可能會導致組態問題,其會讓 CloudWatch Logs 代理程式無法將您的日誌傳送到 CloudWatch。

  1. 連接到您的 Amazon Linux 執行個體。如需詳細資訊,請參閱《https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html》中的Linux 執行個體的 Amazon EC2 使用者指南連接至執行個體

    如需連線問題的詳細資訊,請參閱 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html 中的Linux 執行個體的 Amazon EC2 使用者指南對您的執行個體連線進行疑難排解

  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 Logs 的日誌資料」。

在現有的 Ubuntu Server、CentOS 或 Red Hat 執行個體上安裝和設定 CloudWatch Logs

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

  1. 連結到您的 EC2 執行個體。如需詳細資訊,請參閱《https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html》中的Linux 執行個體的 Amazon EC2 使用者指南連接至執行個體

    如需連線問題的詳細資訊,請參閱 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html 中的Linux 執行個體的 Amazon EC2 使用者指南對您的執行個體連線進行疑難排解

  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

    您可以透過指定 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, or 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, or sa-east-1。​

    預設輸出格式

    保留空白並按 Enter 鍵。

    要上傳的日誌檔路徑

    包含要傳送之日誌資料的檔案位置。安裝程式會為您建議路徑。

    Destination Log Group 名稱

    您的日誌群組名稱。安裝程式會為您建議日誌群組名稱。

    Destination Log Stream 名稱

    在預設情況下,此為主機名稱。安裝程式會為您建議主機名稱。

    時間戳記格式

    指定在指定日誌檔中的時間戳記格式。選擇自訂以指定您自己的格式。

    起始地位

    如何上傳資料。將此設為 start_of_file 以上傳資料檔案中的所有項目。設定為 end_of_file 以只上傳新附加的資料。

    在您完成這些步驟後,安裝程式會要求設定另一個日誌檔。您可以對每個日誌檔以您想要的次數多次執行程序。如果您已經沒有任何要監控的日誌檔,請在安裝程式提示您設定另一個日誌時選擇 N (否)。如需代理程式組態檔案中設定的詳細資訊,請參閱 CloudWatch Logs 代理程式參考

    注意

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

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

    如需更多詳細資訊,請參閱「檢視傳送到 CloudWatch Logs 的日誌資料」。