logstash 正则表达式

正则表达式

3. 使用给定好的符号去表示某个含义

4. 例如.代表任意字符

5. 正则符号当普通符号使用需要加反斜杠

正则的发展

6. 普通正则表达式

7. 扩展正则表达式

普通正则表达式

. 任意一个字符 

* 前面一个字符出现0次或者多次

[abc] 中括号内任意一个字符

[^abc] 非中括号内的字符

[0-9] 表示一个数字

[a-z]   小写字母

[A-Z] 大写字母

[a-zA-Z] 所有字母

[a-zA-Z0-9] 所有字母+数字

[^0-9] 非数字

^xx 以xx开头

xx$ 以xx结尾

\d 任何一个数字

\s 任何一个空白字符

扩展正则表达式,在普通正则符号再进行了扩展

? 前面字符出现0或者1次

+ 前面字符出现1或者多次

{n} 前面字符匹配n次

{a,b} 前面字符匹配a到b次

{,b} 前面字符匹配0次到b次

{a,} 前面字符匹配a或a+次

(string1|string2) string1或string2

简单提取IP

8. 1.1.1.1   114.114.114.114 255.277.277.277

9. 1-3个数字.1-3个数字.1-3个数字.1-3个数字

10. [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}

 

?<clientip>  #这部分是增加字段 

[^ ]+  非空格

"[^"]"  非引号

 

15. (?<clientip>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}) - - \[(?<requesttime>[^ ]+ \+[0-9]+)\] "(?<requesttype>[A-Z]+) (?<requesturl>[^ ]+) HTTP/\d.\d" (?<status>[0-9]+) (?<bodysize>[0-9]+) "[^"]+" "(?<ua>[^"]+)"

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/jw-yahui/p/10926885.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Logstash是一个源的数据收集、处理和输工具,可以通过正则表达式匹配文件内容。下面是通过Logstash使用正则表达式匹配文件的步骤: 1. 配置Logstash:首先需要在Logstash的配置文件中定义输入和输出。输入可以是文件,输出可以是各种目标,如Elasticsearch、Kafka等。在配置文件中,你需要指定要监控的文件路径和使用的正则表达式。 2. 正则表达式编写:根据你想要匹配的文件内容,编写相应的正则表达式正则表达式是一种用于匹配和处理文本的强大工具,可以根据特定的模式来匹配文件中的内容。 3. 配置文件输入:在Logstash的配置文件中,使用file插件来定义要监控的文件路径和使用的正则表达式。例如: ``` input { file { path => "/path/to/your/file.log" start_position => "beginning" sincedb_path => "/dev/null" codec => multiline { pattern => "^%{TIMESTAMP_ISO8601}" negate => true what => "previous" } } } ``` 在上述示例中,`path`指定了要监控的文件路径,`codec`中的`multiline`插件用于处理多行日志。 4. 配置文件输出:在Logstash的配置文件中,使用相应的输出插件将匹配到的内容发送到目标位置。例如,将匹配到的内容发送到Elasticsearch: ``` output { elasticsearch { hosts => ["localhost:9200"] index => "your_index" } } ``` 在上述示例中,`hosts`指定了Elasticsearch的地址和端口,`index`指定了要存储数据的索引名称。 5. 启动Logstash:保存配置文件后,使用命令行启动Logstash,并指定配置文件的路径。Logstash将开始监控指定的文件,并根据正则表达式匹配文件内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值