1

私は2インスタンスのAmazon Elasticsearchクラスタをスピンアップしました。logstashを使用してamazon elasticsearchにデータをストリームする?

logstash-output-amazon_esプラグインがインストールされています。私は、私は完全に間違って何かを持っていると思います

Failed to install template: undefined method `credentials' for nil:NilClass {:level=>:error} 

/usr/local/opt/logstash/bin/logstash -f apache_logstash.conf 

私はエラーを取得する:

input { 
    file { 
     path => "/Users/user/Desktop/user/logs/*" 
    } 
} 

filter { 
    grok { 
    match => { 
     "message" => '%{COMMONAPACHELOG} %{QS}%{QS}' 
    } 
    } 

    date { 
    match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ] 
    locale => en 
    } 

    useragent { 
    source => "agent" 
    target => "useragent" 
    } 
} 

output { 
    amazon_es { 
     hosts => ["foo.us-east-1.es.amazonaws.com"] 
     region => "us-east-1" 
     index => "apache_elk_example" 
     template => "./apache_template.json" 
     template_name => "apache_elk_example" 
     template_overwrite => true 
    } 
} 

今私は、端末からこれを実行しています:これは私のlogstash設定ファイルです。基本的に、私はちょうどlogstashを介して私のamazon elasticsearchクラスタにいくつかのダミーログ入力を供給したいです。私はどのように進めるべきですか?

編集ストレージタイプは、インスタンスで、アクセスポリシーは、すべてにアクセス可能に設定されています。

編集

output { 
    elasticsearch { 
     hosts => ["foo.us-east-1.es.amazonaws.com"] 
     ssl => true 
    index => "apache_elk_example" 
     template => "./apache_template.json" 
      template_name => "apache_elk_example" 
      template_overwrite => true 

    } 
} 

答えて

1

次の2つのパラメータを提供する必要があります。それらは、オプションとして記述されているにもかかわらず

  • aws_access_key_id
  • aws_secret_access_key

をパラメータには、コードにone commentがあります。

+0

おそらくログオンの問題ではなく、AWS IAM側のセキュリティ設定が間違っている可能性が高いです。 – Val

+0

ええ、私はそれを理解しようとしています。その間、私は* elasticsearch *出力プラグインを使用することを考えました。*接続タイムアウト{:class => "Manticore :: ConnectTimeout"、:level =>:error}あなたが何かを提案することができる場合のための編集として。 – PuRaK

+0

コメントを更新します。これは修正されており、インスタンスプロファイルを使用して多くの顧客が資格を解決しています – dejavu013

2

私はAccessKeysを使わずにAWS Elasticsearchと一緒にlogstashを実行できました。私は、ESサービスでpolicieを設定しました。

logstashを手動で起動するとキーなしで動作します。サービスとしてlogstashを起動すると、プラグインは動作しません。

https://github.com/awslabs/logstash-output-amazon_es/issues/34

3

私も同じ問題に直面し、私は、ホスト名の後にポートを言及することによってそれを解決しました。 これは、ホスト名hosts => ["foo.us-east-1.es.amazonaws.com"]foo.us-east-1.es.amazonaws.com:9200を指し、aws elasticsearchの場合のデフォルトポートではないために発生します。したがって、ホスト名をfoo.us-east-1.es.amazonaws.com:80に変更することで問題は解決します。

関連する問題