监控与可观测 · 进阶

日志集中管理

从日志字段、采集位点与缓冲预算到索引生命周期和端到端测试,建设能够衡量延迟、重复与丢失的日志链路。

Elasticsearch日志管理监控告警

场景目标

完成至少两个首批日志源的字段映射、脱敏、采集位点和访问策略;用带唯一标识的测试事件验证源端到检索的完整链路,记录正常与中断恢复时的延迟、重复和缺失;落实缓冲上限、生命周期及容量告警,并交付常用检索与异常处置入口。

环境要求

固定并记录 Fluent Bit、Elasticsearch 与 Kibana 的实际版本,Elastic 组件按兼容要求配套;确认 Fluent Bit 当前版本的配置格式、Tail 数据库与缓冲选项。需要日志最小读取权限、专用写入身份、测试索引和受控检索角色,明确 TLS 信任与凭据注入方式。依据峰值吞吐、最长允许中断、重试和保留期预留源端日志、采集缓冲及索引磁盘,保存原转发配置、解析规则、模板和权限,并保留可重放的脱敏样例。维护窗口选择非核心日志源,测试中断不得覆盖源端保留期。预计 270 分钟覆盖首批链路与短时演练,不含采购、历史全量回灌和长周期保留策略观察。

参考架构 · 非实时拓扑

源端保留、有界缓冲与集中检索架构

日志先经 Fluent Bit 解析和脱敏,再通过本地有界缓冲写入 Elasticsearch;Kibana 提供受授权检索,字段契约与生命周期共同约束数据范围。

  • 数据 / 请求
  • 控制 / 管理
  • 观测 / 查询

点击组件,在图下方查看职责;连线编号对应流向解读。小屏可横向滚动,或直接展开文字说明。

源端保留、有界缓冲与集中检索架构:组件关系图日志先经 Fluent Bit 解析和脱敏,再通过本地有界缓冲写入 Elasticsearch;Kibana 提供受授权检索,字段契约与生命周期共同约束数据范围。 服务日志源 → Fluent Bit:日志事件;Fluent Bit → 位点与磁盘缓冲:保存位点与待发块;位点与磁盘缓冲 → Elasticsearch:TLS 输出与重试;Kibana → Elasticsearch:授权检索;字段与保留契约 → Fluent Bit:解析与脱敏规则;字段与保留契约 → Elasticsearch:模板与生命周期;值班排障 → Kibana:定位事件与缺口。箭头说明见下方流向解读。
逻辑参考图,缓冲为采集器本地机制,不表示另有消息队列;图示不证明日志已完整送达或具备不可篡改审计能力。

服务日志源

数据 / 制品

保存带事件标识的原始日志,登记轮转、源端保留和可重放范围;源文件被覆盖后不一定能够补采。

全部组件职责 7 个组件
服务日志源
保存带事件标识的原始日志,登记轮转、源端保留和可重放范围;源文件被覆盖后不一定能够补采。
Fluent Bit
按样例验证解析、多行和时间字段,敏感字段在输出前处理;解析失败必须能定位。工具介绍 Fluent Bit
位点与磁盘缓冲
位点记录输入读取位置,文件系统缓冲保存待输出数据;二者职责不同,需要独立持久目录和容量告警。
字段与保留契约
约定字段类型、脱敏、可查询角色、保留期和负责人;配置变更与数据删除的恢复能力要分开评估。
Elasticsearch
接收结构化日志并提供查询;提前配置模板、分片及生命周期,写入与读取权限分开验证。工具介绍 Elasticsearch
值班排障
根据服务、时间和事件标识核对源端与后端证据,区分业务没有日志、采集积压和输出拒绝。
Kibana
提供有时间范围的排障视图,后端权限必须实际限制数据可见性,前端筛选不是租户隔离。工具介绍 Kibana
流向解读 7 条连接
  1. 1

    服务日志源 Fluent Bit

    数据 / 请求 · 日志事件

    箭头表示日志数据从源端进入采集器,读取权限和首读范围由所选输入配置限定。

  2. 2

    Fluent Bit 位点与磁盘缓冲

    数据 / 请求 · 保存位点与待发块

    输入位点与待输出 chunk 分别落在受控状态目录,不让多个输入错误共享同一位点文件。

  3. 3

    位点与磁盘缓冲 Elasticsearch

    数据 / 请求 · TLS 输出与重试

    由 Fluent Bit 输出插件发送缓冲事件;重试可能产生重复,容量耗尽或拒绝可能造成缺口。

  4. 4

    Kibana Elasticsearch

    观测 / 查询 · 授权检索

    按用户权限请求查询,检索结果需结合事件时间和采集延迟解释。

  5. 5

    字段与保留契约 Fluent Bit

    控制 / 管理 · 解析与脱敏规则

    将已验证样本对应的配置版本用于输出前处理,规则错误应局限于测试或本批日志源。

  6. 6

    字段与保留契约 Elasticsearch

    控制 / 管理 · 模板与生命周期

    为目标索引建立类型、权限和保留配置;自管理集群 ILM 与 Serverless 生命周期应分别选择。

  7. 7

    值班排障 Kibana

    观测 / 查询 · 定位事件与缺口

    通过保存的检索入口回查事件序列,并对照源端、位点和缓冲判断缺失原因。

从架构到实施

  1. 01

    先确定什么数据可以进入平台

    定义源端保留、敏感字段和事件 ID,验证解析规则,再建立位点和缓冲预算。

  2. 02

    让存储与检索遵守同一契约

    先核对模板、生命周期和身份边界,再建立可区分业务错误与采集异常的查询、告警入口。

  3. 03

    用中断测试量化可恢复范围

    在隔离日志源中断输出,核对恢复后的事件 ID、重复、缺失与延迟;只有已验证的配置才逐批扩展。

故障域与操作边界

缓冲容量不是不丢数据保证

后端长时间不可用时,源端轮转与输出队列上限共同决定可恢复范围。达到队列上限可能淘汰旧块,不能清空状态目录来掩盖积压。

配置回退不能恢复已删除日志

撤回生命周期策略只能阻止后续动作;已经删除的数据需依赖实际备份。检索副本也不等于不可篡改审计存储。

查询筛选不是访问隔离

敏感字段应在集中输出前处理,跨服务或租户读取限制在后端授权验证,不能只依赖 Kibana 保存视图。

架构依据与版本核对 3 篇官方资料

图解是本站基于官方资料整理的逻辑参考;实施前仍需核对实际部署版本、组件支持范围与变更审批。

方案说明

适用架构

适用于 Linux 服务或容器日志经 Fluent Bit 采集,写入 Elasticsearch,并由 Kibana 提供检索的受管环境。先选择少量具备明确负责人和样例的日志源,逐步统一事件时间、服务、环境、主机和请求标识。

不适用边界

本方案不自动提供审计证据不可篡改或恰好一次交付保证。采集重试可能带来重复,缓冲容量耗尽、文件轮转覆盖和输出拒绝都可能产生缺口,必须通过事件标识与源端保留策略衡量。Elasticsearch Serverless 的生命周期管理方式与自管理集群不同,需使用对应产品功能。

全局验收

首批日志可按服务、时间和事件标识从源端追到检索结果;敏感字段在进入集中存储前完成约定处理,权限测试通过。一次短时输出中断演练能够报告实际积压、恢复延迟、重复与缺失数量,索引增长和缓冲使用在预算内。

配套知识

官方参考

工具编排

3 个关联工具
  1. Fluent Bit采集位点、解析与缓冲读取日志并补齐元数据,持久保存采集位点和有界缓冲;通过实际测试识别轮转、重试与容量耗尽边界。
  2. Elasticsearch日志索引与保留治理按经过验证的字段模板存储事件,配置生命周期与访问权限,观察拒绝写入和磁盘水位。
  3. Kibana检索与链路排障提供按服务、时间与事件标识查询的入口,汇总错误趋势、采集延迟及容量异常。

实施步骤

共 7 步
  1. 01

    定义日志范围与数据契约

    逐个登记日志源的服务、路径、格式、轮转方式、负责人和峰值量级,收集经过脱敏的正常、异常和多行样例。统一事件时间与时区,定义环境、服务、主机、级别和事件标识字段,区分发生时间与采集时间。明确敏感字段的删除或掩码规则、允许查询角色及保留期,确认日志能否在源端重放,禁止在字段和责任范围未明确时直接接入全量生产日志。

    验证标准

    首批日志源均有样例、负责人和轮转说明,字段类型与时间解释可以复核;敏感数据处理和访问边界明确。吞吐与保留估算覆盖高峰情形,并记录源端可重放范围和不可恢复情况。

    停止与回退

    本步骤不改变日志转发,契约或敏感字段处理未确认时暂停接入。保留原日志链路与脱敏样例,补齐负责人和字段定义后再推进,不通过临时开放全量访问来绕过确认。

    返回步骤起点
  2. 02

    预检解析规则与配置语法

    在隔离环境用样例验证单行、多行、异常编码及超长记录,确保解析失败有可检索标识而非静默丢弃。把元数据补齐与脱敏放在输出前,检查时间解析和字段冲突,并明确哪些格式需要单独管道。下列命令只检查本地配置,需先确认当前 Fluent Bit 版本支持该选项;预检通过后仍要用样例输出核对真实解析结果,不能把语法成功当作链路验收。

    fluent-bit --dry-run --config fluent-bit.conf
    验证标准

    配置预检无错误,样例中的时间、级别和服务字段类型符合契约;多行堆栈保持预定边界,解析失败记录可定位。输出样例未包含约定需移除的敏感值,规则版本与样例结果一并归档。

    停止与回退

    发现解析或脱敏错误时停止生产接入并恢复上一版规则,只在隔离样例继续调整。已经进入测试索引的样例按测试数据策略处理,未确认字段安全前不向正式索引扩大转发。

    返回步骤起点
  3. 03

    配置采集位点与有界缓冲

    为首批 Tail 输入配置独立且持久的位点数据库,核对文件轮转、容器重建和重启后的读取行为,避免多个采集进程共享同一位点文件。按吞吐和允许中断时长配置文件系统缓冲、重试与磁盘上限,确认权限和资源限制。容量上限并不保证不丢数据,部分队列达到总量限制会丢弃旧块;因此同时建立源端保留、缓冲告警与缺口补采的具体处置流程。

    验证标准

    采集进程重启后位点可恢复,轮转样例能按事件标识核对;缓冲路径与容量告警有效,实际增长符合估算。输出错误、积压和可能丢弃均可观察,源端保留时间覆盖约定的故障处理窗口。

    停止与回退

    采集异常时停止该源的新配置并恢复原转发方式,保留位点数据库和未发送缓冲。重新启动前核对两个链路的读取范围,避免重复消费或跳过未发送记录,不能直接清空缓冲来消除积压。

    返回步骤起点
  4. 04

    核对索引模板与存储健康

    根据实际写入方式选择数据流或索引加别名,提前设置字段模板、分片与生命周期,避免高基数字段无界扩展映射。先在测试范围验证滚动写入与保留条件,确认写入账号不能读取无关数据。以下为 Kibana Dev Tools 中的只读请求,用于确认目标集群与索引状态;索引前缀应替换为首批实际目标,并结合节点磁盘而非只看健康颜色判断容量风险。

    GET /_cluster/health
    GET /_cat/indices/logs-*?v
    验证标准

    模板正确应用到新数据,字段类型、分片和生命周期配置与计划一致;写入拒绝和未分配分片均有解释。索引增长符合首批吞吐,受限身份不能访问无关日志,健康状态与磁盘证据相符。

    停止与回退

    模板或写入规则异常时把新流量切回已验证目标,保留失败事件和测试索引用于核对。暂停本次尚未验证的自动删除策略;已执行的数据删除不能仅靠撤回策略恢复,需按实际备份处理。

    返回步骤起点
  5. 05

    建立检索视图与链路告警

    在 Kibana 建立按服务、环境、时间和事件标识组合的检索视图,分别展示业务错误、解析失败、采集延迟和输出拒绝,避免只看日志总量。使用测试账号验证角色可见范围,保存常用排障查询和跳转入口。告警需区分无业务日志与采集链路故障,依据源端心跳或基线量级判定;把缓冲逼近上限、磁盘压力和持续输出错误交给明确的责任组。

    验证标准

    值班人员可从异常记录定位服务和源端,并通过事件标识关联相关日志;权限测试符合契约。链路故障与业务错误分别通知,告警含时间范围、检索入口和负责人,空结果不会被解释为系统必然正常。

    停止与回退

    查询或告警造成负载时停用最近新增的高开销规则与面板,恢复原视图和路由。权限问题先撤回本次过宽授权再复核,保留必要的管理员排障通道,不以公共共享视图替代权限配置。

    返回步骤起点
  6. 06

    演练中断并核对事件缺口

    在独立测试日志源生成带连续序号、唯一标识和发生时间的非敏感事件,先核对正常链路,再短时中断该测试输出,观察缓冲增长、重试和告警。中断时间必须小于已确认的缓冲与源端保留能力,恢复后逐个核对事件标识,记录重复、缺失及最大延迟。只对测试链路引入故障,不停止共享生产存储;触及容量停止阈值时立即恢复输出。

    验证标准

    测试事件的发送与检索清单可比较,正常和中断恢复两阶段都有实际延迟、重复与缺失统计;积压按预期下降。出现缺口时能关联到位点、轮转、拒绝或缓冲证据,并确认补采范围。

    停止与回退

    先恢复测试输出并停止事件生成,保留源文件、位点和缓冲直到核对完成。链路仍不稳定时撤回最近配置并按事件范围补采;不得因检索暂时为空就重置位点或删除仍可恢复的缓冲数据。

    返回步骤起点
  7. 07

    分批扩展并交接保留策略

    将通过验收的采集规则、字段契约、模板和权限固定版本,再按日志源逐批扩展,每批复核吞吐、解析失败、缓冲与索引增长。交接正常链路时限、可接受缺口、补采流程、容量预警和生命周期责任人,记录实际测试中尚未覆盖的长周期场景。保留策略首次到期前复查目标范围与备份要求,定期用少量测试事件检查端到端可追踪性。

    验证标准

    首批源有完整配置版本与验收清单,新源接入不突破容量和权限边界;接班人员能够找到位点、缓冲及补采入口。长周期删除与高峰吞吐明确列为后续验证,不提前宣称已经通过。

    停止与回退

    扩展批次出现异常时暂停新源接入,只回退该批配置并保留原始日志及失败数据。生命周期范围不确定时暂停尚未执行的删除动作;恢复稳定和核对数据缺口后再逐批重新放行。

    返回步骤起点

DOUYA OPS ECOSYSTEM

体验豆芽自研工具与场景能力

部分场景提供体验环境,用于功能验证、测试和技术交流。