1 CloudWatch Logs代理的先決條件
CloudWatch Logs 代理需要 Python 版本 2.7、3.0 或 3.3,以及以下任何版本的 Linux:
- Amazon Linux 2014.03.02 版或更高版本
- Ubuntu Server 版本 12.04、14.04 或 16.04
- CentOS 版本 6、6.3、6.4、6.5 或 7.0
- Red Hat Enterprise Linux (RHEL) 版本 6.5 或 7.0
- Debian 8.0
2 登陸Portal
登錄地址爲: https://console.amazonaws.cn/console/home?region=cn-north-1
3 配置IAM策略
通過以下網址打開 IAM 控制檯:https://console.aws.amazon.com/iam/
選擇角色->創建角色
選擇AWS產品 -> EC2 -> 下一步: 權限
在附件策略頁面,選擇創建策略
選擇JSON,將下列腳本複製到文本框中
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Resource": [
"arn:aws-cn:logs:::*"
]
}
]
}
輸入策略名稱,本例爲:Cloudwatchlogs,點擊創建策略
創建角色的名稱爲:cloudwatchrole
4 在現有EC2實例上應用IAM角色
在EC2的dashboard,選擇相應的虛擬機,點擊上面的操作->實例設置->附件/替換IAM角色
選擇步驟3中創建角色,並點擊應用
5 在現有EC2實例上安裝配置CloudWatch Logs
登陸Linux EC2虛擬機,並執行一下命令
#sudo yum install -y awslogs
編輯 /etc/awslogs/awscli.conf文件以配置要跟蹤的日誌。如下:
[plugins]
cwlogs = cwlogs
[default]
region = cn-northwest-1
其中,cn-northwest-1爲寧夏區,cn-north-1爲北京區。
編輯 /etc/awslogs/awslogs.conf 文件以配置要跟蹤的日誌。如下:
[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 5000
log_stream_name = test
initial_position = start_of_file
log_group_name = /var/log/messages
其中,
[/var/log/messages],爲日誌流的名稱,用於區別配置文件流
file = /var/log/messages,發送到Cloudwatch的日誌源
log_stream_name = test,發送到cloudwatch對應的流,test爲流名稱
log_group_name = /var/log/messages,發送到cloudwatch對應的日誌組,/var/log/messages爲日誌組名稱。
啓動 awslogs 服務。
#sudo service awslogs start
在每次系統啓動時運行以下命令以啓動 awslogs 服務。
#sudo chkconfig awslogs on
6 在控制檯查看日誌記錄
在Cloudwatch頁面中,選擇日誌 -> 操作 -> 創建日誌組
輸入日誌組的名稱:/var/log/messages
點擊創建的日誌組
點擊創建日誌流
輸入日誌流的名稱:test
7 在控制檯查看日誌記錄
訪問相應區域的cloudwatch,進入日誌組中的相應的流中,可以看到剛纔打出的日誌:
可以輸入關鍵詞來查找相應的日誌,如error,warning等。