harue
(harue)
September 3, 2019, 1:35am
1
Logstash→S3に関して質問させて頂きます。
▼実現したいこと
Logstashのoutputプラグインを使ってS3にデータ転送
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-s3.html
Logstashバージョン:7.3
config設定値
input {
file{
path => "XXX/XXX.log"
start_position => "beginning"
}
}
output {
s3 {
proxy_uri => "XXX"
endpoint => "https://bucket.resion.amazonaws.com"
access_key_id => "XXXD"
secret_access_key => "XXX"
region => "XXX"
bucket => "XXX"
prefix => "XXX/%{+YYYY}/%{+MM}/%{+dd}"
validate_credentials_on_root_bucket => false
}
}
▼質問
上記設定で起動するとエラーが発生します。
Uploading failed, retrying. {:exception=>Seahorse::Client::NetworkingError,
:message=>"execution expired",
:path=>"/tmp/logstash/XXX/XXX/2019/09/02/XXX.part0.txt",
:backtrace=>["org/jruby/ext/socket/RubyTCPSocket.java:119:in `initialize'",
"org/jruby/RubyIO.java:1155:in `open'",
"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:941:in `block in connect'",
"org/jruby/ext/timeout/Timeout.java:99:in `timeout'",
"org/jruby/ext/timeout/Timeout.java:75:in `timeout'",
"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:939:in `connect'",
"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:924:in `do_start'",
"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/http.rb:919:in `start'",
"uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/delegate.rb:83:in `method_missing'",
Logstashの設定に問題はありますでしょうか?
分かる方がいらっしゃいましたら回答をお願いいたします。
tsgkdt
(tsgkdt)
September 3, 2019, 6:02am
2
こんにちわ。
endpointは、regionを指定していれば、自動的に求まるので不要かと思います。
By default it is constructed using the value of region
. This is useful when connecting to S3 compatible services, but beware that these aren’t guaranteed to work correctly with the AWS SDK.
もし、このendpointの設定値をそのままお使いでしたら、接続できないのでタイムアウトになるかと思います。
(リージョンのスペルも違いますし)
手元の環境で、https://bucket.resion.amazonaws.com
を使ってやってみたときもタイムアウトエラーになりました。
またendpointを指定せず、regionに存在しない値を入れてもタイムアウトになりました。
↓ 存在しないregionを指定する -> 繋げないendpointの値となる -> タイムアウト の例
s3 {
#proxy_uri => "http://localhost:8889"
#endpoint => "https://bucket.resion.amazonaws.com"
access_key_id => "***************"
secret_access_key => "****************************"
region => "ap-northeast-12345"
bucket => "hogehoge"
prefix => "barbar/%{+YYYY}/%{+MM}/%{+dd}"
validate_credentials_on_root_bucket => false
}
このことから、endpoint、regionの設定を見なおしていただくと良いのではないかと考えました。
ご参考になれば幸いです。
harue
(harue)
September 4, 2019, 7:36am
3
回答頂きありがとうございます。
endpointをコメントアウト、regionの設定が正しいことを確認の上再度実行しましたが、
同様のエラーになりました…
LogstashからS3に接続する上で、config以外で設定が必要な箇所があれば教えて頂けますでしょうか。(logstash.yml等)
お手数ですが、もし分かれば教えて頂けますと大変助かります。
tsgkdt
(tsgkdt)
September 5, 2019, 1:40am
4
logstashの設定ファイル以外では、特に必要となる箇所はないと思っておりますが...
同様の内容でお困りの方もいらっしゃるようですが、解決には至っていないようです。
I am new to Logstash. I am using version 1:5.0.0-1 on a Amazon Linux EC2 instance and trying to upload a file to S3 using the example config:
input {
file {
path => "/tmp/log.txt"
start_position => "beginning"
}
}
output {
s3 {
access_key_id => "my_secret_key"
secret_access_key => "my_secret_access_key"
region => "ap-southeast-2"
bucket => "my_bucket"
size_file => "2048"
time_file => "1"
server_side_encryption => "true"
canned_acl => "public_read_write"
}
}
I keep getting th…
他の環境でも再現できるような条件はありますか?
データの量やlogstashを動かしている環境logstash、s3側で行っている設定などの情報があれば、
他にピンとくる方がいらっしゃるかもしれませんので、何らかのヒントがあればと思います。
harue
(harue)
September 6, 2019, 6:09am
5
ご連絡頂きありがとうございます。
以下回答します。
もし何か分かればお手数ですが、ご教示お願いします。
データ量:
1ファイル1行のデータです。
Logstashを動かしている環境:
CentOS 7.3,CPU 4v, Memory 8GB,ディスク 80GB
logstash側で行っている設定:
config…「endpoint 」を除いた上記内容
logstash.yml…コメントアウトしているのは「Data path」のみです。それ以外はコメントのままです
s3側で行っている設定:
・ブロックパブリックアクセス…全てオフ
・アクセスコントロールリスト…バケット所有者のアクセス権のみでパブリックアクセスの設定無
・バケットポリシー は以下を設定
{
"Version": "2012-10-17",
"Id": "PolicyXXXXXXXXXXXXXXX",
"Statement": [
{
"Sid": "XXXXXXXXXXXXXXXX",
"Effect": "Allow",
"Principal": "",
"Action": "s3: ",
"Resource": "arn:aws:s3:::<バケット名>/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "<送り元のIPアドレス>"
}
}
}
]
}
Logstashのサービス起動ではなく、curlコマンドで対象バケットにデータをPUTしたところ正常に処理されました。そのためS3の設定は問題ない想定です。
system
(system)
Closed
October 4, 2019, 6:09am
6
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.