3

そこで、2 インスタンスの Amazon Elasticsearch クラスターをスピンアップしました。

logstash-output-amazon_esプラグインをインストールしました。これは私のlogstash構成ファイルです:

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
    }
}

今、私は自分の端末からこれを実行しています:

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

エラーが発生します:

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

私は何か完全に間違っていると思います。基本的に、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

    }
}
4

3 に答える 3

2

AccessKeys なしで AWS Elasticsearch と一緒に logstash を実行できました。ES サービスでポリシーを構成しました。

プラグインが機能しないサービスとしてlogstashを開始する場合、logstashを手動で開始する場合はキーなしで機能しました。

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

于 2016-06-16T06:49:31.437 に答える