日志收集需要考虑的点

  • 日志源:需要收集那些日志
    graylog支持以下日志收集插件
    Syslog (TCP, UDP, AMQP, Kafka)
    GELF (TCP, UDP, AMQP, Kafka, HTTP)
    AWS (AWS Logs, FlowLogs, CloudTrail)
    Beats/Logstash
    CEF (TCP, UDP, AMQP, Kafka)
    JSON Path from HTTP API
    Netflow (UDP)
    Plain/Raw Text (TCP, UDP, AMQP, Kafka)
  • 日志保存时间
    graylog日志保存在elasticsearch中,可以通过stream–>indecis针对不同的日志源设置保存时间
  • 存储空间
  • 日志用处
  1. 分析 dashboard
  2. 告警
  3. 输出

简介
一款log收集方案,存储用的mongodb,搜索引擎使用elasticsearch提供,自身集成web端,最新版本为3.0版本.
功能:日志收集、告警(REST API为扩展安全预警策略提供各种方便)、分析、输出

文档地址
官方文档 http://docs.graylog.org/en/3.0/index.html graylog-sidecar下载地址 https://github.com/Graylog2/collector-sidecar/releases

日志收集端
各种beats,比如filebeat,去读取日志收集
Springboot等Java项目的日志:可以直接在项目配置input地址,不需要去读取日志文件收集

日志数据清理
这里提供了三种方式进行限制,

  1. 限定日志数据量,数据量达到是便会自动删除最旧的历史数据,以维持数据量恒定
  2. 限定大小,指定数据文件总容量大小
  3. 限定时间,删除超时的日志数据。 可根据自己的实际情况进行设置

搜索
文档地址 http://docs.graylog.org/en/3.0/pages/queries.html#

仪表盘
文档地址 http://docs.graylog.org/en/3.0/pages/dashboards.html

stream和index set

  • index set:索引
    针对不同source日志创建不同规则的索引,比如 nginx日志保存1个月,java日志保存1周等.
  • stream
  1. 创建stream(流)来讲收到的日志进行匹配,将匹配的日志存入新的索引.
  2. 进行告警处理

input

通常是我们第一件需要做的事情,定义接收日志的ip+端口;还可以加入静态字段

graylog es 高级配置 graylog api_html


Extractors

提取器,作用于每一条message上,可以将某个字段(比如message中某个字段)提取出来,形成新的字段加入到该message上

位置:input --> extractors

文档位置 http://docs.graylog.org/en/3.0/pages/extractors.html

pipe
Graylog的新处理管道插件允许在消息流经Graylog时更灵活地路由,列入黑名单,修改和丰富消息
管道和规则不是预构建代码的配置,因为提取器和流规则是

  • pipe:分stage(阶段),并且具有优先级,rule运行时是按照其优先级执行的,和其定义顺序无关
  • rule:规则是处理管道的基石。它们包含有关如何更改,丰富,路由和删除消息的逻辑

文档地址 http://docs.graylog.org/en/3.0/pages/pipelines/rules.html