1. 课程导论:日志索引治理的背景、痛点与目标

1.1 日志爆炸时代的治理困境

在云原生架构大规模普及的今天,一个中等规模的 Kubernetes 集群每天产生的日志量可达 TB 级别。微服务拆分、容器频繁重启、Sidecar 代理、审计日志、应用业务日志等多源数据汇聚到 Elasticsearch、Loki 或 ClickHouse 等存储后端,导致索引数量急剧膨胀、存储成本飙升、查询性能急剧下降。这就是我们所说的日志索引治理问题——它不是简单的“删日志”,而是对日志从产生、采集、结构化、存储到生命周期管理的全链路精细化控制。

核心矛盾: 日志数据量指数增长 vs. 存储预算线性增长;查询响应时间 SLA 要求 vs. 索引碎片化导致的慢查询。

1.2 日志索引治理的三大痛点

痛点维度 具体表现 典型后果
索引膨胀失控 每天自动生成数百个索引,字段映射(mapping)混乱,类型冲突频发 存储利用率低于 40%,集群频繁触发熔断
生命周期管理缺失 冷热数据未分层,所有索引保留相同副本数,过期策略靠人工脚本 SSD 被历史日志填满,热节点 I/O 等待严重
治理流程割裂 日志采集、索引模板、ILM 策略、清理任务分属不同工具和团队 变更周期以天计,故障定位时日志已过期

1.3 治理目标:从“存得住”到“查得快、管得省”

日志索引治理不是一刀切地减少日志量,而是建立一套可量化、可自动化、可观测的治理体系。核心目标包括:

  • 成本可预测: 通过索引模板约束字段数量与类型,避免“全字段 text 类型”导致的存储膨胀,将单日日志存储成本控制在预算线内。
  • 性能可保障: 按日志重要性设置分片数、副本数和滚动周期,确保核心业务日志的查询 P99 延迟低于 500ms。
  • 生命周期自动化: 基于 Prometheus 指标(如索引大小、查询频率)动态调整 ILM 策略,实现热-温-冷-删全自动流转。
  • 治理可观测: 将索引数量、分片状态、存储增长率、治理动作执行结果暴露为 Prometheus 指标,形成治理闭环。

1.4 PromOperator 在日志体系中的角色

Prometheus Operator(PromOperator)是 Kubernetes 上管理 Prometheus 及其周边生态的标准控制器。在日志索引治理场景中,PromOperator 并非直接处理日志文本,而是扮演“治理控制平面”的关键角色:

PromOperator 在日志索引治理中的角色定位 K8s 容器日志 应用业务日志 审计/安全日志 基础设施日志 日志采集层(Fluentd / Filebeat / Promtail) 日志存储层(Elasticsearch / Loki / ClickHouse) PromOperator 治理控制平面 ServiceMonitor 采集存储指标 → Prometheus 规则评估 → Operator 协调 ILM/索引模板 PrometheusRule 告警 → 自动触发索引滚动/清理/冷热迁移 治理指标反馈 治理动作执行

PromOperator 在日志治理中的具体职责可归纳为以下四个层面:

治理层面 PromOperator 组件/能力 治理动作示例
指标采集 ServiceMonitor / PodMonitor 采集 Elasticsearch Exporter 的索引大小、分片状态、存储使用率
规则评估 PrometheusRule 当索引存储增长率超过 10%/天 时触发告警,自动创建 ILM 策略
自动协调 Operator 控制器 + 自定义资源 根据 Prometheus 指标动态调整索引模板的 number_of_shards 和 number_of_replicas
治理可视化 Grafana Dashboard(数据源来自 Prometheus) 展示索引数量趋势、分片分布、冷热数据比例、治理动作执行记录
关键认知: PromOperator 不是日志存储系统,而是治理大脑。它通过 Prometheus 指标感知存储层状态,通过 Operator 模式自动执行治理策略,将原本分散在脚本、定时任务、人工操作中的治理逻辑统一为声明式资源。

1.5 本课程的核心交付

通过本课程,你将掌握如何利用 PromOperator 生态构建一套完整的日志索引治理体系:

  • 治理策略设计: 基于日志分级(Critical / Warning / Debug)设计索引模板、分片策略和生命周期策略。
  • PromOperator 配置实战: 编写 ServiceMonitor 采集 Elasticsearch/Loki 指标,配置 PrometheusRule 实现治理告警与自动触发。
  • Operator 扩展开发: 编写自定义 Operator 控制器,监听 Prometheus 指标并调用存储层 API 执行索引滚动、清理、冷热迁移。
  • 治理可观测性: 构建治理仪表盘,量化治理效果(存储节省率、查询性能提升、治理动作成功率)。
前置要求: 本课程假设你已具备 Kubernetes 基础操作能力,了解 Prometheus 基本概念(指标、告警、记录规则),并熟悉至少一种日志存储系统(Elasticsearch 或 Loki)的基本使用。如果你对这些内容尚不熟悉,建议先学习相关基础课程。