立刻段上一直当研究ELK框架,主要集成以对fluentd和nxlog的研究达成,国内篇不多,主要关押了瞬间官方的API,配合好的明亮,总结了瞬间,希望可以辅助到正出道的爱人等!

Fluentd(日志收集及过滤,server)

Fluentd是一个免费,而且完全开源之日记管理工具,简化了日志的募集、处理、和贮,你可免欲在保安编写特殊之日记处理脚本。Fluentd的性已于各级领域取得了征:目前最好老之用户从5000+服务器收集日志,每天5TB的数据量,在山上日拍卖50,000漫漫信息每秒。它可以在客户端与服务端分别配备,客户端收集日志输出到服务端。

fluentd的劳作由她的部署文件决定,我们得安装它的种,格式,端口,绑定主机,tag标签等。

<source>
    @type tcp
    tag pilipa
    format none
    port 24224
    bind 0.0.0.0
  </source>
  <filter docker.**>
    type parser
    format json
    time_format %Y-%m-%dT%H:%M:%S.%L%Z
    key_name log
    reserve_data true
  </filter>
  <match **>
    @type stdout
  </match>
</ROOT>

Source节点

source主要是布一个TCP,格式为有着,端口为默认的24224,绑定主机为和谐IP的服务,它对应之客户端将是TCP的,我们的nxlog就是这种协议的,架构上说就是是一个c/s结构,由nxlog负责将多少作到fluentd上面。

filter节点

filter就是过滤规则,当source.tag复合filter的条条框框时,就执行是filter进行过滤行为
match是fluentd收到多少后的拍卖, @type
stdout是负于支配高出口,而我们生儿育女条件将它们输出到了elasticsearch上面(
@type
elasticsearch),处理的格式是json,如果以拓展parser.json失败后,数据就是不见面正常的写入指定的数据表了,当然你可以拿坏的数码存储到elasticsearch的其他表里。

协调在实践中总结的地方:

source里类型为@tcp类型时,它的tag是好重大之,我们的先后要提供这tag,当然要您指定了端口,那这个tag就是现阶段端口的,而filter要根据这tag去匹配自己,比如windows的tag,它会招来以windows开头的fitler。
filter里的key_name,对承诺客户端发送信息不时的主属性名称,有的是log,有的是message,有的是msg,像nxlog这种客户端它以行使tcp时key)name是message,下面说几种植情况:

1
匹配了filter但没有找到key_name会有下提示

json 1

2
没有任务key_name,会当末出新\r符号,我们得去协调在outputjson里过滤她,否则json转换失败

json 2

 3 找到了对应之key_name

json 3

4 fluentd.conf配置注意点:

json 4

感各位的读书!

期望以章可帮忙你快的解决问题!

 

相关文章

网站地图xml地图