Fix wrong links

This commit is contained in:
Baohua Yang
2026-02-22 16:04:41 -08:00
parent 4ca47b0ea1
commit 572266b2f4
78 changed files with 626 additions and 1136 deletions

View File

@@ -1,10 +1,15 @@
# 日志管理
# 本章小结
在容器化环境中日志管理比传统环境更为复杂容器是短暂的意味着容器内的日志文件可能会随着容器的销毁而丢失因此我们需要一种集中式的日志管理方案来收集存储和分析容器日志
本章从两个维度介绍了容器可观测性
* **指标监控** Prometheus + Grafana 为主完成指标采集存储与可视化
* **日志管理** EFK/ELK 为例完成容器日志的集中采集检索与分析
生产环境中建议将可观测性当成一个完整闭环**采集 -> 存储 -> 展示 -> 告警 -> 排错 -> 容量治理**
## 19.3 Docker 日志驱动
Docker 提供了多种日志驱动 (Log Driver) 机制允许我们将容器日志转发到不同后端
Docker 提供了多种日志驱动 (Log Driver)用于将容器标准输出的日志转发到不同后端
常见的日志驱动包括
@@ -15,12 +20,30 @@ Docker 提供了多种日志驱动 (Log Driver) 机制,允许我们将容器
* `gelf`支持 GELF 协议的日志后端 ( Graylog)
* `awslogs`发送到 Amazon CloudWatch Logs
## 19.3 日志管理方案
生产建议无论采用哪种驱动都要明确日志的保留周期容量上限与传输可靠性避免日志把磁盘写满链路抖动导致丢日志
对于大规模的容器集群我们通常会采用 EFK (Elasticsearch + Fluentd + Kibana) ELK (Elasticsearch + Logstash + Kibana) 方案
## 19.4 日志平台选型对比与注意事项
* **Elasticsearch**负责日志的存储和全文检索
* **Fluentd/Logstash**负责日志的采集过滤和转发
* **Kibana**负责日志的可视化展示
日志平台通常由采集/处理/存储/查询展示几部分组成常见选型包括
本章将介绍如何使用 EFK 方案来处理 Docker 容器日志
* **EFK/ELK**Elasticsearch + Fluentd/Logstash + Kibana适合全文检索与结构化查询
* **Loki + Grafana**更偏日志像指标一样存储的思路部署与成本可能更友好但查询能力与使用习惯不同
选型时建议关注
* **写入压力与背压**当存储端变慢时采集端是否会缓冲落盘重试是否会影响业务
* **容量治理**是否具备按天/按大小滚动保留策略生命周期管理 (ILM) 等能力
* **安全与合规**鉴权TLS审计敏感字段脱敏
* **可运维性**升级策略备份恢复告警指标是否齐全
## 19.5 上线前检查清单
你可以用下面的清单快速检查是否具备最小生产可用性
* Prometheus 数据目录已持久化并设置了合理的保留周期
* Prometheus Targets 全部为 `UP`并且关键查询 (CPU/内存/容器指标) 有数据
* Grafana 已导入面板并能定位到具体实例/容器默认账号密码已修改
* 至少有一条关键告警已打通 Alertmanager 的接收链路并验证告警能被正确发送与抑制
* Elasticsearch 数据目录已持久化并有明确的日志保留周期与容量上限策略
* Kibana 能查询到最新日志 UI 异常时能用 Elasticsearch API 验证入库
* 可观测性组件未直接暴露到公网访问已加鉴权或置于内网