ELK系列~对fluentd参数的理解

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

这段时候一直在研究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会有下面提示

2 没有任务key_name,会在结尾出现\r符号,我们需要去自己在output里过滤它,否则json转换失败

 3 找到了对应的key_name

4 fluentd.conf配置注意点:

感谢各位的阅读!

希望本文章可以帮您快速的解决问题!

 本文转自博客园张占岭(仓储大叔)的博客,原文链接:ELK系列~对fluentd参数的理解,如需转载请自行联系原博主。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5月前
|
存储 监控 数据可视化
ELK与Fluentd的结合
【6月更文挑战第18天】构建Python分布式日志系统,结合ELK(Elasticsearch、Logstash、Kibana)与Fluentd,用于日志收集、存储和分析。Fluentd作为数据收集器,接收Python应用日志,通过Logstash转发至Elasticsearch索引,Kibana提供可视化界面。流程包括安装配置ELK,配置Fluentd输入输出插件,Python中使用`fluent-logger`发送日志,Kibana查看分析数据。系统可扩展、优化,涉及数据格式化、性能调优、安全性和监控。
83 7
ELK与Fluentd的结合
|
6月前
|
存储 监控 数据可视化
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
1385 0
|
6月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
2月前
|
存储 消息中间件 网络协议
日志平台-ELK实操系列(一)
日志平台-ELK实操系列(一)
|
17天前
|
存储 监控 安全
|
3月前
|
消息中间件 Kafka 开发工具
rsyslog+ELK收集Cisco日志
rsyslog+ELK收集Cisco日志
|
3月前
|
运维 监控 Ubuntu
一键启动日志魔法:揭秘ELK自动安装脚本的神秘面纱!
【8月更文挑战第9天】在数据驱动时代,高效处理日志至关重要。ELK Stack(Elasticsearch、Logstash、Kibana)是强大的日志分析工具,但其复杂的安装配置常让初学者望而却步。本文介绍如何编写ELK自动安装脚本,简化部署流程。脚本适用于Ubuntu系统,自动完成ELK下载、安装及基本配置,包括依赖项安装、服务启动及自启设置,极大降低了使用门槛,助力运维人员和开发者轻松构建日志分析平台。
155 6
|
3月前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
131 0
部署ELK+filebeat收集nginx日志
|
3月前
|
存储 消息中间件 监控
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统ELK、日志收集分析
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统、日志收集分析。日志级别从小到大的关系(优先级从低到高): ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 低级别的会输出高级别的信息,高级别的不会输出低级别的信息