入门
编辑入门编辑
ECS 使能并鼓励用户规范化事件数据,以便更好地分析、可视化和关联他们的事件。收集的事件可以在摄取时进行规范化,在索引之间一致地搜索,并以可预测的方式可视化。
请注意,在采用 Elastic 解决方案(例如 可观察性 或 安全)时,所有事件都将开箱即用地映射到 ECS。Elastic 提供了一套广泛的 集成 来简化您的数据源的摄取。
如果您依赖于自定义数据管道和/或围绕特定需求构建内容,ECS 仍然可以帮助减轻跨数据搜索、分析和可视化的挑战。让我们看看使用通用模式如何简化搜索体验,然后看看如何将事件内容映射到 ECS 字段集。
简化的搜索编辑
随着 ECS 在所有数据源中定义规范化的模式,针对这些数据源的查询得以简化。在采用 ECS 之前,请考虑搜索特定源 IP 地址。您需要在查询中考虑所有各种数据源及其字段映射
src:10.42.42.42 OR client_ip:10.42.42.42 OR apache.access.remote_ip:10.42.42.42 OR context.user.ip:10.42.42.42 OR src_ip:10.42.42.42
所有源都映射到 ECS 后,查询变得简单得多
source.ip:10.42.42.42
这不仅简化了编写查询,而且与其他用户共享的保存查询也变得更加明显。要熟悉 ECS 字段,您还可以查看 ECS 字段参考 部分。
统一的可视化编辑
通过来自不同数据源的规范化数据,在源之间构建有见地的可视化变得简单。从单个集中式仪表板,可以聚合和可视化来自 Web 服务器、IDS/IPS 设备和防火墙的事件,并通过深入分析和枢纽功能来增强,以进行更深入的调查。使用规范化的 ECS 数据,可以轻松地对各种数据源进行集中式监控。
翻译数据源编辑
为了将事件与 ECS 对齐,通常需要进行某种解析,以将原始事件的内容转换为相关的 ECS 字段。根据您如何设计 Elastic Stack 数据摄取管道,解析事件的工作量会有所不同。
例如,Apache Web 服务器日志事件
10.42.42.42 - - [15/Jul/2020:20:48:32 +0000] "GET /content HTTP/1.1" 200 2571 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"
为了将此事件映射到 ECS,将事件内容与相应的 ECS 字段关联。
字段名称 | 值 |
---|---|
@timestamp |
|
event.original |
10.42.42.42 - - [15/Jul/2020:20:48:32 +0000] "GET /content HTTP/1.1" 200 2571 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36 |
http.request.method |
GET |
http.response.body.bytes |
2571 |
http.response.status_code |
200 |
http.version |
1.1 |
message |
GET /content HTTP/1.1" 200 2571 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36 |
source.address |
10.42.42.42 |
source.ip |
10.42.42.42 |
url.original |
|
user_agent.original |
|
除了提取原始事件中存在的价值外,我们还填充其他字段以提供有关事件本身的更多上下文。
-
ecs.version
: 指示摄取管道开发针对的 ECS 版本。 -
event.dataset
和event.module
: 回答“这个事件来自哪里”,并且预计每个管道,每个来源都有一个硬编码值。 -
event.kind
、event.category
、event.type
和event.outcome
: ECS 分类字段 也应该使用对源发出事件类型的了解进行硬编码。这些字段的内容仅限于 ECS 文档中详细说明的特定允许值。
字段名称 | 值 |
---|---|
ecs.version |
1.5.0 |
event.module |
apache |
event.dataset |
apache.access |
event.kind |
event |
event.category |
[ "network", "web" ] |
event.type |
[ "access" ] |
event.outcome |
success |
最后,可以使用处理器解释或丰富现有字段值,结果将填充最终事件中的其他字段。
user_agent
处理器从原始用户代理字符串user_agent.original
中提取详细信息。- 可以使用
geoip
处理器丰富source.ip
等 IP 字段,以添加有关与 IP 地址关联的位置和自治系统编号 (ASN) 的信息。 registered domain
处理器读取包含主机名的字段,并将注册域写入另一个字段- 事件收集器(如 Beats)可以使用托管提供商(云)和/或主机机器(主机)的元数据丰富每个事件。
以下是一些由元数据或解析器处理器处理的其他字段示例。
字段名称 | 值 | 处理器 |
---|---|---|
host.architecture |
x86_64 |
|
host.hostname |
mbp.example.com |
|
host.ip |
[ "192.168.1.100" ] |
|
host.os.family |
darwin |
|
host.os.kernel |
19.4.0 |
|
host.os.name |
Mac OS X |
|
host.os.version |
10.15.4 |
|
user_agent.name |
Chrome |
|
user_agent.os.full |
Mac OS X 10.15.4 |
|
user_agent.os.name |
Mac OS X |
|
user_agent.os.version |
10.15.4 |
|
user_agent.version |
83.0.4103.106 |
|
字段映射参考指南编辑
我们已经从高层次介绍了如何将您的事件映射到 ECS。现在,如果您希望您的事件在 Elastic 解决方案中很好地呈现,请查看下面的参考指南以了解更多信息。