aws ec2时间_基于AWS托管服务日志收集分析
应用系统日志的手机分析对于运维来说是至关重要的。通常企业会采用ELK的方案来收集web服务器的日志,而本次我们将使用AWS托管的服务搭建另外一种收集web服务器日志的方式:AWS Kinesis Firehose+ AWS Elasticsearch Service +Kibana。
此次测试使用cloudformation 模板,快速完成一下工作:
1):准备AWS ES集群
2):准备EC2实例,并在实例上通过yum方式安装http以及AWS kinesis agent
3):创建ELB(经典模式)
4):创建 ES索引和相应的日志对应关系
5)创建Amazon Kinesis Firehose发送系统
6):创建所有的IAM角色以及相应的权限规则
下面开始进行操作:
登录控制台,进入cloudformation服务中心,选择创建堆栈,然后选择上Amazon S3 URL,进入下一步

当前步骤中,填写所需的信息:堆栈名称自定义;参数这里,本次测试选择的实例类型为t2.micro,ssh登录key文件,允许登录ssh的网端及web服务器的端口,填写完成后进入下一步,如图所示:

配置堆栈项的步骤,可以对创建的资源添加标签,其他配置默认即可,然后进入下一步,如图所示:

审核步骤里可以核对上述几步的信息,如果都填写正确,可以直接选择创建堆栈,开始创建EKK资源。创建时间较长,待显示创建完成后可以进入下一步操作。

登录创建好的实例上,配置kinesis agent。配置文件的路径为/etc/aws-kinesis/agent.json,将在cloudformation创建的堆栈中的输出列表中,获取kinesis firehose的ID,填写到agent.json文件中,如果所示:


- 配置完成过后使用 service aws-kinesis-agent restart重启kinesis-agent客户端,
- 查看负载均衡器的地址,多次使用浏览器访问,增加web服务器的访问记录
- 在Amazon Elasticsearch Service控制面板中,进入创建好的ES域中,找到kibana的登录地址,并用浏览器访问

进入kinbana控制台,按照如果所示配置索引,然后选择创建;

在Discover界面中可以看到之前在浏览器访问的记录,如果所示:

到此,使用AWS托管的服务,统计web服务器的访问日志配置完成。
注:
- 此次测试用的模板中,实例的类型只有t系列,可以对模板中的实例类型配置进行修改
- 模板创建的ELB为经典模式,如果是生产环境,创建完成后可以将起迁移至ALB的模式
- 实例安装的web服务为apache,可以根据自己的需求,更改为自己所使用后的,如ngnix,并对相应的目录权限进行修改。如所收集的日志的目录权限的属组和属主应该为aws-kinesis-agent-user;agent.json中的filePattern要修改成相应的web服务的路径。
本文由光环云SA团队原创,转载请注明作者及出处。需要更多AWS实操指南电子书,以及AWS认证考试资料,请联系光环云社群管理员索取。
