graylog简介

what

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

johnny233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值