可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

Filebeat 如何用正则判断字符串以数字开头? cover
概念指南

Filebeat 如何用正则判断字符串以数字开头?

Filebeat 的条件判断用正则 ^[0-9] 或 ^\\d 匹配"以数字开头"的字符串,配合 processors 里的 drop_event 或 add_fields 实现条件处理。本文给出具体配置示例与常见写法错误。

Filebeat 报 "data path already locked by another beat" 错误怎么办? cover
概念指南

Filebeat 报 "data path already locked by another beat" 错误怎么办?

该错误表示另一个 Filebeat 进程(或僵尸进程)占用了同一个 data 目录。解法:确认并结束残留进程;确实要多实例运行时给每个实例独立 path.data。本文给出排查命令与多实例配置。

Filebeat 如何从日志行(message)中解析出字段? cover
概念指南

Filebeat 如何从日志行(message)中解析出字段?

Filebeat 解析日志行的三种方式:dissect 处理器按固定模式切分、grok 正则提取、JSON 日志用 decode_json_fields。本文给出三种写法的配置示例与选型建议。

Fluentd 报 "pattern not match" 错误怎么解决? cover
概念指南

Fluentd 报 "pattern not match" 错误怎么解决?

Fluentd 的 pattern not match 错误表示日志行与 parse 段的正则/格式不匹配。排查步骤:拿真实日志行对照 pattern、用 fluentd 在线正则测试器调试、确认多行日志已合并。本文给出完整排查流程。

Fluentd 一个 Source 能对应多个 Filter 和 Match 吗? cover
概念指南

Fluentd 一个 Source 能对应多个 Filter 和 Match 吗?

可以——同一个 tag 的日志会依次经过所有匹配的 filter 串联处理;要同时发往多个 match 输出,需要用 copy 输出插件复制事件流。本文给出串联与复制的完整配置。

Fluentd 与 Kafka 有什么区别?该怎么选? cover
概念指南

Fluentd 与 Kafka 有什么区别?该怎么选?

Fluentd 是日志采集与路由工具(采集→处理→转发),Kafka 是分布式消息队列(缓冲→削峰→解耦)。两者不互斥,常见组合是 Fluentd 采集后写入 Kafka 做缓冲。本文讲清定位差异与架构选型。

rsyslog 中的 #012 和 #015 是什么?如何处理? cover
概念指南

rsyslog 中的 #012 和 #015 是什么?如何处理?

#012 与 #015 是 rsyslog 日志中的 ASCII 控制字符转义:#012 是换行符 LF、#015 是回车符 CR。Windows 风格 CRLF 日志或消息内换行会以这种形式出现。本文给出规范化处理方法。

Fluentd 如何解析嵌套 JSON 字段? cover
概念指南

Fluentd 如何解析嵌套 JSON 字段?

Fluentd 解析嵌套 JSON 的两步:parser 先用 json 解析器解析整条日志,字符串类型的内嵌 JSON 字段再用 filter 阶段的 json 解析器二次展开。

如何检查 Fluent Bit 的内部错误? cover
概念指南

如何检查 Fluent Bit 的内部错误?

检查 Fluent Bit 内部错误的四个途径:日志级别开到 debug 看输出、内置 HTTP 监控端点 /api/v1/metrics 查错误计数、health check 端点探活、以及 input/output 插件的独立错…

Kibana/ELK 如何实现"字段不存在"(NOT EXISTS)的过滤? cover
概念指南

Kibana/ELK 如何实现"字段不存在"(NOT EXISTS)的过滤?

Kibana 中筛选"某字段不存在"的日志:KQL 写 not fieldname : *,或在 Add filter 选 exists 后点取反。本文给出 KQL/Lucene 两种语法与可视化操作方法。

Distroless 的 Fluent Bit 容器里如何执行脚本? cover
概念指南

Distroless 的 Fluent Bit 容器里如何执行脚本?

Distroless 镜像没有 shell 和包管理器,无法直接执行脚本。解决方案:自制镜像拷贝 bash 与脚本、改用带包管理器的基础镜像、或用 K8s initContainer 在容器外完成初始化。本文给出三种方案。

Elasticsearch 如何与 MySQL 集成(数据同步)? cover
概念指南

Elasticsearch 如何与 MySQL 集成(数据同步)?

MySQL 数据同步到 Elasticsearch 的四种方案:Logstash JDBC 插件定时拉取、监听 binlog(Canal/Debezium)实时同步、应用双写、以及 CDC 平台。