已知的在一个管道中实现多个独立流的方法是使用条件判断。主要方式是在输入部分通过标签标记(type)事件,然后在过滤器中和输出阶段创建条件分支,对贴有不同标签的事件,应用不同的插件集。这样很容易形成条件地狱。
logstash生产使用版本7.9.x,支持multi-pipeline,通过pipeline配置实现业务独立,conf文件不会被合并。
以下是使用multi-pipeline方法:
1、去掉原有配置文件中通过标签标记(type)事件的逻辑,略
2、vi config/pipelines.yml 配置方法参考官方文档:https://www.elastic.co/cn/blog/how-to-create-maintainable-and-reusable-logstash-pipelines
3、修改systemctl服务,改为不带f参数直接启动
ExecStart=/data/logstash/bin/logstash “–config.reload.automatic”
随后systemctl daemon-reload 刷新配置
4、重启logstash搞定
参考文章:
https://www.elastic.co/cn/blog/how-to-create-maintainable-and-reusable-logstash-pipelines
https://www.cnblogs.com/wzxmt/p/13083281.html
https://priesttomb.github.io/%E6%8A%80%E6%9C%AF/2021/04/13/logstash-about-one-pipeline-and-multi-pipelines/