1、课程概述与目标:ELK栈简介,PKI日志监控需求,整体架构设计
1.1 ELK 栈到底是个啥?
ELK 是三个开源工具的缩写:Elasticsearch、Logstash、Kibana。我最早接触它的时候,还以为是什么冷门框架,后来才发现——这玩意儿简直是日志界的瑞士军刀。
- Elasticsearch:分布式搜索引擎,负责存储和检索。说白了,就是一个能存海量日志、还能秒级查到的数据库。
- Logstash:数据管道。从各种源头拉日志,做过滤、转换,再扔给 ES。我有个项目里,Logstash 一天处理 2 亿条日志,没崩过。
- Kibana:可视化面板。把 ES 里的数据画成图表、仪表盘,方便你一眼看出问题。
再加上一个轻量级的采集器 Filebeat,完美组成一套日志监控方案。你想想看,PKI 系统每天生成大量证书操作日志,用 ELK 来管,再合适不过。
1.2 为什么 PKI 日志监控这么重要?
PKI(公钥基础设施)负责签发、吊销、管理数字证书。一旦出问题,整个系统的信任链就崩了。我遇到过一家企业,证书过期没预警,所有 HTTPS 服务中断两小时……后来我帮他们搭了这套监控。
PKI 日志主要包含这几类:
| 日志类型 | 典型事件 | 监控目的 |
|---|---|---|
| 证书颁发 | CA 签发证书、RA 审核 | 审计谁、什么时候、为谁颁发了证书 |
| 证书吊销 | CRL 生成、OCSP 响应 | 检测异常吊销行为或错误响应 |
| 密钥生成 | HSM 操作、密钥备份 | 确保密钥生命周期安全 |
| 访问审计 | 管理员登录、权限变更 | 追查修改过的策略或误操作 |
注意:PKI 日志通常自带敏感信息(证书私钥 hash、用户身份),采集时必须做脱敏处理,否则合规上会出大问题。
1.3 整体架构设计——一张图讲清楚
我习惯把架构画成三层:采集层、管道与存储层、可视化层。下面这张 SVG 图展示了我们在本课程中要搭建的完整结构。
我的经验:早期项目里我直接把所有 PKI 日志全部塞进 Logstash,结果 Elasticsearch 索引爆炸。后来我在 Logstash 加了个 filter 做字段裁剪,只保留关键字段(如 event_type, timestamp, subject, issuer, serial),存储量少了 60%,查询速度还快了一倍。
1.4 各组件在 PKI 场景中的具体职责
说白了,每个组件都有自己该干的活。我列个表,你一看就明白。
| 组件 | 核心功能 | PKI 场景要点 |
|---|---|---|
| Filebeat | 采集日志文件,发往 Logstash | 配置 paths: /var/log/ca/audit.log, /var/log/ca/ocsp.log 等 |
| Logstash | 过滤、转换、脱敏、结构化 | 用 grok 解析日志行,用 mutate 删除敏感字段,用 date 统一时间戳 |
| Elasticsearch | 存储、索引、搜索、聚合 | 按天建索引,设定 rollover 策略,冷热分层管理 |
| Kibana | 可视化仪表盘、告警、数据探索 | 创建证书颁发趋势图、吊销原因分布、OCSP 成功率 |
我曾经遇到过一个坑:Filebeat 默认的 multiline 配置没处理好,PKI 日志里的堆栈消息被拆成了多条记录,导致 ES 里出现大量僵尸文档。后来我加了 multiline.pattern: '^\d{4}-\d{2}-\d{2}' 才解决。这个细节后面我们会专门讲。
1.5 课程的整体目标
本课程会带你从零开始,搭建一套生产级的 PKI 日志监控平台。完成之后你会得到:
- 一个正常工作的 ELK 集群(单机版也可用于学习)
- Filebeat 从 CA/RA 服务器采集日志的完整配置
- Logstash 管道——包含 grok 解析、字段裁剪、脱敏、时间格式标准化
- Elasticsearch 索引模板与生命周期管理
- Kibana 仪表盘:证书统计、异常告警、实时日志浏览
- 告警规则(比如 OCSP 连续失败超过阈值发邮件)
注意:我不会教你装软件,那太浪费时间。我假设你已经会装 Elasticsearch, Logstash, Kibana, Filebeat。如果还不会,去官网看文档,五分钟的事。课程核心放在“配置”和“坑”上——这些才是真正值钱的东西。
嗯,就这样。接下来我们直接进入实战环节,开始配置 Filebeat 采集 PKI 日志。准备好了吗?