我的要求是从filebeat加载数据到logstash,并将这些数据写入mongoDB,在ElasticSearch中,我应该能够从我使用logstash存储数据的数据库中读取数据。我对elk非常陌生。我能够将数据存储到mongoDB,但我没有在ElasticSearch中读取的步骤。
6za6bjd01#
Logstash具有写入多个目标的功能,因此您可以配置logstash以写入两个数据库:弹性和mongoDB
配置路径:/usr/share/logstash/config/logstash.conf
input { beats { port => 5044 } } output { elasticsearch { hosts => ["https://${OPENSEARCH_URL}:443"] index => "logs-%{[kubernetes][namespace]}-%{+YYYY.MM.dd}" } mongodb { collection => "%{foo}" database => "YOUR_DB_NAME" uri => "mongodb://mongodb0.example.com:27017" } }
ergxz8rk2#
首先浏览一下弹性文档,你可以在那里找到大部分答案。其次,上面给出的解决方案是正确的,基本上你必须配置以下文件,并相应地使用命令运行它。
logstash.conf logstash -f logstash.conf
为了清楚起见,我给出的示例如下:去https://www.kaggle.com网站,在那里你可以免费找到数据集。下载任何示例,然后配置你的文件。在下面的例子中,下载flowers1.csv数据集,并相应地设置其路径,你必须使用'filter'设置列的索引,并将输出设置为elasticsearch localhost数据库:
logstash.conf input { file { path => "C:/elastic_stack/logstash-8.6.2/data3/flowers1.csv" start_position => "beginning" sincedb_path => "NULL" } } filter { csv { separator => "," columns => ["Common Name", "Botanical Name", "Family", "Description"] } } output { elasticsearch { hosts => ["localhost:9200"] index => "csv_flowers_data_test" document_id => "%{index}" } stdout { codec => rubydebug } }
最后学习如何使用kibana以及https://www.elastic.co/kr/kibana,它可以帮助您可视化您的数据。
2条答案
按热度按时间6za6bjd01#
1.数据库是存储数据的地方ElasticSearch和其他数据库不能从某处获取数据,它们只有存储数据的功能。
解决方案:
Logstash具有写入多个目标的功能,因此您可以配置logstash以写入两个数据库:弹性和mongoDB
示例:
配置路径:/usr/share/logstash/config/logstash.conf
ergxz8rk2#
首先浏览一下弹性文档,你可以在那里找到大部分答案。
其次,上面给出的解决方案是正确的,基本上你必须配置以下文件,并相应地使用命令运行它。
为了清楚起见,我给出的示例如下:去https://www.kaggle.com网站,在那里你可以免费找到数据集。下载任何示例,然后配置你的文件。在下面的例子中,下载flowers1.csv数据集,并相应地设置其路径,你必须使用'filter'设置列的索引,并将输出设置为elasticsearch localhost数据库:
最后学习如何使用kibana以及https://www.elastic.co/kr/kibana,它可以帮助您可视化您的数据。