版本:Graylog 3.3.9+abab7dc on eb958e9df0d7 (Oracle Corporation 1.8.0_275 on Linux 3.10.0-1127.el7.x86_64)
1 部署
不支持windows
需要 MongoDB、elasticsearch、graylog
2 springboot 项目日志接入
- 引入相关的 gelf lib 包,调整 logback 配置。
本次使用的是这个, logstash-gelf ,采用 UDP,当然还有其他
<dependency>
<groupId>biz.paluch.logging</groupId>
<artifactId>logstash-gelf</artifactId>
<version>1.13.0</version>
</dependency>
- 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)