graylog简介

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 graylog简介,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142386.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!