logstash一个实例运行多个配置文件,将所有配置文件放到以下目录即可

/usr/share/logstash/pipeline

但是默认行为不是每个配置文件独立运行,而是作为一个整体,每个input会匹配所有的filter,然后匹配所有的output,可能会导致数据被错误的处理以及发送到错误的地方;

解决方法一:

在input中设置一个变量,在filter和output中判断该变量,实现每个配置文件独立运行,不会相互影响,使用哪个变量呢?

input默认有很多通用参数,但是只有type可用,官方描述如下:

Add a type field to all events handled by this input.

Types are used mainly for filter activation.

The type is stored as part of the event itself, so you can also use the type to search for it in Kibana.

input中的type参数会被添加到event中,所以后续在filter和output中都可以使用,其他参数就不行了,配置如下:

input {
jdbc {
...
type => "some_type"
}
}
filter {
if [type] == "some_type" {
...
}
}
output {
if [type] == "some_type" {
...
}
}

如果一切正常,恭喜你,如果还有问题,有可能是你的event里本来就有type字段,然后又赋值一个,会出现一个type数组(追加而不是覆盖),这时有两个问题:

1)filter和output中的if判断失效,你的数据压根就不会处理也不会发送出去;

2)你的数据中的type字段被改乱了;

解决方法二:

在event中手工添加一个变量,比如my_type,配置如下:

input {
jdbc {
...
statement => "select *, 'some_type' my_type from my_table where update_time > :sql_last_value"
...
}
}
filter {
if [my_type] == "some_type" {
...
}
}
output {
if [my_type] == "some_type" {
...
}
}

还有其他解决方法详见下边引用的官方文档,包括各种if判断以及@metadata变量的使用;

参考:

jdbc input

https://www.elastic.co/guide/en/logstash/6.3/plugins-inputs-jdbc.html

event dependent configuration

https://www.elastic.co/guide/en/logstash/6.7/event-dependent-configuration.html

【原创】大叔经验分享(82)logstash一个实例运行多个配置文件的更多相关文章

  1. 【原创】大叔经验分享(13)spark运行报错WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.

    本地运行spark报错 18/12/18 12:56:55 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting ...

  2. 【原创】经验分享:一个小小emoji尽然牵扯出来这么多东西?

    前言 之前也分享过很多工作中踩坑的经验: 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移? [原创]经验分享:一个Content-Length引发的血案(almost.. ...

  3. Expression Blend4经验分享:制作一个简单的图片按钮样式

    这次分享如何做一个简单的图片按钮经验 在我的个人Silverlight网页上,有个Iphone手机的效果,其中用到大量的图片按钮 http://raimon.6.gwidc.com/Iphone/de ...

  4. Expression Blend4经验分享:制作一个简单的文字按钮样式

    首先在Grid里放一个TextBlock,对象时间线窗口的结构树如下 右键点击grid,选择构成控件 会弹出构成控件的对话框,选择你要构成的控件类型,控件名称,控件样式存储位置 这里我们选择butto ...

  5. Sqlserver Sql Agent Job 只能同时有一个实例运行

    Sqlserver Sql Agent中的Job默认情况下只能有一个实例在运行,也就是说假如你的Sql Agent里面有一个正在运行的Job叫"Test Job",如果你现在再去启 ...

  6. c# 只允许一个实例运行

    1.单件模式,Singleton,应用程序只能允许一个实例在运行.这是最好的解决方法2.查询系统进程里是不是已经运行.private void Form1_Load(object sender, Ev ...

  7. 【原创】大叔经验分享(43)logstash设置jdbc_default_timezone后报错

    logstash6.6.0-6.6.2版本使用jdbc input plugin时如果设置了jdbc_default_timezone,会报错: { 2012 rufus-scheduler inte ...

  8. 【原创】大叔经验分享(90)linux服务器iowait和负载很高

    # top top - 21:21:51 up 207 days, 1:30, 5 users, load average: 0.90, 0.79, 1.62 Tasks: 249 total, 1 ...

  9. 【原创】大叔经验分享(28)ELK分析nginx日志

    提前安装好elk(elasticsearch.logstach.kibana) 一 启动logstash $LOGSTASH_HOME默认位于/usr/share/logstash或/opt/logs ...

随机推荐

  1. Vue于React特性对比(四)

    新开了一个vue的项目,从vue单页面框架搭建到单点登录接入都是自己负责搞的.然后准备将这套东西迁移到react上.然后有了这篇文章. 1,reactjs分环境打包明显要比vue更为麻烦 vue修改的 ...

  2. 【I·M·U_Ops】------Ⅱ------ IMU自动化运维平台之CMDB

    说明本脚本仅作为学习使用,请勿用于任何商业用途.本文为原创,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. #A 我理解的 CMDB CMDB翻译过来,Configuratio ...

  3. java time

    package cn.itcast_04;       import java.text.SimpleDateFormat;   import java.util.Date;       public ...

  4. 通过OpenCL内核代码猜测设备寄存器个数

    在OpenCL标准中,没有给出查看计算设备一共有多少寄存器,至少能分配给每个work-item多少寄存器使用的特征查询.而由于一个段内核代码是否因寄存器紧缺而导致性能严重下降也是一个比较重要的因素,因 ...

  5. 在CSS中定义【导航栏】超链接样式

    1.案例css代码 <style> .divcss5 a:link{ color:#F00}/* 链接默认为红色 */ .divcss5 a:hover{ color:#000}/* 鼠标 ...

  6. C++ STL swap_range

    #include <iostream>#include <vector>#include <deque>#include <algorithm> usi ...

  7. 22 Flutter仿京东商城项目 inappbrowser 加载商品详情、保持页面状态、以及实现属性筛选业务逻辑

    加群452892873 下载对应21可文件,运行方法,建好项目,直接替换lib目录,在往pubspec.yaml添加上一下扩展. cupertino_icons: ^0.1.2 flutter_swi ...

  8. PAT 甲级 1018 Public Bike Management (30 分)(dijstra+dfs,dfs记录路径,做了两天)

    1018 Public Bike Management (30 分)   There is a public bike service in Hangzhou City which provides ...

  9. nginx使用vhost子目录

    在主配置文件http模块最后添加如下一句话 [root@host---- ~]# vi /etc/nginx/nginx.conf include /etc/nginx/conf.d/*.conf; ...

  10. Spring Boot项目中MyBatis连接DB2和MySQL数据库返回结果中一些字符消失——debug笔记

    写这篇记录的原因是因为我之前在Spring Boot项目中通过MyBatis连接DB2返回的结果中存在一些字段, 这些字段的元素中缺少了一些符号,所以我现在通过在自己的电脑上通过MyBatis连接DB ...