天天看点

FinTech研发报告-之大数据技术(第八章)

应用日志分析场景(ELKStack)

FinTech研发报告-之大数据技术(第八章)
  1. Logstash
  • Inputs:你使用Inputs去获取数据到Logstash中,常用的inputs类型。
  • file:从文件中读取,类似于UNIX命令中的 tail -0f。
  • syslog:监听514端口上的系统日志消息,并且根据RFC3164格式来解析。
  • redis:从redis服务读取信息,使用redis管道和redis列表。Redis经常用来使用作为一个“broker”在一个集中的Logstash安装,运输Logstash事件从一个远程的Logstash“shippers”。
  • beats:由Filebeat发送的进程事件。
    • Outputs:Outputs是Logstash传输途径中的最后解析。一个事件可以有多个输出,但是一旦所有的输出处理完成后,该事件就完成了它的执行。
  • elasticsearch:传输数据给Elasticsearch。如果你打算保存数据在一个高效的,方便的,更轻松的可查询结构中。
  • file: 将事件数据写在磁盘中。
  • graphite:把数据传输到graphite,一个受欢迎的开源工具用来保存和图表化数据。
  • statsd:Statsd是一个简单的网络守护进程,基于Node.js平台,通过UDP或者TCP方式侦听各种统计信息,包括计数器和定时器,并发送聚合信息到后端服务。
    • Codecs:基于流,可以对一部分输入输出做过滤的操作。Codes可以让你轻松的将消息从序列化的过程中分离出来。
  • json:编码或解码数据为Json格式。
  • multiline:合并多行数据事件例如java异常和堆栈信息为一个单独的事件。​​​​​​

    2.ElasticSearch

    3.Kibana

    4.模式分析

Logstash工具中的Inputs模式包括一种File模式,自动探测文件增长变化,比较适合无入侵式日志采集,不需要修改应用,也不需要二次开发文件探测程序,这与Flume架构有很大区别。

应用日志分析场景(Flume)

FinTech研发报告-之大数据技术(第八章)

1.应用日志写入Flume模式

外挂模式:Flume SDK:自己编写日志探测程序并且通过 SDK RPC写入Flume 服务端的Source中,

内嵌模式:需要修改应用写日志部分,写日志时调用内嵌Flume Agent将日志写入Flume服务端的Source中

内置Log4j:Flume Agent中自带了Log4j实现类,应用中用的Log4j实现类,配置为Flume Agent自动的Log4j实现类(org.apache.flume.client.log4jappender.log4j.Appender)

​​​​​​​2.应用分析

不管是外挂模式还是内嵌模式,都会有一些限制,外挂模式需要自己实现文件变化监控功能,内嵌模式,需要修改日志写入部分代码,写入文件的同时必须调用Flume API发送日志到Flume服务端的Source中,内置Log4j需要项目中必须使用Log4j日志框架,只能是Java平台。

继续阅读