1. 环境准备Kubernetes 集群已部署好 Mogo已通过 DaemonSet 部署好 fluent-bit
先简单介绍下 fluent-bit 工作流程(官方文档):日志通过数据管道从数据源发送到目的地,一个数据管道可以由 Input、Parser、Filter、Buffer、Routing、Output 等组成。Input 插件:用于从数据源抽取数据,一个数据管道中可以包含多个 Input。 Parser 组件:负责将 Input 抽取的非结构化数据转化为标准的结构化数据,每个 Input 均可以定义自己的 Parser。Filter 插件:负责对格式化数据进行过滤和修改。一个数据管道中可以包含多个 Filter,多个 Filter 执行顺序与配置文件中的顺序一致。Buffer 组件:用户缓存经过 Filter 处理的数据,默认情况下Buffer把Input插件的数据缓存到内存中,直到路由传递到output为止。Routing 组件:将 Buffer 中缓存的数据路由到不同的 Output。 Output 插件:负责将数据发送到不同的目的地,一个数据管道中可以包含多个 Output。
假设你是采用的 DaemonSet 方式部署 Fluent-bit,你的目标是采集 Kubernetes 集群的 Nginx Ingress 日志和业务标准输出日志,那么你可以参考如下样例来配置你的 Fluent-bit。
你可以通过 mogo 的可视化配置界面来对 Fluent-bit 进行配置的删改,具体操作方法是:点击顶部导航栏,选择 配置。然后在页面中两个联动选择器中选择已部署 Fluent-bit 的集群 / 命名空间 / ConfigMap。如还未录入集群数据,可以参考 系统配置 进行录入。
下图是选择 xxx-dev 集群下的 kube-system 命名空间下 fluent-bit-config 这个 ConfigMap 来进行更新。
点击配置编辑区域上方『开始编辑』按钮,即编辑配置文件,编辑完成后,点击『保存』按钮,随后点击左侧 按钮,选择指定配置文件和版本之后,点击『发布』按钮,即可将配置同步至 ConfigMap。修改 ConfigMap 配置后,重启 fluent-bit 生效。
2. 配置说明假设你是采用的 DaemonSet 方式部署 Fluent-bit,如果你希望采集 Kubernetes 集群的 Nginx Ingress 日志和业务标准输出日志,那么你可以参考如下样例来配置你的 Fluent-bit。
2.1. fluent-bit.conf 配置flient-bit.conf 存储层配置全局环境配置。[SERVICE] # 刷新output输出的时间间隔,单位秒 Flush 1 # 日志级别,可设置为(error/warning/info/debug/trace) Log_Level info # 是否守护运行 Daemon off # 指定配置parse的配置文件 Parsers_File parsers.conf # 是否启动HTTP Server HTTP_Server On # HTTP Server 监听Host HTTP_Listen 0.0.0.0 # HTTP Server 监听Port HTTP_Port 2020 # 引用 input-kubernetes.conf @INCLUDE input-kubernetes.conf # 引用 filter-kubernetes.conf @INCLUDE filter-kubernetes.conf # 引用 filter-modify.conf @INCLUDE filter-modify.conf # 引用 output-kafka.conf @INCLUDE output-kafka.conf
2.2. parse.conf 配置parse.conf 配置了解析 INPUT 的 parser,Parse 组件主要是将非结构化消息转换为结构化消息。[PARSER] Name nginx Format regex Regex ^(?
[^ ]*) (?[^ ]*) (?[^ ]*) \[(?