具有多个基本身份验证用户的 logstash http 输入
logstash http input with multiple basic auth users
我想设置一个具有多个 users/passwords 的 logstash 管道,并使用不同的用户名将输出定向到不同的 elasticsearch 索引,其中每个用户名都可以 read/write 访问特定索引,因此可以使用相同的凭据也用于 Kibana。像 -
input {
http {
host => "0.0.0.0"
port => 5000
user => "user1","user2"
password => "password1","password2"
}
}
output {
if[user] == "user1" {
elasticsearch {
id => "elastic1"
hosts => ["localhost:9200"]
index => "index1"
user => "user1"
password => "password1"
}
}
else if[user] == "user2" {
elasticsearch {
id => "elastic2"
hosts => ["localhost:9200"]
index => "index2"
user => "user2"
password => "password2"
}
}
}
这可能吗?我错过了什么?
Logstash 支持基本身份验证,但每个 HTTP 插件实例只接受一个用户名密码。它不支持传递用户名/密码列表:
http {
port => 3332
user => myuser
password => "$tr0ngP4ssWD!"
ssl => on
keystore => "/tmp/mykeystore.jks"
keystore_password => "keystore_pass"
}
阅读HTTP插件的官方文档:
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html#plugins-inputs-http-user
我想设置一个具有多个 users/passwords 的 logstash 管道,并使用不同的用户名将输出定向到不同的 elasticsearch 索引,其中每个用户名都可以 read/write 访问特定索引,因此可以使用相同的凭据也用于 Kibana。像 -
input {
http {
host => "0.0.0.0"
port => 5000
user => "user1","user2"
password => "password1","password2"
}
}
output {
if[user] == "user1" {
elasticsearch {
id => "elastic1"
hosts => ["localhost:9200"]
index => "index1"
user => "user1"
password => "password1"
}
}
else if[user] == "user2" {
elasticsearch {
id => "elastic2"
hosts => ["localhost:9200"]
index => "index2"
user => "user2"
password => "password2"
}
}
}
这可能吗?我错过了什么?
Logstash 支持基本身份验证,但每个 HTTP 插件实例只接受一个用户名密码。它不支持传递用户名/密码列表:
http {
port => 3332
user => myuser
password => "$tr0ngP4ssWD!"
ssl => on
keystore => "/tmp/mykeystore.jks"
keystore_password => "keystore_pass"
}
阅读HTTP插件的官方文档: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html#plugins-inputs-http-user