快速入門:啟動時在 EC2 Linux 執行個體上安裝和設定 CloudWatch 記錄代理程式 - Amazon CloudWatch 日誌

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

快速入門:啟動時在 EC2 Linux 執行個體上安裝和設定 CloudWatch 記錄代理程式

提示

本節中討論的舊版 CloudWatch Logs 代理程式位於取代的路徑上。強烈建議您改用可同時收集記錄檔和指標的新整合 CloudWatch 代理程式。此外,較舊的 CloudWatch 記錄代理程式需要 Python 3.3 或更早版本,而這些版本預設不會安裝在新的EC2執行個體上。如需有關整合 CloudWatch 代理程式的詳細資訊,請參閱安裝 CloudWatch 代理程式

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

啟動時在 EC2 Linux 執行個體上安裝舊版 CloudWatch 記錄代理程式

您可以使用 Amazon 使用EC2者資料,EC2這是 Amazon 的一項功能,可在啟動時將參數資訊傳遞至執行個體,在該執行個體上安裝和設定 CloudWatch 日誌代理程式。若要將 CloudWatch 日誌代理程式安裝和組態資訊傳遞給 AmazonEC2,您可以在網路位置 (例如 Amazon S3 儲存貯體) 提供組態檔案。

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

先決條件

建立代理程式設定檔,其會描述您的所有日誌群組和日誌串流。這是一個文字檔案,其會描述要監控的日誌檔以及日誌群組和將要它們上傳至其中的日誌串流。代理程式會消耗此組態檔案,並開始監控和上傳所述的所有日誌檔。如需代理程式組態檔案中設定的詳細資訊,請參閱 CloudWatch 記錄用戶端參考

以下是適用於 Amazon Linux 2 的代理程式組態檔案範例

[general] state_file = /var/lib/awslogs/state/agent-state [/var/log/messages] file = /var/log/messages log_group_name = /var/log/messages log_stream_name = {instance_id} datetime_format = %b %d %H:%M:%S

以下是適用於 Ubuntu 的範例代理程式組態檔案。

[general] state_file = /var/awslogs/state/agent-state [/var/log/syslog] file = /var/log/syslog log_group_name = /var/log/syslog log_stream_name = {instance_id} datetime_format = %b %d %H:%M:%S
設定您的 IAM 角色
  1. 在開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 在導覽窗格中選擇 Policies (政策)、Create Policy (建立政策)。

  3. Create Policy (建立政策) 頁面上,針對 Create Your Own Policy (建立您自己的政策),選擇 Select (選取)。如需有關建立自訂政策的詳細資訊,請參閱 Amazon EC2使用者指南EC2中的 Amazon IAM策。

  4. Review Policy (檢閱政策) 頁面上的 Policy Name (政策名稱) 中,輸入該政策名稱。

  5. Policy Document (政策文件) 中,貼上以下政策:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::myawsbucket/*" ] } ] }
  6. 選擇 建立政策

  7. 在導覽窗格中,選擇 Roles (角色)Create New Role (建立新角色)

  8. Set Role Name (設定角色名稱) 頁面上,輸入該角色的名稱,然後選擇 Next Step (下一步)

  9. 在 [選取角色類型] 頁面上,選 Amazon 旁邊的選取EC2。

  10. Attach Policy (連接政策) 頁面上的表格標頭中,選擇 Policy Type (政策類型)Customer Managed (客戶受管理)

  11. 選取您建立的IAM策略,然後選擇 [下一步]。

  12. 選擇建立角色

    如需有關使用者和策略的詳細資訊,請參閱使IAM用IAM者指南中的使用者和群組管理IAM策略

啟動新執行個體並啟用 CloudWatch 記錄
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 選擇 Launch Instance (啟動執行個體)

    如需詳細資訊,請參閱 Amazon EC2 使用者指南中的啟動執行個體

  3. 步驟 1:選擇 Amazon Machine 映像 (AMI) 頁面上,選取要啟動的 Linux 執行個體類型,然後在步驟 2:選擇執行個體類型頁面上,選擇下一步:設定執行個體詳細資訊

    確保雲初始化包含在您的 Amazon 機器映像(AMI)中。Amazon LinuxAMIs,並AMIs為 Ubuntu 和RHEL已經包括雲初始化,但 CentOS 和其他 AMIs AWS Marketplace 可能不會。

  4. 在 [步驟 3:設定執行個體詳細資訊] 頁面上,針對IAM角IAM色,選取您建立的角色。

  5. Advanced Details (進階詳細資訊),針對 User data (使用者資料) 將以下指令碼貼到方塊中。然後,透過將 -c 選項的值變更為代理程式組態檔案的位置來更新該指令碼:

    #!/bin/bash curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O chmod +x ./awslogs-agent-setup.py ./awslogs-agent-setup.py -n -r us-east-1 -c s3://amzn-s3-demo-bucket/my-config-file
  6. 對執行個體進行其他變更、檢閱啟動設定,然後選擇 Launch (啟動)。

  7. 代理程式執行一段時間後,您應該會在 CloudWatch 主控台中看到新建立的記錄群組和記錄資料流。

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