logstash多conf问题--ELK文章4

news2024/11/25 0:41:22

现象

问题:配置多个conf后,所有的输入源都输入到所有的输出源中,并且filter中配置单个但是影响全局
Logstash的pipeline配置了多个个conf,也就是多个输入源。如果不做任何处理,那么所有的Filter,Output都会同时触发,如下图:
在这里插入图片描述

这显然跟我们期望的不同,我们希望Logstash有全局处理和单个conf配置处理,尤其是输出管道。按以下的方式来处理,也就是各自区分,独立处理:
在这里插入图片描述

解决方案

官方提供有 type 和tags 配置项进行区分,type 和 tags 是 logstash 事件中两个特殊的字段。

通常来说我们会在输入区段中通过 type 来标记事件类型 —— 我们肯定是提前能知道这个事件属于什么类型的。而tags 则是在数据处理过程中,由具体的插件来添加或者删除的。

type类型区分

我们看一个样例:输入源是日志文件

 input {
      file {
        #标签
        type => "common-rest"
        #采集点
        path => "/data/logs/common-rest/*.log"
        #开始收集点
        start_position => "beginning"
        #扫描间隔时间,默认是1s,建议5s
        stat_interval => "5"
      }
    }
 #filter {
 #   mutate {
 #       remove_field => ["host","_index","type","_id","_type","@version","path","_score"]
 #   }
 #}
  filter {
        if [message] == "" or [message] == "\r"{
          drop{}
        }
  }
    output {
    	#判断输入源类型
        if [type]=="common-rest" {
                elasticsearch {
                        hosts => ["10.255.20.231:9200"]
                        index => "common-rest"
                        #index => "common-rest-%{+YYYY.MM.dd}"
                }
        }
    }

当然,filter是同样的道理

tags区分

 input {
      file {
        #标签
        #type => "common-rest"
        #采集点
        path => "/data/logs/common-rest/*.log"
        #开始收集点
        start_position => "beginning"
        #扫描间隔时间,默认是1s,建议5s
        stat_interval => "5"
        tags =>"common-rest"
      }
    }
 #filter {
 #   mutate {
 #       remove_field => ["host","_index","type","_id","_type","@version","path","_score"]
 #   }
 #}
  filter {
        if [message] == "" or [message] == "\r"{
          drop{}
        }
  }
    output {
    	#判断输入源tags
        #if [type]=="common-rest" {
        if "common-rest" in [tags] {
                elasticsearch {
                        hosts => ["10.255.20.231:9200"]
                        index => "common-rest"
                        #index => "common-rest-%{+YYYY.MM.dd}"
                }
        }
    }

总结

过以上方式配置,就能将pipeline各自区分开。大家可以试下,如果把type参数去掉,最后的elasticsearch数据会混或者数据重复等奇怪问题

原因

logstash启动后会把多个配置文件自动合并成一个,比如有两个conf文件,每个都有 filter、ouput,写入一条数据,会执行两次filter和output,重复写入

外传

😜 原创不易,如若本文能够帮助到您的同学
🎉 支持我:关注我+点赞👍+收藏⭐️
📝 留言:探讨问题,看到立马回复
💬 格言:己所不欲勿施于人 扬帆起航、游历人生、永不言弃!🔥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/508220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应急响应之系统排查方法

应急响应之系统排查方法 1.系统基本信息Windows系统排查Linux系统排查2.用户信息Windows用户排查Linux用户排查3.启动项Windows启动项排查Linux启动项排查4.计划任务Windows计划任务排查Linux计划任务排查1.系统基本信息 Windows系统排查 windows应急响应,使用微软自带的工具…

Android 音频开发——Radio简介(一)

一、概述 本地FM(收音机)应用不同于现在的网络FM(喜马拉雅,考拉等),是由 Android 手机硬件的调谐芯片,通过接收和解调电台发出的电磁波的调频(FM)或调幅(AM)信号,从而播放和展示相应的节目信息。所以本地收音机应用一般不需要联网,其核心依赖于硬件调谐芯片。所以…

OPC UA/DA协议库open62541的源码编译及案例测试

目录 一、下载源码 二、编译源码 三、案例编译 3.1 工程目录 3.2 server端 3.3 client端 3.4 程序运行 四、补充open62541库的linux编译 4.1 cmake版本升级 4.2 python3支持 4.3 open62541源码编译 一、下载源码 win10系统下,安装git工具,下载open62…

带货主播薪酬大降30%,洗牌潮来袭,直播带货红利是否会消退

近年来,随着直播带货市场的迅猛发展,各种直播平台如同春天的雨后蘑菇一般层出不穷。尤其是那些顶尖主播们,凭借着超强的吸金能力和惊人的收入,吸引了无数人的目光。 然而就在今年,这些主播们的薪酬出现了大幅下滑&…

基于springboot基于Java的超市进销存系统

开发技术与环境配置 以Java语言为开发工具,利用了当前先进的springboot框架,以MyEclipse10为系统开发工具,MySQL为后台数据库,开发的一个超市进销存系统。 SpringBoot框架 SpringBoot是一个全新开源的轻量级框架。基于Spring4.…

腾讯云轻量应用服务器使用限制(买前必看)

腾讯云轻量应用服务器和云服务器CVM相比具有一些限制,比如轻量服务器不支持更换内网IP地址,轻量服务器只能套餐整体升级且不支持降配,轻量不支持用户自定义配置私有网络VPC,还有如实例配额、云硬盘配额、备案限制和内网连通性等限…

【OpenCV-Python】——哈里斯/Shi-Tomas角检测FAST/SIFT/ORB特征点检测暴力/FLANN匹配器对象查找

目录 前言: 1、角检测 1.1 哈里斯角检测 1.2 优化哈里斯角 1.3 Shi-Tomasi角检测 2、特征点检测 2.1 FAST特征点检测 2.2 SIFT特征检测 2.3 ORB特征检测 3、特征匹配 3.1 暴力匹配器 3.2 FLANN匹配器 4、对象查找 总结: 前言: 图…

【实战】MySQL百万数据优化

业务场景 一般在项目开发中会有很多的统计数据需要进行上报分析,一般在分析过后会在后台展示出来给运营和产品进行「分页查看」,「最常见的一种就是根据日期进行筛选」。这种统计数据随着时间的推移数据量会慢慢的变大,达到百万、千万条数据只…

即时通讯APP开发费用成本多少?

移动互联网的发展,为人们的通讯交流提供了非常多的便利,一些即时通讯APP的出现,将人与人的距离再一次缩短。通过即时通讯APP软件,人们可以随时随地了解身边发生的新鲜事物,以及和朋友探讨各类趣事,甚至可以…

Kubernetes高可用集群

Kubernetes高可用集群 0、服务器信息 服务器为腾讯云服务器(按需计费,按流量计费,并且将IP转换为弹性IP,使用结束可关机仅收取硬盘等固定资源费用) 服务器名称IP描述Kuernetes-149.235.103.143master1Kuernetes-249…

黑熊“光临”美国小学,校长惊慌失措,转身就跑

最近,一则有趣的视频在网络上传播。一个平凡的清晨,美国西维吉尼亚州尼古拉斯县的萨拉小学校长马什遭遇了一次前所未有的惊险经历。 这位校长本想打开垃圾桶,却突然发现一头黑熊钻出了垃圾桶,这让他吓得跑得飞快。与此同时&#…

K8S通过Ansible安装集群

K8S通过Ansible安装集群 K8S集群安装可参考https://gitee.com/open-hand/kubeadm-ha.git、https://github.com/easzlab/kubeasz.git 安装高可用集群 git clone https://gitee.com/open-hand/kubeadm-ha.git && cd kubeadm-ha升级内核,非必需,默认不升级&…

二叉树原理

二叉树原理TOC 二叉树是公认的难解型数据结构,这里试着系统化的讨论一些与二叉树有关的内容: 二叉树的数据标记方法:层次数据(int t[N];),左右树标记(bool lr:0standForL, 1standForR)&#xf…

算法之路--冒泡排序算法

写在前面 很早就想系统梳理所接触的所有算法,但是只是存在于一个想法阶段,懒惰使人遗忘不是么。作为一个软件开发人员,绕不开算法与数据结构,既然绕不开,何不逐一分析学习透彻,与君共勉之。 冒泡排序算法&a…

单片机c51中断 — 中断嵌套实例IE0的置位和撤销

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第五章,中断 根据下原理图,编程验证二级外部中断嵌套效果。其中K0定为低优先级中断源,K1为高优先级中断源。此外,利用发光二极管D1验证外部中断请求标志IE0在脉…

Minio(minio-20221029062133.0.0.x86_64.rpm) Linux 环境安装

Minio Linux 环境安装 资源下载 镜像下载地址:http://dltest.minio.org.cn/server/minio/release/linux-amd64/archive/ 资源包下载地址(与献文匹配):https://download.csdn.net/download/scdncby/87769604 安装 上传rpm安装…

React+Antd+Vite+TypeScript 项目实战教程

本教程属于react入门教程,课程围绕如何搭建一个项目框架展开,会带你快速了解react、redux、redux-devtool、react-router-dom、axiox这些常见技术的使用方式,教程最后会附上项目源码。 一、创建项目 在搭建项目时,我们通常会使用…

day38_JDBC

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、数据库连接池 二、反射 三、封装DBUtil 零、 复习昨日 SQL注入 预处理语句 String sql "select * from user where id ?"; PreparedStat…

Spring Boot访问数据库

SpringBoot访问数据库时,我们可以使用以下三种,JdbcTemplate、Spring Boot Data Jpa、mybatis。 JdbcTemplate是Spring自己提供的,但是其操作不方便,甚至有些繁琐,在实际应用中也是很少会使用,所以这里就不…

使用MobaXterm在Windows系统远程Ubuntu系统

使用场景 通常大部分办公软件都安装在Windows系统上,使用Windows系统办公更便捷,并且大多办公软件在Ubuntu系统上不兼容,即使进行处理,使用体验也不好,下面针对在同一局域网使用Windows远程Ubnuntu进行ssh、VNC和打开…