2026年ELK监控教程最新教程,运维必收藏
2026 ELK(Elastic Stack)监控最新教程|运维必收藏
版本基线:Elastic Stack 9.4 / 9.5,2026 主流;ELK 现在官方叫 Elastic
Observability,不再只是日志,是日志 + 指标 + 链路统一可观测平台;架构重心从 Logstash 转向 Elastic Agent +
Fleet + OTel 原生支持Elastic 适用:主机监控、容器 / K8s、微服务、日志审计、业务告警;对比传统
Prometheus+Grafana,ES 现在原生支持 PromQL、TSDS 列式存储,指标存储效率大幅提升Elastic
一、2026 核心趋势(先看懂方向,避免学老教程踩坑)
Elastic Agent 取代 Filebeat/Metricbeat 成为首选采集端 Fleet 集中管理,一套 Agent 同时跑 Beats 采集和 OTel 采集(混合 Agent),不用分别部署多个 beat,K8s、云主机批量纳管非常方便;Logstash 降级为复杂清洗的备选,常规场景不再强制部署Elastic。
OTel(OpenTelemetry)原生一等公民 ES 内置 OTLP HTTP 端点,日志、指标、链路直接推送,支持指数直方图;和自研埋点、Java/Python 自动埋点打通,traceId 串联日志与指标,一键跳转定位问题Elastic。
TSDS 时序数据流 + 列式存储,指标成本碾压旧方案 时序数据流式(data stream)替代按天索引;列式引擎,指标单样本低至 3.75 字节,查询最高比 Prometheus 快 30 倍,支持 Prometheus Remote Write、原生 PromQL,老 Grafana 面板可以平滑迁移过来Elastic。
ES|QL 替代传统 DSL 聚合,监控查询新语法 Kibana 可视化、告警、SLO 都优先 ES|QL,写法简洁,时序计算更友好;运维排查和报表优先学 ES|QL,而不是死记 DSL。
AI 辅助告警分诊 Workflows GA 自动给告警打标签、聚合同类故障、自动关联上下文日志,减少告警风暴;SLO、错误预算内置,SRE 体系原生支持Elastic。
数据流 Data Stream + ILM 生命周期,淘汰手写按天索引模板 不再手动创建 logs-2026.10.21 索引;数据流自动 Rollover 滚动,ILM 冷热分层(热→温→冷→删除),一套策略统一管控日志、指标、链路。
二、两套架构选型(根据规模直接选)
方案 A:中小集群、传统业务(平滑过渡,上手快)
Filebeat → Kafka(削峰可选)→ Logstash(清洗)→ ES → Kibana
适合:存量 Java、Nginx、主机日志,有复杂 grok、IP 库、字典清洗逻辑;
缺点:Agent 分散,K8s 大规模运维麻烦;新业务不推荐。
方案 B:2026 主推架构(生产首选,新环境直接上)
Elastic Agent(Fleet托管) → ES(OTLP/内置Ingest Pipeline) → Kibana Observability 采集内容:主机指标、容器、日志、OTel Trace、HTTP 拨测(Heartbeat)、Synthetic 监控 ✅ 优点:统一管理、支持混合采集、原生链路关联、开箱集成面板、TSDS 自动时序优化; ✅ 推荐 K8s 直接用 Elastic Agent DaemonSet,Fleet Server 单独部署。
补充:高吞吐、防雪崩:Agent 输出到 Kafka 缓冲,再由 ES Connector 消费;避免 ES 压力突增丢数据。
三、分步搭建实战教程(9.5 版本)
前置规划(上线前必做)
资源基线:单节点测试 ≥ 16G;生产集群 ES 节点内存配置 -Xms=-Xmx,不超过 31G;时序负载优先 SSD 热节点;
安全:9 + 默认开启 xpack.security,密码、TLS 证书、角色权限不要关闭;生产全部链路 SSL 加密;
规范:全部数据遵循 ECS Elastic Common Schema(统一字段:@timestamp、service.name、trace.id、error.message),是日志指标链路关联的基础。
Step1:部署 ES 集群 + Kibana + Fleet Server
推荐 Docker Compose 练习,生产用 Ansible/Operator;
优先部署 Fleet Server,Fleet 是 Agent 管控中心;Kibana 开启 Fleet;
验证:curl https://es:9200,Kibana 5601 访问,进入「可观测性」菜单。
Step2:Fleet 创建 Agent 策略,一键下发采集配置(核心步骤)
Kibana → Fleet → 创建 Agent 策略;
添加集成(Integrations):
System:主机 CPU、内存、磁盘、网络指标
Nginx / Apache / MySQL / Redis:预制采集面板、Grok 规则
Kubernetes:容器、Pod、节点、事件采集
Custom Logs:自定义业务日志
OpenTelemetry:开启 OTLP 接收端点
Uptime(Heartbeat):TCP/HTTP/ICMP 拨测监控可用性
生成 Agent 安装命令,在目标主机 / K8s 执行;Agent 自动注册、拉取配置,无需改配置文件。
旧方式:手动写 Filebeat.yml,适合存量改造,新项目放弃。
Step3:日志清洗两条路线(Ingest Pipeline VS Logstash)
轻量清洗(推荐):ES 内置 Ingest Pipeline,Grok、GeoIP、字段过滤、丢弃脏数据,写入前处理;
复杂清洗:多数据源、多分支、外部接口 enrichment,才上 Logstash;示例 Ingest 常用能力:多行合并 Java 堆栈、剔除 debug 垃圾日志、IP 归属地解析。
Step4:索引与生命周期 ILM 配置(重中之重,运维省钱核心)
日志:数据流 logs-*,ILM 策略:热 7 天、温 30 天、保留 30~90 天;
指标(TSDS):数据流 metrics-*,时序模式开启,压缩更优,保留更长(90d+);
Trace 链路:traces-*,采样策略:错误 100% 采样,正常流量低比例采样,控制存储成本;
禁止:无限期保留数据,ES 很容易磁盘打爆。
Step5:Kibana 可观测三大核心用法
Logs 日志检索(Discover):优先 KQL 语法,比 Lucene 更友好;支持按 trace.id 一键跳转链路;
Metrics 指标:Infrastructure 基础设施视图,主机 / 容器拓扑,ES|QL 做指标计算;
APM 链路追踪:接入 OTel 后,自动生成服务依赖图、P95/P99 延迟、错误率、SLO;
Dashboard 仪表盘:官方预制集成面板直接导入,自定义业务大盘(5xx 错误率、接口耗时)。
Step6:告警配置(Alerting + Workflow)
告警条件:ES|QL 查询结果触发;示例:5 分钟内 error 日志数量 > 20、主机 CPU>90% 持续 5 分钟、服务 uptime 探测失败;
通知渠道:钉钉、企业微信、邮件、Webhook;
降噪技巧:告警分组、抑制规则、SLO 告警而不是单指标告警;
2026 新特性:Workflow 自动执行动作,告警触发后自动检索上下文日志、汇总信息再推送。
四、高频监控场景配置模板
场景 1:Nginx 日志监控
Agent 采集 access.log,Ingest grok 解析状态码、耗时、UA;大盘统计 PV、UV、4xx/5xx、慢请求;告警 5xx 突增。
场景 2:Kubernetes 监控
Agent DaemonSet 采集容器日志、kube-state-metrics;集群面板看 Pod 重启、OOM、节点压力;自动关联容器日志。
场景 3:微服务 OTel 全链路监控
业务埋点输出 OTLP,ES 接收 trace、metrics、logs;通过 trace.id 串联:告警 → 看链路耗时 → 查看对应日志,一站式排障。
场景 4:服务可用性拨测(Uptime)
Heartbeat 从多个节点探测业务接口,监控延迟、连通性,机房单点故障自动告警。
五、运维避坑清单(高频故障)
❌ 坑 1:还在大量手写 Logstash,K8s 环境运维爆炸 ✅ 优先 Fleet+Agent,集中管控 ❌ 坑 2:指标不用 TSDS 普通索引,存储暴涨、查询慢 ✅ 指标数据流开启 tsdb 模式,列式存储 ❌ 坑 3:不做 ILM,磁盘满导致集群只读 ✅ 所有数据流绑定生命周期策略,测试环境也要做 ❌ 坑 4:日志不结构化,纯文本,无法聚合统计 ✅ 业务输出 JSON 结构化日志,遵循 ECS ❌ 坑 5:Agent 采集日志不做多行合并,Java 异常堆栈拆成无数条日志 ✅ 内置 multiline 合并规则 ❌ 坑 6:ES 内存乱调,超过 31G,GC 恶化 ✅ JVM 堆不超过 31G,机器剩余内存给系统 PageCache ❌ 坑 7:全量链路采样,存储成本失控 ✅ 基于异常采样:错误、慢 Span 全采,正常流量采样 1%-10% ❌ 坑 8:混用老版本 8.x 教程,配置字段、参数不兼容 9.x
六、配套运维工具与排查命令
集群健康:GET _cluster/health
数据流列表:GET _data_stream/*
ILM 策略:GET _ilm/policy
Agent 状态:Fleet 页面直接看在线、报错,不用登录机器
性能排查:Kibana Stack Monitoring(监控 ES 自身),看索引写入、段合并、搜索耗时、GC
压测缓冲:高并发场景前置 Kafka,避免写入冲击 ES
七、ELK VS Prometheus+Grafana 选型一句话总结
想要日志 + 指标 + 链路一套平台、全文检索、错误日志深度排查 → Elastic Stack(ELK)
只做简单指标监控,团队熟悉 PromQL、资源预算紧 → Prometheus+Grafana
2026 ES 原生支持 PromQL,两套方案可以互通,Grafana 可以对接 ES 做数据源。
-
2026年ELK监控教程最新教程,运维必收藏2026 ELK(Elastic Stack)监控最新教程|运维必收藏版本基线:Elastic Stack 9.4 / 9.5,2026 主流;ELK 现在官方叫 Elastic Observability,不再只是日志,是日志 + 指标 + 链路统一可观测平台;架构重心从 Logstash 转向 Elastic Agent + Fleet + OTel 原生支持Elastic 适用:主机监控、容器 / K8s、微服...
-
【实战】Fluentd源码,一步步带你搞定【实战】Fluentd 源码:一步步搞定核心链路Fluentd 看起来是“配置一个 fluent.conf 就能跑”的日志采集器,但真正要解决生产问题,必须看懂它的事件流转、插件加载、缓冲刷新和多 Worker 模型。当前主流稳定发行版是 fluent-package,td-agent 已停止维护。一、先看整体:F...
-
为什么推荐Cron优缺点?深度对比与实测为什么推荐 Cron 优缺点?深度对比与实测Cron 是 Linux 类系统内置定时任务工具,运维后端开发几乎都会用到,用来定时执行脚本 清理日志 数据同步 报表推送 巡检任务。不用额外部署服务,开箱即用,但是复杂调度场景也有明显短板,下面结合实测拆解优缺点,同时...
-
深度VPN避坑指南:生产环境常见问题汇总关于VPN的使用,需要提醒你注意合规性问题。未经相关主管部门批准,私自使用、搭建、传播跨境网络访问工具属于违规行为。 无论是个人还是企业,都不能随意搭建或使用未经审批的VPN进行跨境网络访问。如果你有合法的企业组网需求跨国企业、分支机构互联等场...
-
Docker网络完全指南:运维工程师必备手册Docker 网络完全指南:运维工程师必备手册 一、Docker 网络基础概念Docker 网络本质,是容器之间、容器与宿主机、容器与外部网络通信的隔离体系。安装 Docker 后,会自动创建几种默认网络,使用 docker network ls 命令可以查看。容器网络核心目标,隔离网络环境,按需实...
-
【收藏级】钉钉告警全套配置模板与脚本【收藏级】钉钉告警全套配置模板与脚本适用场景:服务器监控、Swoole 服务、数据库、CVM、日志异常、接口监控、自动化运维告警;基于钉钉机器人 Webhook。 ⚠️ 安全提醒:不要把 Webhook 密钥硬编码公开提交到 Git;建议配置 IP 白名单、加签,防止恶意调用刷消息。一...