graylog简介
  TEZNKK3IfmPf 2023年11月14日 24 0

graylog 的官方定义是:Enterprise Log Management for All
一个具有报警选项的可插入日志和事件分析服务器。

Graylog v.s ELK(Kibana)

Graylog 和 ELK(Kibana)的区别:
ELK:Logstash -> Elasticsearch -> Kibana
Graylog:Graylog Collector -> Graylog Server(封装Elasticsearch) -> Graylog Web
ELK(或者 EFK,Flunted),使用不当的几个缺点:

  1. 不能处理多行日志,比如Mysql慢查询,Tomcat/Jetty应用的Java异常打印
  2. 不能保留原始日志,只能把原始日志分字段保存,这样搜索日志结果是一堆Json格式文本,无法阅读。
  3. 不符合正则表达式匹配的日志行,被全部丢弃。

Graylog 的优点:

  1. 一体化方案,安装方便,不像ELK有3个独立系统间的集成问题。
  2. 采集原始日志,并可以事后再添加字段,比如http_status_code,response_time等。
  3. 个性化定制开发(带来很大的自由度)采集日志的脚本,并用curl/nc发送到Graylog Server,发送格式是自定义的GELF,Flunted和Logstash都有相应的输出GELF消息的插件。实际上只需要用inotifywait监控日志的modify事件,并把日志的新增行用curl/netcat发送到Graylog Server就可。
  4. 搜索结果高亮显示。
  5. 搜索语法简单,比如: ​​source:mongo AND response_time_ms:>5000​​,避免直接输入elasticsearch搜索JSON语法
  6. 搜索条件可以导出为elasticsearch的搜索json文本,方便直接开发调用elasticsearch rest api的搜索脚本。
    kibana 通过 x-pack 这个plugin可以给kibana提供一些炫酷的功能。
    功能:
  • 日志的收集和处理
  • 日志portal
  • 可视化集群管理:graylog 集群 和 ES 集群
    在大家平时的使用中,关注最多的功能还是搜索以及搜索的性能,在这方面graylog 做了很多优化。
    kibana 按照时间搜索,会把所有的索引全部扫描一遍。
    graylog 会根据时间的选择,只查询时间段内的索引。

setup

Graylog服务器安装,包括四块内容:

  1. mongodb
  2. elasticsearch
  3. graylog-server
  4. graylog-web
    基于 JDK/JRE 环境,

simple usage

streams:可以理解成以前的 kibana下拉选择索引。
搜索语法和 kibana 基本上没有区别,参考博客​​Kibana 使用简介及查询条件示例​​ 用双引号是精确搜索,用于有特殊字符串的场景:
如:“f871a76e-4cb0-4c41-add9-3c1da35b9e2e.M.1.1”
没有双引号的是模糊搜索
字段
也可以按页面左侧显示的字段搜索限定字段。

  • 全文搜索:field:value
  • 精确搜索:关键字加上双引号 filed:“value”
  • http.code:404 搜索http状态码为404的文档

字段本身是否存在

  • exists:http:返回结果中需要有http字段
  • missing:http:不能含有http字段

通配符
​​​?​​​:匹配单个字符;
​​​*​​​:匹配0到多个字符;
如:kiba?a, el*search。
​​​? *​​ 不能用作第一个字符,例如:?text *text

范围搜索
数值/时间/IP/字符串 类型的字段可以对某一范围进行查询:
​​​length:[100 TO 200] sip:["172.24.20.110" TO "172.24.20.140"] date:{"now-6h" TO "now"}​​​​tag:{b TO e}​​搜索b到e中间的字符
​count:[10 TO *]​​:* 表示一端不限制范围
​count:[1 TO 5}​​:[ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内,可以混合使用,此语句为1到5,包括1,不包括5。
简写:
​age:>10 age:<=10 age:(>=10 AND <20)​

逻辑操作 AND/OR/NOT
+:搜索结果中必须包含此项
-:不能含有此项
+apache -jakarta test aaa bbb:结果中必须存在apache,不能有jakarta,剩余部分尽量都匹配到

分组
​​​(jakarta OR apache) AND jakarta​​​ 字段分组
​title:(+return +"pink panther") host:(baidu OR qq OR google) AND host:(com OR cn)​​ 转义特殊字符
​+ - = && || > < ! ( ) { } [ ] ^ " ~ * ? : \ /​​ 以上字符当作值搜索的时候需要用\转义。

advance

集群部署;
脚本定制化;
日志源收集;
索引定制及优化;
……

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
TEZNKK3IfmPf