如何使用用户名和密码将数据传输到主机

How to transfer data to a host with a username and password

我有问题。当前的问题是我想使用用户名和密码将一些数据传输到主机,但我不断收到相同的错误消息。如果你能帮上忙,我会很高兴。

我的配置文件:

input { 
   file { 
      path => "........../*.txt"
      start_position => "beginning"
      sincedb_path => "NUL" 
   }
}
filter {
............. 
}
output {
    elasticsearch { 
      hosts => "xx.xx.xxx.xxx:xxxx" 
      manage_template => false 
      index => "my_index_name"
      document_type => "my_index_name" 
      user => "my_user_name"
      password => "my_password" 
    }

错误信息:

[WARN ][logstash.outputs.elasticsearch][main] Attempted to resurrect connection to dead ES instance, but got an error {:url=>"http://elastic_user_name:xxxxxx@xx.xx.xxx.xxx:xxxx/", :exception=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError, :message=>"Got response code '403' contacting Elasticsearch at URL 'http://xx.xx.xxx.xxx:xxxx/'"}

我也对 logstash.yml 和 elasticsearch.yml 文件进行了如下更改,但我得到了同样的错误。

elasticsearch.yml: xpack.management.elasticsearch.username: my_elastic_user_name xpack.management.elasticsearch.password: my_password

logstash.yml: xpack.monitoring.elasticsearch.username: my_elastic_user_name xpack.monitoring.elasticsearch.password: my_password

收到 HTTP 403 响应代码(“禁止”)表示您的用户没有权限将数据索引到 Elasticsearch(请参阅 this answer 了解未授权 (401) 和禁止 (403) 之间的区别) .

您的用户应具有以下权限

描述了如何设置这样的角色 here

请参阅 documentation 关于安全权限的内容,以使其适应您的用例。

对于 xpack 监控,您应该使用 logstash_system built-in role.

创建一个用户

希望能帮到你