ELK 之logstash filter grok常见内置模式

通用模式

  • GREEDYDATA: 贪婪匹配任意字符串。
示例:This is a sample log message
模式:%{GREEDYDATA:message}
  • DATA: 匹配任意字符串,非贪婪(尽量少匹配)。
示例:This is a sample log message
模式:%{DATA:message}

时间与日期

  • TIMESTAMP_ISO8601: 匹配 ISO 8601 格式的时间戳。
示例:2023-10-05T10:00:00.123Z
模式:%{TIMESTAMP_ISO8601:timestamp}
  • HTTPDATE: 匹配 HTTP 日志中的日期格式。
示例:05/Oct/2023:10:00:00 +0000
模式:%{HTTPDATE:timestamp}
  • DATESTAMP_RFC822: 匹配 RFC 822 格式的日期。
示例:02 Jun 1982 00:00:00 GMT
模式:%{DATESTAMP_RFC822:timestamp}
  • DATESTAMP_RFC2822: 匹配 RFC 2822 格式的日期。
示例:Thu, 21 Dec 2000 16:01:07 +0200
模式:%{DATESTAMP_RFC2822:timestamp}
  • DATE: 匹配日期。
示例:2023-10-05
模式:%{DATE:date}
  • TIME: 匹配时间。
示例:10:00:00
模式:%{TIME:time}
  • DATESTAMP_OTHER: 匹配其他常见的日期格式。
示例:2023-10-05 10:00:00,123
模式:%{DATESTAMP_OTHER:timestamp}

数字与字符串

  • NUMBER: 匹配数字(整数或浮点数)。
示例:1234
模式:%{NUMBER:number}
  • BASE10NUM: 匹配十进制数字(浮点数)。
示例:123.45
模式:%{BASE10NUM:number}
  • WORD: 匹配一个单词(不包含空格的字母数字字符串)。
示例:GET
模式:%{WORD:word}
  • NOTSPACE: 匹配非空格字符。
示例:GET
模式:%{NOTSPACE:word}
  • INT: 匹配整数。
示例:1234
模式:%{NUMBER:number}
  • DATA: 匹配任意字符串,非贪婪(尽量少匹配)。
示例:This is a sample log message
模式:%{DATA:message}
  • GREEDYDATA 贪婪匹配任意字符串。
示例:This is a sample log message
模式:%{GREEDYDATA:message}

网络相关

  • IP: 匹配 IPv4 或 IPv6 地址。
示例:192.168.1.1
模式:%{IP:client_ip}
  • HOSTNAME: 匹配主机名。
示例:localhost
模式:%{HOSTNAME:hostname}
  • MAC: 匹配 MAC 地址。
示例:00:0a:95:9d:68:16
模式:%{MAC:mac_address}
  • HOSTPORT: 匹配 IP 地址和端口。
示例:192.168.1.1:80
模式:%{HOSTPORT:hostport}
  • IPV4: 匹配 IPv4 地址。
示例:192.168.1.1
模式:%{IPV4:client_ip}

文件与路径

  • PATH: 匹配文件路径。
示例:/var/log/syslog
模式:%{PATH:file_path}
  • URIPATH: 匹配 URI 路径。
示例:/index.html
模式:%{URIPATH:request_path}
  • URIPARAM: 匹配 URI 参数。
示例:id=123&name=John
模式:%{URIPARAM:request_params}
  • URI: 匹配完整的 URI。
示例:http://example.com/index.html?id=123&name=John
模式:%{URI:uri}

代理与用户代理

  • USER: 匹配用户名。
示例:jdoe
模式:%{USER:username}
  • UUID: 匹配 UUID。
示例:550e8400-e29b-41d4-a716-446655440000
模式:%{UUID:uuid}

HTTP 相关

  • HTTPVERB: 匹配 HTTP 动词(方法)。
示例:GET
模式:%{HTTPVERB:method}
  • HTTPPROTOVERSION: 匹配 HTTP 协议版本。
示例:1.1
模式:%{HTTPPROTOVERSION:version}

Apache/Nginx 日志

  • COMMONAPACHELOG: 匹配 Apache 访问日志的常见格式。
示例:127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326
模式:%{COMMONAPACHELOG}
  • COMBINEDAPACHELOG: 匹配 Apache 访问日志的综合格式,包含用户代理和引用。
示例:127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"
模式:%{COMBINEDAPACHELOG}

Syslog 日志

  • SYSLOGTIMESTAMP: 匹配 syslog 时间戳。
示例:Oct 11 22:14:15
模式:%{SYSLOGTIMESTAMP:timestamp}
  • SYSLOGPROG: 匹配 syslog 程序名和进程 ID。
示例:appname[1234]
模式:%{SYSLOGPROG:program}
  • SYSLOGLINE: 匹配标准的 syslog 日志格式。
示例:<13>Oct 11 22:14:15 hostname appname[1234]: This is a syslog message
模式:%{SYSLOGLINE}

其他模式

  • EMAILADDRESS: 匹配电子邮件地址。
示例:example@example.com
模式:%{EMAILADDRESS:email}

QUOTEDSTRING: 匹配带引号的字符串。

示例:"This is a quoted string"
模式:%{QUOTEDSTRING:quoted_string}
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值