目录
1. 环境资源准备
1.1 EC2参考文档
在CloudWatch接收日志前需要先准备好一台us-west-1的EC2,系统版本是Linux。
关于如何连接EC2可以参考:Connect to your Linux instance
关于Putty使用可以参考:Connect to your Linux instance from Windows using PuTTY
1.2 EC2配置IAM角色
1) 进入到EC2的管理控制台,可以看到这台EC2是没有分配IAM角色的,所以现在我们要为它分配IAM角色,以便后面集成CloudWatch。
2) 进入IAM控制台搜索CloudWatchAgentServerPolicyIAM控制台。
下一步,然后这里我命名为CloudWatchAgentServerRole。
3) 然后回到EC2控制台修改IAM role,选择刚刚新建的IAM role。
1.3 EC2安装和配置CloudWatch logs代理
1) EC2安装cloudwatch logs 代理,cli中输入:yum install -y awslogs
2) 对 CloudWatch Logs 代理进行配置。
先来到awslogs配置文件的目录 /etc/awslogs/
输入:cat awslogs.conf
可以看到现在默认的日志组是/var/log/messages
住的注意的是,其中的file可以指向一个特定文件或多个文件(使用通配符比如/app/logs/myapp.log*),要指定多个类型的文件,要在配置文件中再添加一个日志流条目,让每一种日志文件转到不同的日志流。
更详细的参数解释可以参考:awslog.conf
3) 启动CloudWatch logs代理。
输入:systemctl start awslogsd
2. 查看CloudWatch 日志组
回到CloudWatch控制台,可以看到/var/log/messages以及file指定的日志内容,这个日志组就是之前我们在CloudWatch Logs 代理配置文件awslogs.conf中那个默认的日志组。
如果还需要将应用程序日志内容推送至cloudwatch,只需要在这里新增配置内容,将应用程序日志内容配置成推送至不同名称的日志组,比如applications日志组。这样的话就可以针对不同的日志组分配权限,比如应用程序日志组分配给对应研发权限,方便研发人员排查BUG;而系统messages日志组,可以将其查看权限分配给对应运维人员。通过将不同的日志内容推送到不同的日志组然后将查看不同的日志组权限分配给不同的人员,这是一个很好的实践。
注:
1. SSH登录上EC2之后需要切换成root的话可以重置密码,输入:sudo passwd root