Amazon S3 バケットで生成されたログを読み取るように logstash を設定しようとしましたが、成功しませんでした。以下は詳細です:
- ec2 インスタンスに logstash をインストールしました
- ログはすべて s3 バケット内の gz ファイルです
- conf ファイルは次のようになります。
入力 { s3 { access_key_id => "MY_ACCESS_KEY_ID" バケット => "MY_BUCKET" 地域 => "MY_REGION" secret_access_key => "MY_SECRET_ACESS_KEY" プレフィックス => "/" タイプ => "s3" add_field => { ソース => gzfiles } } } フィルター { [タイプ] == "s3" { csv { 列 => [ 「日付」、「時刻」、「x-edge-location」、「sc-bytes」、「c-ip」、「cs-method」、「Host」、「cs-uri-stem」、 「sc-status」、「Referer」、「User-Agent」、「cs-uri-query」、「Cookie」、「x-edge-result-type」、「x-edge-request-id」] } } if([メッセージ] =~ /^#/) { 落とす{} } } 出力 { エラスティックサーチ { ホスト => "ELASTICSEARCH_URL" プロトコル => "http" } }