logstash (?m) 经典例子

97 篇文章 ¥39.90 ¥99.00
本文介绍了Logstash中multiline codec的使用,特别是配合正则表达式处理包含回车换行的文本。重点讲解了如何通过添加(?m)标记来支持匹配回车换行,并给出了相关示例,包括不带(?m)和带(?m)的正则表达式的区别及匹配结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在和 codec/multiline 搭配使用的时候,需要注意一个问题,grok 正则和普通正则一样,默认是不支持匹配回车换行的。就像你需要 =~ //m 一样也需要单独指定,具体写法是在表达式开始位置加 (?m) 标记。


\s  空格,和 [\n\t\r\f] 语法一样 

(\s*\S+\s*).* 匹配0个或者多个前导字符
 

简单demo:

 SELECT t.*  FROM
 	    (
 			SELECT 
 			t1.sn AS clientSn,
 			t1.userNick,
 			t1.mobilePhone,
 			t3.personName,
 			t2.availableBalance,
 			(SELECT IFNULL(SUM(amount) , 0) FROM ClientRechargeOrder t WHERE t.clientSn= t1.sn AND t.status ='2') AS rechargeAmount,
 			(SELECT IFNULL(SUM(amount) , 0) FROM ClientWithDrawOrder t WHERE t.clientSn= t1.sn AND t.status IN ('1','2','3','4') ) AS withdrawAmount,
 			( (SELECT IFNULL(SUM(capitalBalance) , 0) FROM ProductRepayment t WHERE t.clientSn= t1.sn AND t.status= '1') 
 			  + 
 			  (SELECT IFNULL(SUM(capitalBalance) , 0) FROM Vir
### Linux系统中安装Logstash的指南 #### 下载Logstash 从官方站点下载适用于Linux系统的Logstash压缩包。例如,对于CentOS系统,可以通过wget命令获取指定版本的tar.gz文件[^1]。 ```bash wget https://download.elastic.co/logstash/logstash/logstash-8.11.1-linux-x86_64.tar.gz ``` #### 解压并移动至目标位置 使用`tar`命令解压已下载的Logstash压缩包,并将其放置于合适的位置,比如`/usr/local/`目录下[^2]。 ```bash tar -zxvf logstash-8.11.1-linux-x86_64.tar.gz -C /usr/local/ ``` #### 创建专用用户 为了安全起见,建议为Logstash创建一个专门的运行账户。 ```bash groupadd logstash useradd -g logstash logstash chown -R logstash:logstash /usr/local/logstash-8.11.1/ ``` #### 配置JVM参数 编辑位于`/etc/logstash/jvm.options`的文件来调整Java虚拟机的相关选项,如内存分配大小可设为512M[^3]。 ```plaintext -Xms512m -Xmx512m ``` #### 编辑配置文件 在`/etc/logstash/conf.d/`路径下编写Logstash的主要配置文件[^3]。下面是一个简单的例子: ```plaintext input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" } } ``` #### 启动服务 进入Logstash的根目录并通过执行其内部脚本来启动服务[^4]。 ```bash cd /usr/local/logstash-8.11.1/ ./bin/logstash -f /etc/logstash/conf.d/logstash.conf ``` 当终端显示如下消息时,则表明Logstash已经成功启动[^5]。 ```plaintext Successfully started Logstash API endpoint {:port=>9600} ``` #### 测试基本功能 利用内置的标准输入输出插件验证Logstash的工作状态[^5]。 ```bash ./bin/logstash -e 'input { stdin {} } output { stdout {} }' ``` 此时,在同一窗口键入任何文字都会被立即回显出来作为处理后的数据流的一部分。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值