gpt4 book ai didi

amazon-web-services - 将 CloudTrail 登录到 Logstash

转载 作者:行者123 更新时间:2023-11-29 02:52:30 30 4
gpt4 key购买 nike

我正在尝试将日志从 ClouldTrail 获取到 ElasticSearch 中,以便我们可以更好地了解我们的 AWS 账户中正在发生的事情。

我已经在我的机器(Ubuntu 14.04)上设置了 Logstash 和 ElasticSearch,并且可以将文本从 stdin 推送到 ElasticSearch。但是,当我尝试使用 S3 输入时,没有任何内容添加到 ElasticSearch。

这是我使用的配置文件,我已经删除了我的亚马逊 key

input {
s3 {
bucket => 'ko-cloudtrail-log-bucket'
secret_access_key => ''
access_key_id => ''
delete => false
interval => '60'
region => 'eu-west-1'
type => 'CloudTrail'
codec => cloudtrail {}
}
}

output {
stdout {}
elasticsearch {
host => '127.0.0.1'
}
}

我已经安装了 logstash-codec-cloudtrail编解码器,但 documentation非常稀疏。

即使在使用 -v 运行 Logstash 时,我的终端也没有出现任何错误,并且没有任何内容打印到 stdout。有什么我想念的吗?

最佳答案

这是我的 cloudtrail 输入。它在解决一个小问题时效果很好——它会重复记录。如 prefix 所示,我将 cloudtrail 日志放在 s3://bucketname/cloudtrail,而不是根。

突变是可选的。 eventSource 突变是为了让日志更具可读性,而 ruby​​ ingest_time 为我提供了记录在 ELK 中出现的日期——否则,它只有事件发生的时间。最后,我删除了一条非常普通的记录,它只会给我的系统增加噪音。

input {
s3 {
bucket => "bucketname"
delete => false
interval => 60 # seconds
prefix => "cloudtrail/"
type => "cloudtrail"
codec => "cloudtrail"
credentials => "/etc/logstash/s3_credentials.ini"
sincedb_path => "/opt/logstash_cloudtrail/sincedb"
}
}

filter {
if [type] == "cloudtrail" {
mutate {
gsub => [ "eventSource", "\.amazonaws\.com$", "" ]
add_field => {
"document_id" => "%{eventID}"
}
}
if ! [ingest_time] {
ruby {
code => "event['ingest_time'] = Time.now.utc.strftime '%FT%TZ'"
}
}


if [eventSource] == "elasticloadbalancing" and [eventName] == "describeInstanceHealth" and [userIdentity.userName] == "secret_username" {
drop {}
}
}
}

credentials.ini 格式在 s3 input page 中有说明。 ;就是这样:

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=

关于amazon-web-services - 将 CloudTrail 登录到 Logstash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29819970/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com