ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

fluent-bit 本地安装及配置

2021-07-13 09:31:53  阅读:463  来源: 互联网

标签:feng log sit xxx fluent 本地 var bit


1. 安装与启动

1.1. YUM方式安装

官方文档:https://docs.fluentbit.io/manual/installation/linux/redhat-centos

1.请在/etc/yum.repos.d/中添加一个名为td-agent-bit.repo的新文件,其内容如下:

[td-agent-bit] name = TD Agent Bit baseurl =
https://packages.fluentbit.io/centos/7/$basearch/ gpgcheck=1
gpgkey=https://packages.fluentbit.io/fluentbit.key enabled=1:

2.运行以下命令进行安装

yum install td-agent-bit

3.Systemd启用服务

#启用服务
sudo service td-agent-bit start
 
#重启服务
sudo service td-agent-bit restart
 
#停止服务
sudo service td-agent-bit stop

4.状态检查

service td-agent-bit status

5. 查看

d-agent-bit的默认配置是收集CPU使用率指标并将记录发送到标准输出,您可以在/var/log/messages文件中看到传出数据。

1.2. Docker方式安装

官方文档:https://docs.fluentbit.io/manual/installation/docker

docker pull fluent/fluent-bit:1.5.6
docker run -it -v /root/fluentBit/:/fluent-bit/etc/ fluent/fluent-bit:1.5.6

在/root/fluentBit创建 parsers.conf文件和fluent-bit.conf
parsers.conf 参考2.1
fluent-bit.conf2.2

2. 配置文件修改

Inputs:https://docs.fluentbit.io/manual/pipeline/inputs/tail
Outputs:https://docs.fluentbit.io/manual/pipeline/outputs/kafka
Parsers:https://docs.fluentbit.io/manual/pipeline/filters/parser

配置文件在:/etc/td-agent-bit 目录下
2.1. 修改 parsers.conf
添加以下配置:
multiline_pattern :用于解决多行日志问题
log_parser :用于对日志进行分割
[PARSER]
Name multiline_pattern
Format regex
Regex ^(?\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{3}.*)

[PARSER]
Name log_parser
Format regex
Regex (?[^]][ ]) (?[^ ]) [(?[^ ]),(?[^ ]),(?[^ ]),(?[^ ]),(?[^ ]),(?[^ ])] (?[^ ]) — [(?[^[]\n])] (?[^ ][ ]): (?[^ ]].)

正则表达式测试地址:https://rubular.com/r/X7BH0M4Ivm
表达式:
(?[^]][ ]) (?[^ ]) [(?[^ ]),(?[^ ]),(?[^ ]),(?[^ ]),(?[^ ]),(?[^ ])] (?[^ ]) — [(?[^[]\n])] (?[^ ][ ]): (?[^ ]].)
日志内容:
2020-09-11 17:27:20.261 INFO [feng-cjmfeng,b95f714e14fed76e,b95f714e14fed76e,false,] 10806 — [ Thread-53] com.bzl.feng.service.aop.ServiceAspect : Leave com.bzl.feng.service.impl.JobRelationServiceImpl::handleTrafficConflict()

2.2. 修改 td-agent-bit.conf
2.2.1. [INPUT] 获取日志
官方文档:https://docs.fluentbit.io/manual/pipeline/inputs/tail
字段值含义Nametail使用 INPUT Tail插件Tagfeng-sit.给日志打标签Path/var/log/feng-sit/.log日志所在的目录DB/var/log/feng-sit.db指定数据库文件以跟踪受监视的文件和偏移量Refresh_Interval1刷新监视文件列表的时间间隔(以秒为单位)Rotate_Wait60以秒为单位指定额外时间,以防在刷新某些未决数据时旋转文件后对其进行监视Skip_Long_LinesOn当受监视的文件由于行很长(Buffer_Max_Size)而达到缓冲区容量时,默认行为是停止监视该文件。Skip_Long_Lines会更改该行为,并指示Fluent Bit跳过长行并继续处理适合缓冲区大小的其他行MultilineOn如果启用,插件将尝试发现多行消息,并使用适当的解析器来编写传出的消息Parser_Firstlinemultiline_pattern匹配多行消息开头的解析器的名称,在parsers.conf中配置
2.2.2.
[FILTER] 过滤日志
官方文档:https://docs.fluentbit.io/manual/pipeline/filters/parser
字段值含义Nameparser使用 FILTER parser插件Matchfeng-sit.匹配 feng-sit. 的日志,在INPUT中打过标签Key_Namelog指定要解析的记录中的字段名Parserlog_parser使用的 Parser规则,在parsers.conf 配置Reserve_DataOn在解析后的结果中保留所有其他原始字段,如果为false,则将删除所有其他原始字段。Preserve_KeyOn如果键是一个转义的字符串(例如stringify JSON),在应用解析器之前取消转义。
2.2.3. [OUTPUT] 输出日志~调试
查看效果: tail -f /var/log/messages
[OUTPUT]
Name stdout
Match feng-sit.*


字段值含义Namestdout使用 OUTPUT stdout插件Matchfeng-sit.匹配 feng-sit. 的日志,在INPUT中打过标签
2.2.4.
[OUTPUT] 输出日志 到kafka
官方文档:https://docs.fluentbit.io/manual/pipeline/outputs/kafka
字段值含义Namestdout使用 OUTPUT stdout插件Matchfeng-sit.var.log.feng-sit.feng-cjmfeng匹配var/log/feng-sit/feng-cjmfeng 的日志
feng INPUT中的Tag为: feng-sit.* Path为:/var/log/feng-sit/.log
Math写成 feng-sit.var.log.feng-sit.feng-cjmfeng
Brokers10.8.xxx.xxx:32001,10.8.xxx.xxx:32002,10.8.xxx.xxx:32003kafka地址Topicstest.sit.feng-cjmfeng.logkafka 的Topic。命名规则:环境.项目.log 例:sit.feng-cjmfeng.logrdkafka.message.max.bytes200000000最大Kafka协议请求消息大小。由于协议版本之间的框架开销不同,生成方无法可靠地在生成时强制执行严格的最大消息限制,并且可能超过协议生成方请求中的最大消息大小,代理将强制执行主题的max.message。字节限制(请参阅Apache Kafka文档)。rdkafka.fetch.message.max.bytes204857600从代理获取消息时,每个主题+分区请求的初始最大字节数。如果客户端遇到大于此值的消息,它将逐步尝试增加该值,直到可以获取整个消息。

[SERVICE]
Flush 5
Daemon Off
Log_Level info
Parsers_File parsers.conf
Plugins_File plugins.conf
HTTP_Server Off
HTTP_Listen 0.0.0.0
HTTP_Port 2020

[INPUT]
Name tail
Tag feng-sit.*
Path /var/log/feng-sit/*.log
DB /var/log/feng-sit.db
Refresh_Interval 1
Rotate_Wait 60
Skip_Long_Lines On
Multiline On
Parser_Firstline multiline_pattern

[INPUT]
Name tail
Tag feng-elevator.*
Path /var/log/feng-elevator/*.log
DB /var/log/feng-elevator.db
Refresh_Interval 1
Rotate_Wait 60
Skip_Long_Lines On
Multiline On
Parser_Firstline multiline_pattern

[FILTER]
Name parser
Match feng-sit.*
Key_Name log
Parser log_parser
Reserve_Data On
Preserve_Key On

[FILTER]
Name parser
Match feng-elevator.*
Key_Name log
Parser log_parser
Reserve_Data On
Preserve_Key On

[OUTPUT]
Name kafka
Match feng-sit.var.log.feng-sit.feng-cjmfeng*
Brokers 10.8.xxx.xxx:32001,10.8.xxx.xxx:32002,10.8.xxx.xxx:32003
Topics test.sit.feng-cjmfeng.log
rdkafka.message.max.bytes 200000000
rdkafka.fetch.message.max.bytes 204857600

[OUTPUT]
Name kafka
Match feng-elevator.var.log.feng-elevator.feng-cjmfeng*
Brokers 10.8.xxx.xxx:32001,10.8.xxx.xxx:32002,10.8.xxx.xxx:32003
Topics test.elevator.feng-cjmfeng.log
rdkafka.message.max.bytes 200000000
rdkafka.fetch.message.max.bytes 204857600

标签:feng,log,sit,xxx,fluent,本地,var,bit
来源: https://blog.csdn.net/weixin_42555971/article/details/118225071

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有