aws cloudtrail ログを kibana に取得するためのより良いソリューション実装はありますか。ここでは、AWS の ElasticSearch サービスを使用しています。
質問する
988 次
2 に答える
1
1.4.2 で使用するログスタッシュ入力を次に示します。ノイズが多いと思われますが、うまく機能します (多くの S3 GET/HEAD/LIST リクエストが必要です)。
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'"
}
}
ruby {
code => "event.cancel if (Time.now.to_f - event['@timestamp'].to_f) > (60 * 60 * 24 * 1)"
}
ruby {
code => "event['ingest_delay_hours'] = (Time.now.to_f - event['@timestamp'].to_f) / 3600"
}
# drop events more than a day old, we're probably catching up very poorly
if [ingest_delay_hours] > 24 {
drop {}
}
# example of an event that is noisy and I don't care about
if [eventSource] == "elasticloadbalancing" and [eventName] == "describeInstanceHealth" and [userIdentity.userName] == "deploy-s3" {
drop {}
}
}
}
credentials.ini 形式はs3 入力ページで説明されています。それはちょうどこれです:
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
結果を #chatops に送信する検索もありますが、ここには投稿しません。
于 2015-11-21T20:13:46.653 に答える
1
まだ試していない場合は、cloudtrail と cloudwatch ログを一緒に使用できます。次に、cloudwatch ログを使用してサブスクリプションを作成し、cloudtrail データを Elasticsearch に送信します。
これが完了すると、時間ベースの cwl* で始まるキバナ インデックスを定義できるようになります。
乾杯-
于 2015-12-20T03:26:11.893 に答える