日志收集需要考虑的点
- 日志源:需要收集那些日志
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针对不同的日志源设置保存时间 - 存储空间
- 日志用处
- 分析 dashboard
- 告警
- 输出
简介
一款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地址,不需要去读取日志文件收集
日志数据清理
这里提供了三种方式进行限制,
- 限定日志数据量,数据量达到是便会自动删除最旧的历史数据,以维持数据量恒定
- 限定大小,指定数据文件总容量大小
- 限定时间,删除超时的日志数据。 可根据自己的实际情况进行设置
搜索
文档地址 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
- 创建stream(流)来讲收到的日志进行匹配,将匹配的日志存入新的索引.
- 进行告警处理
input
通常是我们第一件需要做的事情,定义接收日志的ip+端口;还可以加入静态字段
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