入门
编辑入门
编辑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
中提取详细信息。- 诸如
source.ip
之类的 IP 字段可以使用geoip
处理器进行丰富,以添加有关与 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 解决方案中呈现良好,请查看下面的参考指南以了解更多有关每个解决方案的信息