容器日志:链路巡检与故障恢复

围绕事件缺失、重试积压、磁盘压力与越权查询建立诊断和恢复步骤,保留不可恢复缺口记录。

Elasticsearch日志管理监控告警

手册状态与值班前提

本手册是集成方案的运行草案,尚无目标环境部署或演练结果。实施方需补齐版本、调度范围、索引名称、凭据入口、容量停止阈值与责任人,完成验收后再用于值班。它不提供自动修复、无限缓冲或恰好一次交付承诺;初次实施先阅读部署配置

日常链路巡检

巡检顺序为日志源、节点读取、解析与元数据、缓冲、后端写入、检索。记录当前延迟、失败重试、丢弃量和磁盘余量,同时检查采集器重启及 OOM。以下只读命令使用已经核实的集群、命名空间和资源名,不修改工作负载。

kubectl --context='<CONTEXT>' -n '<LOG_NAMESPACE>' get daemonset '<COLLECTOR_NAME>'
kubectl --context='<CONTEXT>' -n '<LOG_NAMESPACE>' get pods -o wide

Pod 存活不等于日志已入库。用授权的脱敏测试事件标识对照源端与检索时间,并排除 Kibana 时间字段或时区错误;容器日志的节点保留边界参见 Kubernetes 日志架构

事件缺失与重复诊断

先确认应用确实写出事件,再核对采集路径、轮转、解析失败和后端拒绝。仅在授权范围查看样本,诊断输出不复制令牌或业务敏感值。比较首次发现文件、已有位点及重建后的行为,避免通过删除 offset 重置读取位置。重试可能产生重复,事件标识用于量化实际边界;不能仅凭数量相等证明内容完整。

积压与容量处置

比较输入速率、可用队列和后端恢复吞吐,判断是否能在源端轮转前排空。输出队列达到上限可能淘汰旧 chunk,具体机制见 Fluent Bit 缓冲文档。接近停止阈值时暂停扩展并升级给负责人,不盲目增加内存或删除缓冲;降低非关键输入量也可能造成缺口,须获准并记录范围。

后端健康与权限

在已认证的 Kibana Dev Tools 中将占位符替换为获准索引范围后,可执行下列只读请求。调用身份需要相应集群监控权限,不应因此扩大普通查询账号权限。

GET /_cluster/health/<AUTHORIZED_INDEX>?level=indices

健康状态用于观察分片可用性,不代替事件完整性与写入延迟验收,参见 Elasticsearch 健康接口。磁盘问题先核对增长、分片和保留策略,按磁盘水位治理处理;不能为快速恢复而关闭安全限制或任意删除生产索引。

维护窗口与恢复边界

升级前备份配置、解析器、模板与权限,并评审状态目录和后端数据格式的版本兼容性,不假设任意降级可行。轮换写入凭据应先验证新身份,再吊销旧身份;禁止在采集日志中输出密钥。计划后端中断需小于经验证的缓冲与源端保留窗口,若无法保证,提前通知可能缺口并保留替代检索入口。

恢复验收与交接

恢复后确认积压下降且节点资源可承受,再按事件标识核对数量、重复及缺失时间段,记录不可重放的数据,不以反复重启掩盖问题。回退只恢复已评审的采集和输出配置,保留 offset、缓冲及索引证据。最后验证越权查询仍被拒、测试流已停止、临时授权已回收;未满足条件则保持待验证并暂停推广。

DOUYA OPS ECOSYSTEM

完善文档,帮助更多运维人

把安装、配置、API 与运维方法沉淀为清晰文档,让工具和项目更容易被正确使用。