Redian新闻
>
ES09# Filebeat配置项及吞吐调优项梳理

ES09# Filebeat配置项及吞吐调优项梳理

科技
引言

公司有使用filebeat作为日志采集的agent,然而最近发现其在一些node采集吞吐不足,现就其配置项与吞吐调优进行梳理。本文的主要内容有:

  • Input输入配置项
  • 通用以及全局配置项
  • Output输出配置
一、Input输入配置项

Filebeat支持众多的Inputs,以日志文本类为例梳理其配置项,主要配置项如下:

配置项说明
type取值log或者filestream,7.16.0以后log声明为废弃
enabled是否开启,默认关闭
paths抓取的日志文件配置,例如:- /var/log/*.log
encoding读取使用的编码,默认为plain,可选utf-8、gbk等
exclude_lines读取文件时丢掉哪些行,默认没有丢弃。例如:['^DBG'] 排除以DBG开头的行
include_lines指定需要读取的行,默认所有行均会读取。例如:['^ERR', '^WARN']读取以ERR和WARN开头的行
exclude_files排除哪些文件不采集,例如:['.gz$']排除.gz结尾的文件
file_identity.native判断两个文件是否相同,默认使用inode和device id
fields在输出的每条日志增加额外的信息,默认会在fields新建子目录
fields_under_root表示新增的字段fields为顶级目录
keep_null是否在事件中发布具有null的字段,默认false
publisher_pipeline.disable_host是否禁止设置host.name,默认false
ignore_older超过指定时间段未更新的文件将被忽略,例如:2h,日志文件修改时间超过2h将被filebeat忽略;默认为0,不忽略任何文件
scan_frequency监测新文件产生的频率,默认为10s
harvester_buffer_size单个文件采集器harvester每次使用缓存区的大小,也就是读取文件的大小;默认为16KB;提高吞吐的调优项
max_bytes限制一条日志的大小,超出部分将被丢弃,默认为10M
line_terminator行的分割符,默认auto
recursive_glob.enabled扩展"**"的文件递归模式,默认开启
json.message_key可选设置,用于在行过滤和多行合并时指定json key,需json对象中顶层字符串
json.keys_under_root默认false,json解码后以”json“为key,设置为true,该key将被设置为顶级
json.overwrite_keys默认false,设置为true,keys_under_root开启的情况下,解码后的json字段将覆盖Filebeat字段
json.expand_keys默认false,设置为true递归去点。例如:{"a.b.c": 123}转换为{"a":{"b":{"c":123}}}
json.add_error_key默认false,设置为true,如果json编译失败将添加错误key"error.message" 和 "error.key: json"。
multiline.pattern多行合并可以讲堆栈信息合并成一条发送,此配置未多行合并正则表达式。例如:'^[[:space:]]' 将空格开头的合并发送
multiline.negate默认false,是否定义否定模式,上面的正则表达式语义相反
multiline.match默认after,多行合并一行事件的模式。可选after和before
multiline.max_lines多行合并中的最大行数,超过该设置将被丢弃。默认为500
multiline.timeout多行合并模式匹配中,一次合并的超时时间,默认为5秒
tail_files默认false从头读取新文件,设置为true从尾部读取新文件
symlinks默认false,不处理常规文件的符号链接。
backoff默认1秒,Filebeat检测到EOF后,再次检查文件时的等待时间
max_backoff默认10秒,Filebeat检测到EOF后,再次检查文件时的等待最长时间
backoff_factor默认2,等待时间系数,表示每次等待时间是上一次的两倍,最长默认为10秒
harvester_limit默认0,没有限制。用于限制一个input中harvester的启动数量
close_eof默认false,当读到文件末尾harvester会继续工作不关闭,true表示读到文件末尾后结束
close_inactive当close_eof为false时有效,表示多长时间没消息时harvester退出
close_renamed默认false,文件更名(日志文件轮替)时不退出
close_removed默认true,表示文件被删除时harvester停止工作
clean_inactive默认0,被禁用。当文件修改时间超过clean_inactive,registry的state将被移除
clean_removed默认true,从registry移除不存在的日志文件
close_timeout默认0,不限制。harvester每次读取文件的超时时间。

备注:当filebeat性能不足时可以通过调优harvester_buffer_size的大小来提高读取日志的能力,需要指定不同的文件,可以定义多个input。

二、通用以及全局配置项

配置项说明
filebeat.registry.pathRegistry数据存储路径,默认${path.data}/registry
filebeat.registry.file_permissionsregistry文件权限,默认0600
filebeat.registry.flush控制registry entries刷盘的频率,默认为1秒
filebeat.shutdown_timeout默认为0,不等待。filebeat等待publisher关闭的时长
namefilebeat指定名字,默认为hostname
tags给每条日志加标签,便于过滤
fields给每条日志加字段,保存在fields字段中
fields_under_root默认false,是否将fields的字段保存为顶级字段
timestamp.precisionfilebeat时间戳精度,默认millisecond
queue存储事件的内部缓存队列,当队列中事件达到最大值,input将不能想queue中写入数据,直到output将数据从队列拿出去消费。
mem.events内部缓存队列queue最大事件数,默认为4096
flush.min_eventsqueue中的最小事件,达到后将被发送给output,默认为2048
flush.timeout定时刷新queue中的事件到output中,默认为1s

备注:调整mem.events、flush.min_events、flush.timeout,增加内存,牺牲一些实时性,可提高吞吐。


三、Output输出配置项

filebeat支持众多不同的output作为目标输出源,本文以kafka为例梳理其配置项。

配置项说明
output.kafka输出类型为kafka
hostskafka集群broker地址
topic用于生成事件的kafka主题
keykafka的事件key,需唯一,默认不生成
partition.hash发送到kafka分区的策略,默认通过key has,未设置key则随机
reachable_only默认false,设置为true则发送到kafka 可用的 leaders分区
metadata.retry.maxLeader选举元数据请求的重试最大次数
metadata.retry.backoffLeader选举期间重试的时间间隔,默认为250ms
metadata.refresh_frequency元数据刷新频率,默认为10分钟
worker并发负载均衡 Kafka output workers的数量,默认为1
max_retries发布失败后的重试次数,默认为3
backoff.init当发送kafka发生网络错误,经过多久重新发送,默认1秒
backoff.max发生网络错误后会重试,每次递增直到最大值后丢弃,默认最大值为60s
bulk_max_size单次kafka request请求批量的消息数量,默认2048
bulk_flush_frequency批量发送kafka request需要等待的时间,默认0不等待,与linger.ms功能相同
timeout等待broker返回的超时时间,默认30s
required_ackskafka broker的确认机制,1:leader确认,0:无需确认,-1:所有broker确认

备注:降低发送到broker频率,提高一次发送的数量,通过bulk_max_size、bulk_flush_frequency以及required_acks可以调优发送到kafka的吞吐。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
CK01# ClickHouse术语及知识点梳理FA17# 缓存设计治理点梳理Chinese Band Uses Lockdown Metaphors as Tour TitlesAmEx Delta SkyMiles Reserve Business 商业信用卡110k 开卡奖励;退役波音747限量版卡面ES06# Filebeat采集原理与监控指标梳理Their Secret Sales Weapons? Language Lessons职业移民 EB1, EB2(包括 NIW) 和 EB3 的 2017-2022 批准数据【宏观经济】工业用地抵押转让:约束条件全梳理10亿+/秒!看阿里如何搞定实时数仓高吞吐实时写入与更新一周年特别节目梳理独立纪录片导演之邱炯炯 | 凹凸TOALL第38期Citi价值150w的PPT配色方案曝光!看完只想说:钱花得值我的城市(25) — Marlborough StreetES08# ElasticSearch中的SQL查询Chinese Cities Loosen Housing Policies for Three-Child Families终于迎来EB5的“春天”啦,7月共签发639张签证;而留学签证继续“霸榜”第一,共签发14098张!给大家梳理下,为互联网「无偿」打工的各种场景美丽日本京都:几个最著名的景点德州校园枪击案最新进展梳理|费城学区推迟高中晚开学计划|与市政府官员接洽时注意事项The Questionable ‘Chinese-ness’ of Chinese Sci-Fi走向墨西哥39 – 如果时间是无限的讀《我叫劉心武》有感子奖项及参评方式重磅发布 | CFO精英 100ES07# Elasticsearch索引指标梳理Coles豪掷千万推出新项目!网友:这是Coles最正确的一次决定An Online Series on Male Baldness Scrutinizes Appearance Anxiety瞬时流量高峰场景下的高可用架构设计:Kubernetes集群如何调优?| Q推荐赴美:赴美手续梳理(6.12起,不在需要行前新冠检测)附赴美清单A Disabled Chinese Poet Falls Victim to Domestic ViolenceCK02# ClickHouse分布式表读写原理梳理居家抗疫美食(369):玉米面窝窝头配酱香香干肉末k8s01# K8s日志采集与服务质量QoSPPT配色“太乱了”,听话,下次别这么做了!一文梳理汽车半导体芯片的投资机会CK03# ClickHouse日志存储设计点梳理FA15# 日志平台演进点梳理
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。