logstash - 来自多个源的 Logstash 日志处理
问题描述
我是麋鹿栈的新手。让我解释一下我想要做什么。我有一个为不同用户单独运行的应用程序,即 5 个不同的用户将拥有同一应用程序的 5 个独立实例。我正在使用filebeats将日志从应用程序发送到logstash,在发送到elasticsearch之前首先对其进行处理。我想要的是编写应用程序,使用户只能查看他们的应用程序实例的日志。现在我试图做的是为每个具有不同端口的用户创建logstash管道,该管道将处理日志并将其发送到具有不同索引名称的elasticsearch。如果这是最佳做法还是我做错了,你能建议我吗?有没有更好的方法来做到这一点,而无需为具有单独端口的个人用户提供单独的管道?我认为我这样做的方式是错误的,当实例数量增加时,我将更难管理。
谢谢你
解决方案
我建议如果不涉及皮肤、验证和丰富,那么完全跳过logstash。您可以直接将 filebeat 日志传递给 ES。现在有两种方法。Filebeat 还可以将参数(任何固定字符串)与扫描的消息一起发送到 ES,或者您可以存储 filebeat 将与消息一起发送的元(如 ip)源。然后,此字符串可用于识别日志消息的来源,然后在 kibana 上,您可以配置为根据该固定字符串/用户/元显示仪表板。这很简单,避免了不必要的跳跃。
推荐阅读
- bash - 使用条件读取文件的每一行以将行存储到 bash 中的另一个文件
- python - 同一 DAG 中相同任务名称但执行日期不同的气流冲突
- wordpress - 无法从 WordPress 网站发送任何电子邮件
- algorithm - 以下短算法的时间复杂度是多少?
- c - 检查双字符 - 函数
- kotlin-multiplatform - 无法从 Kotlin Multiplatform 中的 iOS 相机获取输出缓冲区
- python - 将字符串保存到文件而不使用 Python 转换换行符
- scala - Spark SQL - 删除后列可用
- unity3d - unity“初始化例程”
- python - 使用字符串访问数组中元素的索引,但字符串是随机选择的