首页 > 编程语言 >Logstash中的ruby

Logstash中的ruby

时间:2024-05-29 19:55:18浏览次数:28  
标签:插件 code filters 数组 ruby Logstash

通常我们都是用 filters/grok 插件来捕获字段的,但是正则耗费大量的 CPU 资源,很容易成为 Logstash 进程的瓶颈。

而实际上,很多流经 Logstash 的数据都是有自己预定义的特殊分隔符的,我们可以很简单的直接切割成多个字段。

filters/mutate 插件里的 "split" 选项只能切成数组,后续很不方便使用和识别。而在 filters/ruby 里,我们可以通过 "init" 参数预定义好由每个新字段的名字组成的数组,然后在 "code" 参数指定的 Ruby 语句里通过两个数组的 zip 操作生成一个哈希并添加进数组里。短短一行 Ruby 代码,可以减少 50% 以上的 CPU 使用率。

filter {
    ruby {
        init => "@kname = ['client','servername','url','status','time','size','upstream','upstreamstatus','upstreamtime','referer','xff','useragent']"
        code => "event.append(Hash[@kname.zip(event['message'].split('|'))])"
    }
}

  

标签:插件,code,filters,数组,ruby,Logstash
From: https://www.cnblogs.com/lucktomato/p/18220948

相关文章

  • Elasticsearch集群和Logstash、Kibana部署
    1、Elasticsearch集群部署服务器安装软件主机名IP地址系统版本配置ElasticsearchElk10.3.145.14centos7.5.18042核4GElasticsearchEs110.3.145.56centos7.5.18042核3GElasticsearchEs210.3.145.57centos7.5.18042核3G软件版本:elasticsearch-7.13.2.tar.gz示例节点:10.3......
  • rbenv:Ruby 多版本管理利器
    在Ruby开发的世界中,经常需要面对不同项目使用不同Ruby版本的情况。这时,一个高效、灵活且易于使用的Ruby版本管理工具就显得尤为重要。rbenv正是这样一个工具,它允许开发者在同一台计算机上轻松安装、切换和管理多个Ruby版本。本文将详细介绍rbenv的安装、基本使用以及......
  • logstash
    遇到的问题:  环境: 配置:input{beats{port=>5044codec=>plain{charset=>"UTF-8"}}}filter{mutate{remove_field=>["host","input","@timestamp","ecs",......
  • docker搭建Elasticsearch、Kibana、Logstash 同步mysql数据到ES
    一、前言在数据量大的企业级实践中,Elasticsearch显得非常常见,特别是数据表超过千万级后,无论怎么优化,还是有点力不从心!使用中,最首先的问题就是怎么把千万级数据同步到Elasticsearch中,在一些开源框架中知道了,有专门进行同步的!那就是Logstash。在思考,同步完怎么查看呢,这时Kibana映入......
  • JetBrains RubyMine 2024.1 (macOS, Linux, Windows) - 最智能的 Ruby 与 Rails IDE
    JetBrainsRubyMine2024.1(macOS,Linux,Windows)-最智能的Ruby与RailsIDE请访问原文链接:JetBrainsRubyMine2024.1(macOS,Linux,Windows)-最智能的Ruby与RailsIDE,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgJetBrainsRubyMine-最智能的Ru......
  • 二进制部署logstash
    部署logstash下载地址:https://www.elastic.co/cn/downloads/past-releases/(注意这里是跟elasticsearch版本一致)#创建目录mkdir-p/home/work#解压到指定目录tar-xvflogstash-7.17.3-linux-x86_64.tar.gz-C/home/work在本机上创建一个配置文件#Kafka输入配置,从Kafk......
  • HTB Perfection-wp 基于ruby的SSTI注入、密码爆破工具hashcat的使用、反弹shell的编码
    一进来发现这个页面,估计突破点就是在这里了 当然也可走一下固定的流程,nmap扫一下、dir爆破一下。这里不太像是sql的注入点(并不是查询功能),就不用sql试了。首先第一反应时看到WEBrick模板框架,考虑有没有版本漏洞,但是在几个CVE数据库搜一下都没有对应版本的漏洞。那么走一下正常......
  • ruby 升级
    一、安装rvm(ruby版本管理)官方文档:RVM:RubyVersionManager-InstallingRVM1.安装GPG密钥gpg--keyserverkeyserver.ubuntu.com--recv-keys409B6B1796C275462A1703113804BB82D39DC0E37D2BAF1CF37B13E2069D6956105BD0E739499BDB如果遇到问题可能需要再次执行一......
  • 2022-12-2-ruby入门
    第一个程序、定义类、打印方法、判断是否有方法属性、放开属性、数组、注释、字符串操作、字典、类型转换、静态方法、继承、模块、流程控制、循环、异常处理第一个程序defsayHelloputs'helloword'endsayHello定义类#类名第一个字母必须大写classPlayerde......
  • 2023-12-5-logstash和filebeat使用
    应用场景、组件介绍、logstash启动、filebeat启动应用场景分布式场景中,不同服务器的服务日志集中收集管理,方便排查问题组件介绍logstash日志收集器,将接受到的日志存储到ES中fielbeat日志解析器,将日志解析后通过网络发送给日志收集器logstash启动下载https://www.elastic......