问题标签 [fluent-bit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - FluentBit 和 ES 的日志条目重复和丢失
我们FluentBit
用于将微服务日志发送到ES
其中一个环境,最近发现了一个问题:一些日志条目重复(多达数百次),而其他条目丢失ES/Kibana
但可以在微服务的容器中找到(kubectl logs my-pod -c my-service
)。
每个重复的日志条目都有一个唯一的_id
,_fluentBitTimestamp
所以看起来问题出在 FluentBit 这边。
FluentBit 版本为 1.5.6,配置为:
任何帮助将非常感激。
logging - Fluent Bit Input 插件“转发”是否支持多行日志处理?
我试图通过 Fluent Bit 转发插件解决将 Java 堆栈跟踪消息合并到一个日志事件中的问题。原始日志写成带有分隔符的纯文本(不是 JSON 格式),所以我必须处理多行问题。日志由 dockerized 服务提供,例如:
当我使用从文件系统读取某些服务日志的tail插件时,我得到的消息合并得很好
解析器.conf:
流利的bit.conf
然后我将事件正确合并到记录标准输出中
但是当我尝试使用具有类似配置的转发插件来获得相同的结果时 - 我将每个堆栈跟踪行作为单独的记录
流利的bit.conf
标准输出
我猜前向插件不支持多行,尽管它没有报告此配置的任何错误/警告。
问题是:如何配置fluent bit input forward插件将多行日志消息合并为一条记录? 这个问题有什么解决办法吗?
docker - 如何在 fluent-bit 中列出日志文件?
我在 docker 中使用 fluent-bit 版本 1.6.2,并带有以下 INPUT 部分:
如何列出这些日志文件?我无法使用docker exec -it
. 我想分别标记这些文件。我想为每个容器名称设置一个单独的标签。
编辑:我想我要问的是这些星号可以替换为容器名称还是假设不正确?
elasticsearch - 使用 fluent-bit 与 kubernetes 过滤器和 elasticsearch 输出时丢失日志条目
有时我们会发现 ES 中缺少一些日志,而我们可以在 Kubernetes 中看到它们。
只有我能够找到的日志中的问题,指出了 kubernetes 解析器的问题,在流利的位日志中存在以下问题:
[2020/11/22 09:53:18] [debug] [filter:kubernetes:kubernetes.1] could not merge JSON log as requested
一旦我们将 kubernetes 过滤器配置为“Merge_Log”选项为“Off”,问题似乎就消失了(至少在 fluent-bit 日志中不再出现“警告/错误”)。但是当然我们失去了一个很大的功能,例如实际上具有除“消息”本身之外的字段/值。
除此之外,在 fluent-bit 或 elasticsearch 中没有其他错误/警告消息,这就是我主要怀疑的原因。日志(信息中的日志级别)填充:
如果我为 log_level 启用“调试”,那么我确实看到了这些1. [2020/11/22 09:53:18] [debug] [filter:kubernetes:kubernetes.1] could not merge JSON log as requested
,我认为这是块无法刷新的原因,因为当所有“merge_log”都关闭时,我没有刷新块错误。
我目前的流利位配置是这样的:
“kube-apiserver. ”的 Merge_Log 已关闭,到目前为止工作正常,尽管最终行为是不可取的(没有进行字段映射)。“kube. ”的 Merge_Log 已打开,并且正在按预期在 ES 中生成字段……但我们正在丢失日志。
我在 kubernetes 解析器中找到了导致此错误的相关代码,但我缺乏了解如何“修复”导致此消息的错误的知识https://github.com/fluent/fluent-bit/blob/master /plugins/filter_kubernetes/kubernetes.c#L162
这开始非常令人沮丧,我无法弄清楚为什么会发生这种情况或更好,如何解决它。请问有什么帮助吗?
influxdb - 如何设置 InfluxDB 自定义测量名称当我将 Fluent-bit Tail 插件与 Kubernetes 过滤器一起使用时
当我使用带有 Fluent-bit 的 InfluxDB 输出插件时,我想设置自定义 InfluxDB 测量名称,如kubernetes
. 但是,kubernetes 日志存储的当前测量名称是每个日志文件名:
kube.var.log.containers.apache-logs-annotated_default_apache-aeeccc7a9f00f6e4e066aeff0434cf80621215071f1b20a51e8340aa7c35eac6.log
这是我的配置文件:
我应该怎么办?
communication - fluentbit 无法与 fluentd 通信
我正在尝试使用 ipv6 进行简单的 fluentbit / fluentd 测试,但它不起作用。
fluentbit端的配置:
流利端的配置:
我用命令 fluentd 启动:/usr/sbin/td-agent -c test.conf
然后,我使用以下命令启动 fluentbit: /opt/td-agent-bit/bin/td-agent-bit -c test.conf
输出显示通信存在问题:
但是,当我在不使用配置文件但传递参数的情况下运行命令时,它可以工作:
有谁知道有什么区别以及我如何解决这个问题?
docker - 将容器内的文件指定为 Fluent 位的输入
如果我有一个容器将其日志写入文件,例如/var/log/app.log,我如何配置 Fluent 位以从该文件中读取容器的日志?我的 K8S ConfigMap 中有这个配置:
macos - FLUENT-BIT: [io_tls] flb_io_tls.c:359 X509 - 证书验证失败,例如 CRL、CA 或签名检查
我正在尝试使用 fluent-bit 将日志从 MacBook Pro 推送到 s3,但出现以下错误。
我尝试生成证书或禁用 TLS,但仍然收到相同的错误
amazon-web-services - Fluent-Bit 将 kubernetes 日志发送到 AWS Cloudwatch。如何根据 kubernetes 命名空间更改日志流前缀?
我正在使用 Fluent-Bit 将 kubernetes 容器日志发送到 cloudwatch。这个配置工作正常。而不是output-elasticsearch.conf
我有以下内容:
如何获取此配置的kubernetes 命名空间值?所以我们的 cloudwatch 日志会有点组织。
谢谢你。
elasticsearch - 错误 io_tls flb_io_tls.c:359 NET - 连接已被对等方重置
[2020/12/10 11:44:42] [警告] net_tcp_fd_connect: getaddrinfo(host='https://abc.amazonaws.com'): 名称或服务未知 [2020/12/10 11:44:42 ] [错误] [io_tls] flb_io_tls.c:359 NET - 连接已被对等方重置 [2020/12/10 11:44:42] [警告] [引擎] 无法刷新块 '1-1607600678.900285114.flb',重试10 秒内:task_id=0, input=forward.0 > output=es.1
在将日志路由到亚马逊弹性搜索时,在使用 fluent bit 和 firelens 设置 ecs fargate 集群时在 cloudwatch 上遇到这些错误。知道如何解决这个问题吗?我正在使用以下任务定义进行设置:-
}