提问

#楼主# 2019-12-2

跳转到指定楼层
关键词:ElasticSearch、vpc流日志、CloudWatch日志
适读水平:有一定AWS基础
适读职业:运维、运营管理
应用场景:ElasticSearch日志分析
流程架构图
image1.png
步骤1 创建Elasticsearch
登录Elasticsearch控制台
image2.png
点击“创建新域”,基本都是默认设置,填写ES域名称
image3.png
其他都可以默认设置,“下一步”,
为了方便设置访问权限“公有访问权限”,
image4.png
访问策略设置“允许对域进行公开访问”,
image5.png
注意:通常情况下应该选择“允许从特定ip访问域”,但是在测试过程中总是在访问kinana的时候报错"User: anonymous is not authorized to perform: es:ESHttpGet",报错的解决方案可以参考官网文档 https://docs.aws.amazon.com/zh_cn/elasticsearch-service/latest/developerguide/aes-handling-errors.html ,最简单的解决办法就是允许公开访问,故本次操作实践配置为允许公开访问。继续“下一步”,都采用默认设置,点击“确认”,成功创建ES域。 image6.png
步骤2 创建CloudWatch日志组
切换到CloudWatch控制台,选择日志栏
image7.png
image8.png
点击“创建日志组”,填写日志组名称,完成日志组创建,如下图所示:
image9.png
点击创建的日志组log-vpcflow进去,查看其内容
image10.png
因为目前还没有日志进来,所以为空,接下来就是要产生日志。
步骤3 开启VPC flow log
  本节需要做两个工作:1)vpc flow log的产生,我们在vpc里面创建一个ec2实例即可;2)将vpc flow log 推送到CloudWatch日志组。
1)新创建一个ec2实例,基本操作,省略。
image11.png
2)开启vpc flow log并配置
切换到vpc控制台,选择“您的VPC”栏
image12.png
在当前区域,有两个vpc,一个默认vpc,一个是我自己创建的VPC(通常我都使用自己创建的VPC),之前的ec2实例也是在这个“vpc-xuyi”中,所以选中该VPC,在厦门可以看到有4个tab栏目,选择其中“flow logs”
image13.png
点击“create flow log”,开始创建vpc 流日志,
image14.png
其中,过滤器选择“all”,目标选择“send to CloudWatch logs”,在目标日志组选择在步骤2中创建的日志组“log-vpcflow”,现在还需要配置IAM角色,点击蓝色字体的“set up permission”
image15.png
这是使用向导默认配置的权限,我们无需进行修改,点击“允许即可”,即创建一个角色“flowlogsRole”,我们可切换到IAM控制台查看该角色
image16.png
Ok,现在我们需要重新回到之前未完成的流程,进入VPC控制台->选择合适的vpc->创建vpc流日志->配置角色
image17.png
点击“create”
image18.png
Vpc flow log创建完成。
再切换到CloudWatch控制台,进入我们创建的日志组中,可以看到在日志组“log-vpcflow”
中有一条流日志
image19.png
  注意:此处流日志出现可能需要等待一段时间,点击右边的刷新图标,多刷几次吧,时间不好说,可能有好几分钟也可能很快,总之耐心等待吧。
我们可以点击流日志进去查看(其实也没什么好看的)
image20.png
步骤4 配置CloudWatch日志组
现在还需要将CloudWatch日志组的日志传到ElasticSearch域中,还是在之前创建的日志组界面
image21.png
选择“流式传输到ES”
image22.png
选择账号“此账户”,ES集群选择之前创建的ES域“es-vpc-log”,lambda角色选择“创建IAM角色”
image23.png
这里也是配置向导给出的默认角色,直接允许就行,将会创建一个相应的角色
image24.png
允许之后,在角色部分已经选择好了刚刚创建的角色,点击“下一步”
image25.png
日志格式选择“vpc流日志”,点击“下一步”,一路确认即可
image26.png
最后可以看到我们的cloudwatch日志组已经被一个lambda函数订阅,该函数将我们的日志流式传输到ES域。我们也可以进入lambda控制台看看该函数的架构内容(不想看就不用进去看了,嘿嘿)
image27.png
那么上图这个lambda函数就是我们通过使用向导创建的,这就是向导的好处了,代码我也不懂。
步骤5 监控vpc flow log
切换到Elasticsearch控制台,选中我们创建的域
image28.png
选择“索引”
image29.png
其中的“cwl-2019.11.07”就是收集到的vpc流日志,命名中包含了2019年11月7日。
再选择“概述”页
image30.png
点击“kibana”后的链接,进入kibana页面
image31.png
页面刷新时间较长,等吧,在上图中选择左侧的“管理”图标
image32.png
选择“index patterns”
image33.png
这里的索引就是在前面我们看到的那条日志“cwl-2019.11.07”,将该索引填入index pattern字段,点击“下一步”,就会看到将索引的结构列出来了
image34.png
再选择左侧的“发现”图标
image35.png
  到此为止,我们就已经实现了对vpc flow log的监视,并且可以通过Elasticsearch的kibana工具来对日志进行可视化的展现。Kibana本身是一个强大的可视化工具,本人对此也不甚了解,所以无法给出更进一步的指导。各位有兴趣可以通过其dashboard来进行可视化展现。谢谢!

转播转播
回复

使用道具

联系楼主
*
*
客户公司所在区域:
*
产品:
*
简述客户的业务场景和需求
*
*
*

成为第一个回答人

B Color Link Quote Code Smilies
光环云社区 |京ICP备18044167号-13|

京公网安备 11010102003758号