版本:Graylog 3.3.9+abab7dc on eb958e9df0d7 (Oracle Corporation 1.8.0_275 on Linux 3.10.0-1127.el7.x86_64)

1 部署

不支持windows
graylog - 图1
需要 MongoDB、elasticsearch、graylog

2 springboot 项目日志接入

  1. 引入相关的 gelf lib 包,调整 logback 配置。

本次使用的是这个, logstash-gelf ,采用 UDP,当然还有其他

  1. <dependency>
  2. <groupId>biz.paluch.logging</groupId>
  3. <artifactId>logstash-gelf</artifactId>
  4. <version>1.13.0</version>
  5. </dependency>
  1. graylog 建立对应的日志 input。

3 graylog search

3.1 不指定字段查询

指定要搜索的消息字段,则所有消息字段都将包含在搜索中。

包含术语ssh的消息:
ssh

包含术语ssh或login的消息:
ssh login

包含确切短语ssh login的消息:
“ssh login”

3.2 特定字段查询

需要指定某一个字段,且该字段满足所指定的条件。下面的 type 代表着就是某个确切的字段。

字段类型包括ssh的消息:
type:ssh

字段类型包括ssh或login的消息:
type:(ssh OR login)

字段类型包含确切短语ssh login的消息
type:”ssh login”

字段类型为的消息:
exists:type

没有字段类型的消息
NOT exists:type

3.3 正则匹配

/regx_expression/ (没搞懂,尤其是转移通配符等特殊字符)

3.4 组合条件查询

AND NOT OR
范围 TO, 数字字段支持范围查询。方括号中的范围包括在内,大括号中的范围除外,甚至可以结合使用:

组合无界范围运算符:
http_response_code:(>=400 AND <500)