那段时候一贯在钻探ELK框架,主要集成在对fluentd和nxlog的研究上,国内文章不多,首要看了眨眼之间间合法的API,合营自个儿的驾驭,计算了刹那间,希望得以帮到刚出道的情侣们!

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

Fluentd是2个免费,而且完全开源的日记管理工科具,简化了日志的募集、处理、和存款和储蓄,你能够不必要在爱惜编写特殊的日志处理脚本。Fluentd的性质已经在各领域得到了表达:近年来最大的用户从四千+服务器收集日志,天天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正是那种协议的,架构上说便是1个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符号,大家需求去本人在output里过滤它,否则json转换失利

json 2

 3 找到了相应的key_json,name

json 3

4 fluentd.conf配置注意点:

json 4

感激各位的开卷!

企望本文章能够帮您火速的消除难题!

 

相关文章

网站地图xml地图