zoukankan      html  css  js  c++  java
  • Grok默认表达式

    介绍

    Grok 意味 “通过感觉会意”

    他比正则更高级一些,在语法上略有不同,不过也是换汤不换药,对于熟悉正则的同学来说,Grok也不会很难。

    常用表达式

    表达式标识

    名称

    详情

    匹配例子

    USERNAME 或 USER

    用户名

    由数字、大小写及特殊字符(._-)组成的字符串

    1234、Bob、Alex.Wong

    EMAILLOCALPART

    用户名

    首位由大小写字母组成,其他位由数字、大小写及特殊字符(_.+-=:)组成的字符串。注意,国内的QQ纯数字邮箱账号是无法匹配的,需要修改正则

    windcoder、windcoder_com、abc-123

    EMAILADDRESS

    电子邮件

     

    windcoder@abc.com、windcoder_com@gmail.com、abc-123@163.com

    HTTPDUSER

    Apache服务器的用户

    可以是EMAILADDRESS或USERNAME

     

    INT

    整数

    包括0和正负整数

    0、-123、43987

    BASE10NUM 或 NUMBER

    十进制数字

    包括整数和小数

    0、18、5.23

    BASE16NUM

    十六进制数字

    整数

    0x0045fa2d、-0x3F8709

    WORD

    字符串

    包括数字和大小写字母

    String、3529345、ILoveYou

    NOTSPACE

    不带任何空格的字符串

       

    SPACE

    空格字符串

       

    QUOTEDSTRING 或 QS

    带引号的字符串

     

    “This is an apple”、’What is your name?’

    UUID

    标准UUID

     

    550E8400-E29B-11D4-A716-446655440000

    MAC

    MAC地址

    可以是Cisco设备里的MAC地址,也可以是通用或者Windows系统的MAC地址

     

    IP

    IP地址

    IPv4或IPv6地址

    127.0.0.1、FE80:0000:0000:0000:AAAA:0000:00C2:0002

    HOSTNAME

    IP或者主机名称

       

    HOSTPORT

    主机名(IP)+端口

     

    127.0.0.1:3306、api.windcoder.com:8000

    PATH

    路径

    Unix系统或者Windows系统里的路径格式

    /usr/local/nginx/sbin/nginx、c:windowssystem32clr.exe

    URIPROTO

    URI协议

     

    http、ftp

    URIHOST

    URI主机

     

    windcoder.com、10.0.0.1:22

    URIPATH

    URI路径

     

    //windcoder.com/abc/、/api.php

    URIPARAM

    URI里的GET参数

     

    ?a=1&b=2&c=3

    URIPATHPARAM

    URI路径+GET参数

    /windcoder.com/abc/api.php?a=1&b=2&c=3

     

    URI

    完整的URI

     

    https://windcoder.com/abc/api.php?a=1&b=2&c=3

    LOGLEVEL

    Log表达式

    Log表达式

    Alert、alert、ALERT、Error

     

    日期时间表达式

    表达式标识

    名称

    匹配例子

    MONTH

    月份名称

    Jan、January

    MONTHNUM

    月份数字

    03、9、12

    MONTHDAY

    日期数字

    03、9、31

    DAY

    星期几名称

    Mon、Monday

    YEAR

    年份数字

     

    HOUR

    小时数字

     

    MINUTE

    分钟数字

     

    SECOND

    秒数字

     

    TIME

    时间

    00:01:23

    DATE_US

    美国时间

    10-01-1892、10/01/1892/

    DATE_EU

    欧洲日期格式

    01-10-1892、01/10/1882、01.10.1892

    ISO8601_TIMEZONE

    ISO8601时间格式

    +10:23、-1023

    TIMESTAMP_ISO8601

    ISO8601时间戳格式

    2016-07-03T00:34:06+08:00

    DATE

    日期

    美国日期%{DATE_US}或者欧洲日期%{DATE_EU} |

    DATESTAMP

    完整日期+时间

    07-03-2016 00:34:06

    HTTPDATE

    http默认日期格式

    03/Jul/2016:00:36:53 +0800

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    案例

    样本信息一:

    这是一个随意匹配的类似于正则的.* 10.44.99.102 02:11:23

    Grok串一:

    %{GREEDYDATA:nouse}s%{IPV4:ipv4}s%{TIME:time}

    输出结果如下一:

    {
        "ipv4": "10.44.99.102",
        "nouse": "这是一个随意匹配的类似于正则的.*",
        "time": "02:11:23"
    }

    样本信息二:

    2016-09-19T18:19:00 [8.8.8.8:prd] DEBUG this is an example log message

    Grok串二:

    %{TIMESTAMP_ISO8601:timestamp} [%{IPV4:ip}:%{WORD:environment}] %{LOGLEVEL:log_level} %{GREEDYDATA:message}

    输出结果如下二:

    {
        "environment": "prd",
        "ip": "8.8.8.8",
        "log_level": "DEBUG",
        "message": "this is an example log message",
        "timestamp": "2016-09-19T18:19:00"
    }

    注:在Grok串中可以使用正则表达式

  • 相关阅读:
    MongoDB学习笔记(五) MongoDB文件存取操作(转)
    MongoDB学习笔记(四) 用MongoDB的文档结构描述数据关系(转)
    Log4net配置相关
    UML 依赖 关联 聚合 组合
    亲属称谓
    Unity预定义程序集及自定义包编译顺序
    For Windows Phone8 phones make sure that the Windows Phone IP Over USB Transport(IpOverUsbSvc) service is running
    提升Entityframework效率的几种方法
    将RDLC报表工具栏中的英文改为中文
    C#函数式程序设计初探——基础理论篇
  • 原文地址:https://www.cnblogs.com/shangwei/p/14310592.html
Copyright © 2011-2022 走看看