elasticsearch - 具有多个基本身份验证用户的 logstash http 输入
问题描述
我想设置一个具有多个用户/密码的logstash管道,并使用不同的用户名将输出定向到不同的elasticsearch索引,其中每个用户名都具有对特定索引的读/写访问权限,因此也可以在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
推荐阅读
- python-3.x - 如何在python3中将二维列表的内容保存到txt文件
- windows - windows文件夹安全中的创建/删除权限在哪里?
- javascript - Next.js 图像滑块加载时间过长
- opencv - 有没有办法知道安装 OpenCV 的选项?
- css - Shiny中的动态大标签$ img
- android - ViewPager2:以编程方式选择特定片段
- python - Docker 运行 Flask ImportError: No Module Named Flask
- r - 我如何计算这个数据框?
- android - 如何在 Android 中使用 Paging 3 库观察 Room 中更改的项目
- python - Python Unittest模拟问题