您好,登錄后才能下訂單哦!
AWS里面可以用Athena來分析S3里面保存的日志,他把日志轉(zhuǎn)換成數(shù)據(jù)庫表的格式,這樣就可以通過sql語句進行查詢了。這個功能和在windows服務(wù)器上用logparser來分析Exchange或者IIS的日志很相似。
下面做個演示,通過Cloudtrail記錄管理日志,然后通過Athena來查詢?nèi)罩緝?nèi)容。
首先選擇CloudTrail, CloudTrail 是一個日志記錄的服務(wù),他和cloudwatch的區(qū)別在于這個服務(wù)更多是側(cè)重于審計,他的內(nèi)容都是關(guān)于什么時候,什么賬號,從什么IP上進行了什么操作。
點擊 Create Trail
取個名字, 創(chuàng)建一個新的S3 bucket來保存日志
創(chuàng)建好之后可以看見他自動已經(jīng)在記錄最新的日志了
然后選擇 Athena
跳過向?qū)?,直接進入查詢器的編輯器,這里是編輯SQL語句的地方。這里我直接創(chuàng)建一個的數(shù)據(jù)庫
下面來創(chuàng)建一個表,從指定的S3 Bucket里面獲取數(shù)據(jù)。
我們可以通過向?qū)?chuàng)建,但是比較繁瑣
比較容易的是通過腳本創(chuàng)建,注意最后一行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/';
創(chuàng)建表成功的樣子
下面我們可以進行一個簡單的查詢,結(jié)果如下。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。