0

Kinesis Firehoseを使用してAmazon ESにAWSクラウドウォッチログをストリーミングしようとしています。しかし、私はESエラーログに以下のエラーが出ています。何か案が?AWSクラウドウォッチはKinesis Firehose経由でElasticSeacrhにログします

{"attemptsMade":0、 "arrivalTimestamp":1494910856979、 "errorCod e": "InvalidEncodingE xception"、 "errorMess age": "データがUTF-8でデコードできませんでした":1494911157268、 "生データ": "UTF-8" 、" attemptEndingTimestampとしてデコードすることができませんでしたH4s IAAAAAAAAADWO0QqCMBi FX2XsWiJBQ70LUW8sIYU uQmLpnxvpJttMQnz3Ztr lxzmcQj0RXNBWNMkErmk SKoTfZSrmWQLoV1fBQlW S9ZoLHrNUgFQ5u5a8XvY HrBSfM6rWumdHQpDNjtu M7vr333IPnOtZfbxG4pm jTQ5tegEIK1YvxBlEgra ZIPFFtlhgnyzOKmQQqFO zwXM5fj/HcTewAAAA ="、 "esDocumentId":null

+0

ストリームを作成する代わりにFireboseを使用しない理由はありますか? –

+0

ねえ、私はs3とESの両方にストリームしたいと思って、それを自動化するためにterraformを使っていました。私は、terraformを使って自動化し、コンソール上で利用可能な "Stream to ES"メソッドを使用する方法を見つけませんでした。あなたが持っているなら、私に知らせてください。 – Bond

+0

私はすでにServerlessを使用しているので、terraformを使用しなければならない場合、テンプレートからawsコンソールからラムダ関数を作成し、関数コードを[terraform lambda] [1]としてコピーし、 s3を作成し、作成したラムダのソースとして[cloudwatch logs subscription filter] [2]を使用します。私はTerraformに精通していませんが、これはほとんど私の推測です。 [1]:https://www.terraform.io/docs/providers/aws/r/lambda_function.html [2]:https://www.terraform.io/docs/providers/aws/r /cloudwatch_log_subscription_filter.html –

答えて

1

これは、Cloudwatchログが圧縮されている可能性が高いためです。 Firehose変換ラムダ青写真を使用して、レコードを解凍するコードを追加することができます。

関連する問題