摘要: in_tail输入插件内置于Fluentd中,无需安装。 它允许fluentd从文本文件尾部读取日志事件,其行为类似linux的tail -F命令(按文件名来tail)。 这几乎是最常用的一个输入插件了。 示例配置 <source> @type tail path /var/log/httpd-ac 阅读全文
posted @ 2020-11-03 17:56 哈喽哈喽111111 阅读(1518) 评论(0) 推荐(0) 编辑
摘要: out_forward是一个带缓存的输出插件,用于向其他节点转发日志事件,并支持转发节点之间的负载均衡和自动故障切换。 out_forward支持至多一次和至少一次传输模式,默认为至多一次。 out_forward内置于Fluentd,无需安装。 1.示例配置 <match pattern> @ty 阅读全文
posted @ 2020-11-03 17:45 哈喽哈喽111111 阅读(480) 评论(0) 推荐(0) 编辑
摘要: in_forward插件通常用于从其他节点接收日志事件,这些节点包括其他Fluentd实例、fluent-cat命令行或者Fluentd客户端程序。这是目前效率最高的日志事件接收方法。 in_forward插件会在本地打开一个tcp监听socket,用于接收日志事件。同时,它也会开启一个udp端口用 阅读全文
posted @ 2020-11-03 17:39 哈喽哈喽111111 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 通过一个例子进行阶段总结。 本示例使用到如下插件:in_tail, out_copy, out_stdout, out_forward, in_forward。 本示例包含两个节点: node_forwarder: 使用in_tail收集nginx的access日志,将其输出到stdout,同时通过 阅读全文
posted @ 2020-11-03 17:32 哈喽哈喽111111 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 告警是预防系统故障的一个重要工具,目前已经有许多成熟的方案通过监控系统运行指标来进行阈值预警。今天简单了解一下如何使用Fluentd实现邮件告警功能。 Fluentd的告警是基于日志分析实现的,通过监测日志中的业务状态信息,及时识别严重错误,实时发送告警信息。 以分析Apache的访问日志为例,了解 阅读全文
posted @ 2020-11-03 17:25 哈喽哈喽111111 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 在某些日志采集场景中,我们需要对数据流进行一些转换。比如,我们可能需要从日志记录中提取某些字段以进行错误告警,或向日志记录中插入新的字段用以后续的分析。 本文简单介绍一下使用Fluentd进行数据操作的技术细节。 根据日志字段取值来过滤事件 谈到过滤,我们通常会想到正则表达式,在linux中通常使用 阅读全文
posted @ 2020-11-03 17:22 哈喽哈喽111111 阅读(704) 评论(0) 推荐(0) 编辑
摘要: Fluentd+MongoDB,用以实时收集半结构化数据。 背景知识 日志接入Fluentd后,会以json的格式在Fluentd内部进行路由。这就决定了Fluentd处理日志的方式是非常灵活的,它将日志视为半结构化数据,可以方便地修改其结构。 相应地,日志的最终存储数据库也应该擅长处理这样的半结构 阅读全文
posted @ 2020-11-03 17:17 哈喽哈喽111111 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 收集日志是为了做进一步的分析。收集是第一步,收集到日志后还需要进行存储、索引,以便进行快速查询分析。我们还需要一个友好的查询界面,来方便用户使用日志。 本文介绍一个免费的开源软件组合,正好可以实现上述目的。它们就是Fluentd + Elasticsearch + Kibana,简称EFK。 Flu 阅读全文
posted @ 2020-11-03 17:10 哈喽哈喽111111 阅读(452) 评论(0) 推荐(0) 编辑
摘要: Fluentd系统配置项 https://www.cnblogs.com/sanduzxcvbnm/p/13920972.html Fluentd自身日志 https://www.cnblogs.com/sanduzxcvbnm/p/13921045.html 几种监控Fluentd的方法 http 阅读全文
posted @ 2020-11-03 16:57 哈喽哈喽111111 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 介绍一下排查Fluentd运行时错误的几种方法。 查看日志 如果感觉Fluentd运行异常,请先查看日志。td-agent安装后,默认日志存放在/var/log/td-agent/td-agent.log。 开启详细日志 Fluentd日志支持多个级别,打开详细的日志有助于发现问题。有以下几种方法可 阅读全文
posted @ 2020-11-03 16:56 哈喽哈喽111111 阅读(806) 评论(0) 推荐(0) 编辑
摘要: 介绍如何使用Fluentd的多worker模式处理高访问量的日志事件。此模式会运行多个worker进程以最大利用多核CPU。 原理 默认情况下,一个Fluentd实例会运行一个监控进程和一个工作进程。工作进程包含了Input/Filter/Output各类插件。 多worker模式就是一个实例中启动 阅读全文
posted @ 2020-11-03 16:52 哈喽哈喽111111 阅读(935) 评论(0) 推荐(0) 编辑
摘要: 如果你的日志请求达到了5000条/秒,这里描述的技术点可用于调优。 检查操作系统配置 在安装Fluentd之前,进行操作系统参数优化。 通过top查看系统瓶颈 如果发现Fluentd运行效率不佳,可先查看一下当前系统瓶颈在哪里:CPU?内存?磁盘IO? 避免额外运算 不要在Fluentd中执行过多的 阅读全文
posted @ 2020-11-03 16:48 哈喽哈喽111111 阅读(1267) 评论(0) 推荐(0) 编辑
摘要: 对于高访问量的web站点或者服务,可以采用Fluentd的高可用配置模式。 消息分发语义 Fluentd设计初衷主要是用作事件日志分发系统的。这类系统支持几种不同的分发模式: 至多一次。消息被立即发送,若传输成功,该消息不会再被发送。发送失败,则会导致消息丢失。现实环境下会有很多情况导致发送失败,比 阅读全文
posted @ 2020-11-03 16:45 哈喽哈喽111111 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 监控的目的是确保日志采集能稳定高效运行。 Fluentd内部运行指标 Fluentd内部保存着一些运行指标,这些指标可通过REST api直接获取,也支持通过第三方工具,如Prometheus,来访问。Prometheus是官方推荐的监控工具。 进程监控 Fluentd运行后会产生两个ruby进程, 阅读全文
posted @ 2020-11-03 16:40 哈喽哈喽111111 阅读(760) 评论(0) 推荐(0) 编辑
摘要: Fluentd是用来处理其他系统产生的日志的,它本身也会产生一些运行时日志。Fluentd包含两个日志层:全局日志和插件级日志。每个层次的日志都可以进行单独配置。 日志级别 Fluentd的日志包含6个级别:fatal、error、warn、info、debug和trace。级别依次递增,高级别的日 阅读全文
posted @ 2020-11-03 16:30 哈喽哈喽111111 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: Fluentd的全局配置项,诸如开启RPC、使用多worker模式等。可在配置文件中通过<system>进行配置,或通过命令行进行配置。 参数 workers:指定worker进程数,默认为1 root_dir:配置root目录 log_level:设置日志级别,可选值为trace、debug、in 阅读全文
posted @ 2020-11-03 16:23 哈喽哈喽111111 阅读(1071) 评论(0) 推荐(0) 编辑
摘要: 事件(Event)是Fluentd内部处理流程使用的数据结构,日志记录一旦进入Fluentd便被封装成一个event。Event由三部分组成:tag、time、record。 tag: 标识事件的来源,或者说类型,用于内部消息路由,即后续交由哪个插件处理; time: 是事件的发生时间; recor 阅读全文
posted @ 2020-11-03 14:44 哈喽哈喽111111 阅读(314) 评论(0) 推荐(0) 编辑
摘要: Fluentd通过读取配置文件来加载各插件,日志经由各插件的处理完成输入到输出的整个路由。 本文通过一个最简单的示例来说明配置文件的结构。td-agent.conf默认位于/etc/td-agent/下,先来看一下配置文件: <source> @type tail @id input_tail <p 阅读全文
posted @ 2020-11-03 14:03 哈喽哈喽111111 阅读(601) 评论(0) 推荐(0) 编辑
摘要: Fluentd是一个跨平台的开源系统,支持在Linux(Redhat、Ubuntu、Debian)、Windows平台上运行。MacOS呢?官方并没有明显指出,但是在安装说明中列出了通过Ruby Gem进行安装的方法,想必也支持MacOS系统。 Fluentd是用C+Ruby来开发的,考虑到很多开发 阅读全文
posted @ 2020-11-03 13:37 哈喽哈喽111111 阅读(1622) 评论(0) 推荐(0) 编辑