【发布时间】:2021-08-09 01:59:54
【问题描述】:
我对elk stack没有太多经验,我基本上只知道基础知识。
- filebeat 获取数据并将其发送到 logstash
- Logstash 对其进行处理并将其发送给弹性搜索
- Kibana 使用弹性搜索来可视化数据
(我希望那是正确的)
我需要创建一个 elk 系统,用于传递、存储和可视化来自三个不同项目的数据。
项目 1。使用 MongoDB,我需要从 1 个表中获取所有信息到 kibana 中
2 号项目。也使用 MongoDB,我需要从 1 个表中获取所有信息到 kibana
3 号项目。使用 mysql,我需要从该数据库中获取一些表到 kibana 中
这三个项目都在同一台服务器上
对于项目 1 和 2,我需要数据流保持不变(即,如果用户注册,我可以在 kabana 中看到) 但对于 3 号项目。我只在需要生成报告时才需要数据(这个项目的功能是某种 BI)
所以我的问题是如何创建一个 elk 架构,从这 3 个来源获取输入并能够组合成一个 elk 项目。
我的最佳猜测是:
Project No1 -> filebeat -> logstash
Project No2 -> filebeat -> logstash
3 号项目 -> logstash
(这里的 logstash 是单个实例,然后馈入弹性)
这是一种现实的方法吗?
我也偶然发现了redis,从外观上看,它似乎可以将所有数据源合并为一个,然后将输出提供给logstash。
什么是更好的方法?
最后,我提到了filebeat,但据我了解,它基本上是从日志文件中读取数据。这是否意味着我必须将所有数据库条目重新写入日志文件,以便将它们提供给 logstash,或者可以在没有中介的情况下让 logstash 进入数据库。
我尝试在网上查找所有这些内容,但由于某种原因,互联网上关于 ELK 堆栈初学者问题的问题有点少。
谢谢
【问题讨论】: