码迷,mamicode.com
首页 > 其他好文 > 详细

AWS Athena 分析日志

时间:2019-01-02 12:46:10      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:RoCE   lin   src   time   entity   contex   hang   51cto   sha   

AWS里面可以用Athena来分析S3里面保存的日志,他把日志转换成数据库表的格式,这样就可以通过sql语句进行查询了。这个功能和在windows服务器上用logparser来分析Exchange或者IIS的日志很相似。

下面做个演示,通过Cloudtrail记录管理日志,然后通过Athena来查询日志内容。

首先选择CloudTrail, CloudTrail 是一个日志记录的服务,他和cloudwatch的区别在于这个服务更多是侧重于审计,他的内容都是关于什么时候,什么账号,从什么IP上进行了什么操作。

技术分享图片

点击 Create Trail

技术分享图片

取个名字, 创建一个新的S3 bucket来保存日志

技术分享图片

创建好之后可以看见他自动已经在记录最新的日志了

技术分享图片

然后选择 Athena

技术分享图片

跳过向导,直接进入查询器的编辑器,这里是编辑SQL语句的地方。这里我直接创建一个的数据库

技术分享图片

下面来创建一个表,从指定的S3 Bucket里面获取数据。
我们可以通过向导创建,但是比较繁琐

技术分享图片

比较容易的是通过脚本创建,注意最后一行S3存储桶的地址

CREATE EXTERNAL TABLE cloudtrail_logs (
eventversion STRING,
useridentity STRUCT<
               type:STRING,
               principalid:STRING,
               arn:STRING,
               accountid:STRING,
               invokedby:STRING,
               accesskeyid:STRING,
               userName:STRING,
sessioncontext:STRUCT<
attributes:STRUCT<
               mfaauthenticated:STRING,
               creationdate:STRING>,
sessionissuer:STRUCT<  
               type:STRING,
               principalId:STRING,
               arn:STRING, 
               accountId:STRING,
               userName:STRING>>>,
eventtime STRING,
eventsource STRING,
eventname STRING,
awsregion STRING,
sourceipaddress STRING,
useragent STRING,
errorcode STRING,
errormessage STRING,
requestparameters STRING,
responseelements STRING,
additionaleventdata STRING,
requestid STRING,
eventid STRING,
resources ARRAY<STRUCT<
               ARN:STRING,
               accountId:STRING,
               type:STRING>>,
eventtype STRING,
apiversion STRING,
readonly STRING,
recipientaccountid STRING,
serviceeventdetails STRING,
sharedeventid STRING,
vpcendpointid STRING
)
ROW FORMAT SERDE ‘com.amazon.emr.hive.serde.CloudTrailSerde‘
STORED AS INPUTFORMAT ‘com.amazon.emr.cloudtrail.CloudTrailInputFormat‘
OUTPUTFORMAT ‘org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat‘
LOCATION ‘s3://mycloudtrailbucket-faye/AWSLogs/757250003982/‘;

技术分享图片

创建表成功的样子

技术分享图片

下面我们可以进行一个简单的查询,结果如下。

技术分享图片

AWS Athena 分析日志

标签:RoCE   lin   src   time   entity   contex   hang   51cto   sha   

原文地址:http://blog.51cto.com/beanxyz/2337746

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!