AWSAthena分析日志

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

创新互联公司是一家集网站建设,正安企业网站建设,正安品牌网站建设,网站定制,正安网站建设报价,网络营销,网络优化,正安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

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

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

AWS Athena 分析日志

点击 Create Trail

AWS Athena 分析日志

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

AWS Athena 分析日志

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

AWS Athena 分析日志

然后选择 Athena

AWS Athena 分析日志

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

AWS Athena 分析日志

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

AWS Athena 分析日志

比较容易的是通过脚本创建,注意最后一行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>,
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 分析日志

创建表成功的样子

AWS Athena 分析日志

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

AWS Athena 分析日志


文章标题:AWSAthena分析日志
文章来源:http://ybzwz.com/article/geeohs.html