logstash多任务多管道pipeline配置启动,方案分析

2023-11-04

6.0以下方案

logstash处理多个输入输出源方案

没有使用多管道,两个任务,jdbc demo
手写自定义mysql.conf

input {
    stdin {}
    jdbc {
       # 第一个任务对应一个type;
        type => "type_1"
         # ...省略
         # 同步频率(分 时 天 月 年),默认每分钟同步一次;
        schedule => "* * * * *"
    }
    jdbc {
         # 第二个任务对应一个type;
         type => "type_2"
          # ...省略
    }
}

filter {
 if [type] == "type_1" {
   #过滤
    json {
        source => "message"
        remove_field => ["message"]
    }
    # nested聚合
    aggregate{
	 task_id => "%{id}"
	 code => "
		map['id'] ||= event.get('id')
		map['name'] ||= event.get('name')
		map['hobby'] ||= event.get('hobby')
		map['genshin'] ||=[]
		map['genshin'] << {'student_id' =>event.get('student_id'),'person' => event.get('person')}
		event.cancel()
	 "
	push_previous_map_as_event =>true
	timeout => 5
	}
  }
  if [type] == "type_2" {}
}

output {
    # output模块的type需和jdbc模块的type一致
    if [type] == "type_1" {
        elasticsearch {
             # host => "x.x.x.x"
             # port => "9200"
             # 配置ES集群地址
            hosts => ["x.x.x.x:9200", "x.x.x.x:9200"]
             # elastic索引名字,必须小写
            index => "logstash_test"
             # 数据唯一索引(建议使用数据库id)
            document_id => "%{id}"
        }
    }
    if [type] == "type_2" {
        elasticsearch {
            # host => "x.x.x.x"
            # port => "9300"
            # ...省略
        }
    }
}

6.0以下方案分析

如果logstash需要配置多源输入输出,在一个管道pipeline里配置多个独立的输入流输出流,需要用 if 判断,这样确实能够解决问题,但是也会有隐患,如果某个任务流出现阻塞无法使用,那么其他的流也会收到影响不能正常工作。
6.0过后出现了多pipeline结构,可以配置多个pipeline,他们之间互不影响,一个pipeline出现问题不影响其他pipeline工作

启动方式

在解压后的目录./bin/logstash -f 某某.conf,可以用-f指定启动的配置,就是上面的demo配置

6.0以上方案

使用多pipeline互不影响方案
在conf下有个配置文件pipeline.yml

# List of pipelines to be loaded by Logstash
#
# This document must be a list of dictionaries/hashes, where the keys/values are pipeline settings.
# Default values for omitted settings are read from the `logstash.yml` file.
# When declaring multiple pipelines, each MUST have its own `pipeline.id`.
#
# Example of two pipelines:
#放开#注释字典的方式定义了logstash_test这个pipeline
 - pipeline.id: logstash_test
   pipeline.workers: 4
   pipeline.batch.size: 1
   # 指向类似上面那个demo的配置,只是没有if判断多个流而已,一个pipeline最好只做一个任务
   path.config: "/Users/xx/apps/logstash_run/logstash-8.0.0-beta1/script/mysql2.conf"
   queue.type: persisted
#   config.string: "input { generator {} } filter { sleep { time => 1 } } output { stdout { codec => dots } }"
#放开#注释字典的方式定义了another_test这个pipeline,这里没有放开,所以只启动了上面一个管道
# - pipeline.id: another_test
#   queue.type: persisted
#   path.config: "/tmp/logstash/*.config"

启动方式

如果启动命令不加 -f 指定自定义的conf配置,它会自己找到pipeline.yml配置启动,
命令:./bin/logstash
这时候只会启动pipeline放开#注释的pipeline,如果有多个pipeline就会启动多个

如果看爽了,就点个赞吧(doge)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

logstash多任务多管道pipeline配置启动,方案分析 的相关文章

  • 如何使用 FileChannel 将一个文件的内容附加到另一个文件的末尾?

    File a txt好像 ABC File d txt好像 DEF 我正在尝试将 DEF 附加到 ABC 所以a txt好像 ABC DEF 我尝试过的方法总是完全覆盖第一个条目 所以我总是最终得到 DEF 这是我尝试过的两种方法 File
  • 如何将 Java 赋值表达式转换为 Kotlin

    java中的一些东西就像 int a 1 b 2 c 1 if a b c System out print true 现在它应该转换为 kotlin 就像 var a Int 1 var b Int 2 var c Int 1 if a
  • 如何在 JFace 的 TableViewer 中创建复选框?

    我创建了一个包含两列的 tableViewer 我想将其中一列设为复选框 为此 我创建了一个 CheckBoxCellEditor 但我不知道为什么它不起作用 名为 tableName 的列显示其值正常 色谱柱规格如下 String COL
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • 当分配给变量时,我可以以某种方式重用 Gremlin GraphTraversals 代码吗?

    我有看起来像这样的 GraphTraversals attrGroup GraphTraversal
  • 使用替换字符串中多个单词的最有效方法[重复]

    这个问题在这里已经有答案了 此刻我正在做 Example line replaceAll replaceAll cat dog replaceAll football rugby 我觉得那很丑 不确定有更好的方法吗 也许循环遍历哈希图 ED
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 归并排序中的递归:两次递归调用

    private void mergesort int low int high line 1 if low lt high line 2 int middle low high 2 line 3 mergesort low middle l
  • 制作java包

    我的 Java 类组织变得有点混乱 所以我要回顾一下我在 Java 学习中跳过的东西 类路径 我无法安静地将心爱的类编译到我为它们创建的包中 这是我的文件夹层次结构 com david Greet java greeter SayHello
  • Java直接内存:在自定义类中使用sun.misc.Cleaner

    在 Java 中 NIO 直接缓冲区分配的内存通过以下方式释放 sun misc Cleaner实例 一些比对象终结更有效的特殊幻像引用 这种清洁器机制是否仅针对直接缓冲区子类硬编码在 JVM 中 或者是否也可以在自定义组件中使用清洁器 例
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour
  • 如何修复“sessionFactory”或“hibernateTemplate”是必需的问题

    我正在使用 Spring Boot JPA WEB 和 MYSQL 创建我的 Web 应用程序 它总是说 sessionFactory or hibernateTemplate是必需的 我该如何修复它 我已经尝试过的东西 删除了本地 Mav
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的

随机推荐

  • Windows10如何添加开机启动项

    在日常生活中 偶尔要求其中的软件在开机时便能自动启动 比如MySQL一般被设置为自启动项 今天将为大家介绍window10中如何添加开机启动项 操作过程 1 按下win R调出运行窗口 并输入 shell startup 即可进入开机启动文
  • 事务与异步脏数据问题

    1 事务未提交 异步获取不到数据 package com spring pro service impl import java util concurrent CompletableFuture import java util conc
  • QT基础:遍历QFormLayout列表布局器中的控件,并链接槽函数进行操作

    QFormLayout 是一个列表布局器 每一行的序号是从0开始的 类似于数组的下标 每一行有两个元素 左边的元素叫标签 Label 右边的元素叫字段 Field 这里是一个QFormLayout简单的布局演示 QFormLayout 列表
  • Hive的Join操作、Hive解决数据倾斜问题、Hive优化、Hive的分桶表、JDBC、体系结构、工程流程

    Hive的Join操作 order表数据 1 20180710 P001 20 2 20180710 P002 14 3 20180710 P001 35 4 20180710 P002 40 5 20180710 P001 10 6 20
  • 解决文本框刷新后之前输入的值还存在,没有清空的问题

    有过表单设计经验的朋友肯定知道 当我们在浏览器中输入表单信息的时候 往往input文本输入框会记录下之前提交表单的信息 以后每次只要双击 input文本输入框就会出现之前输入的文本 这样有时会觉得比较方便 但有时也会暴露用户的隐藏数据 所以
  • 如何在Windows打造出你的Linux开发环境

    在这篇文章里 我将向大家分享一些软件安装和环境设置方法 这是我最近的实践收获 并对使用效果非常满意 我不能永远待在Linux上开发 但我非常喜欢Linux终端和Linux环境 在开发一些开源软件时 Linux会让我感觉所有的事情变得更容易
  • uniapp的入栈出栈

    uniapp管理页面是利用栈的形式管理 因此多次入栈不出栈会造成页面的卡顿 入栈出栈的顺序不对 会在返回的时候不能回到对应页面 都是因为出栈入栈的时机不对造成的 一个页面会在什么时候进行入栈 又在什么时候出栈 他们分别触发了什么生命周期 这
  • Latex关键词(key words)的基本格式代码(加粗、斜体、空白行+首段空两格)

    Latex关键词 key words 的基本格式指令 加粗 斜体 空白行 首段空两格 在用英文写report或reference时keywords是必不可少的 Abstract和keywords这种简单的指令直接套用固定的格式模板就行 根据
  • docker构建国内镜像服务

    在国内想要下载镜像比较困难 因此很多公司都构建自己的私有仓库 如何搭建私有仓库 请参考 docker私有仓库从无到有 然而即使私有仓库服务构建完成 但是里面没有镜像 一样很苦恼 今天介绍一下如何利用国内云服务商提供的镜像加速器 来快速下载镜
  • Python中pymssql 的使用操作

    在python3 x中 可以使用pymysql来MySQL数据库的连接 并实现数据库的各种操作 本次博客主要介绍了pymysql的安装和使用方法 PyMySQL的安装 一 windows上的安装方法 在python3 6中 自带pip3 所
  • Entity Framework Core系列教程-25-Entity Framework Core日志

    Entity Framework Core日志 我们经常需要在EF Core中记录SQL并更改跟踪信息以进行调试 EF Core日志记录自动与 NET Core的日志记录机制集成 因此 在隐含使用EF Core的日志记录之前 了解有关 NE
  • SpringBoot第16讲:如何生成接口文档之Swagger技术栈

    SpringBoot第16讲 如何生成接口文档之Swagger技术栈 SpringBoot开发Restful接口 有什么API规范吗 如何快速生成API文档呢 Swagger 是一个用于生成 描述和调用 RESTful 接口的 Web 服务
  • `算法知识` 笛卡尔坐标系, 边长与边权, 曼哈顿距离, 欧几里得距离,外接矩形

    catalog 图像引用 图一 图二 笛卡尔坐标系的 边长 与 边权 曼哈顿距离 曼哈顿边权 与 欧几里得距离 的转换 凸多边形的曼哈顿周长 与 外接矩形的欧几里得周长 例题 ID COUNT 4 跳转链接已经使用了 0 ID COUNT
  • kali中binwalk/foremost/zip2john工具的配合使用

    kali中binwalk foremost zip2john工具的配合使用 背景 通过binwalk工具观察该文件是否包含其他文件 通过foremost工具将隐藏文件提取出来 通过zip2john工具破解压缩包的密码 心得体会 背景 最近参
  • 魏副业而战:开学季,闲鱼卖什么好?

    我是魏哥 与其躺平 不如魏副业而战 现在八月底了 意味着暑假结束 新的学期将要开始 作为闲鱼卖家 可顺势布局一下 那卖什么好呢 开学季嘛 卖学习相关的 例如 文具 书包 练习本 教辅书籍等等 只要和学生相关的都可以的 另外 有些大学生可能会
  • oracle 连接串解释

    工作中 oracle环境 常常通过连接串描述 scott 123456 DESCRIPTION ADDRESS PROTOCOL TCP HOST 192 168 206 100 PORT 1521 CONNECT DATA SERVER
  • 小孩学机器人编程怎么样

    小孩学机器人编程怎么样 孩子的学习从古至今都是家长们十分关心和重视的一件事情 很多的家长在培养孩子的学习方面也是相当耐心的 就拿现在很多的家长想要孩子去学习机器人编程的课程来说 他们对于小孩学机器人编程怎么样并不是很清楚 今天我们就一起来了
  • sqli-labs靶场Less-3

    1 访问首页 index php id 1 这里的传参点是id 2 判断注入点是数字还是字符 如果是字符就需要闭合 and 1 1 qwe and 1 2 qwe 分析 通过以上探测发现并不起效果 考虑是不是和第一关一样需要单引号闭合 再次
  • 如何用一根网线实现在两台电脑之间传输数据

    下面我来说一说怎样用一根网线连接两台电脑 从而实现数据的传输 首先 我们要在两台电脑上分别设置其IPv4的配置 第一台电脑的设置步骤如下 打开网络和共享中心 点击更改设配器设置 在以太网那里右键属性 双击Internet 协议版本4 TCP
  • logstash多任务多管道pipeline配置启动,方案分析

    文章目录 6 0以下方案 6 0以下方案分析 启动方式 6 0以上方案 启动方式 6 0以下方案 logstash处理多个输入输出源方案 没有使用多管道 两个任务 jdbc demo 手写自定义mysql conf input stdin