整体工作流程
Input => Source => Filter => Match => Output
Input 是输入,通常是日志,即发往 Fluentd 的内容
Source 是来源,定义日志来源。比如从配置文件读取、监听HTTP端口等待调用者提交日志
Filter 是过滤器,用于过滤日志。比如添加字段、修改信息等等;
Match 是匹配,用于路由日志。将不同的日志发送到不同的输出;
Output 是输出,实际上是在 Match 中定义。比如 Elasticsearch、Stdout、S3 等等服务
注意事项,上图的 Input、Output 不是 Fluentd 的组成部分:
1)Input 代表请求 Fluentd 的客户端(或者内容);
2)Output 代表后端存储,即 Fluentd 将日志发往的地方;
What is Events ?
在 Source => Filter => Match 间,传递的是某种被称之为 Event 的东西。
Event 由 tag、time、time 三部分组成:
tag:日志标签,实际上只是日志属性,可能由客户端提交;
time:时间,由 Source 添加,毕竟 Event 也是由 Source 发出;
record:日志内容,由客户端提交;
参考文献