入门
编辑入门编辑
步骤 1:配置应用程序日志记录编辑
如果您想与现有的日志记录器集成,该日志记录器将 ECS json 导出到文件或 stdout/stderr。
选择我们的一种格式化程序
如果您想将日志直接写入 Elastic 的一个端点(例如 Elastic Cloud / Elasticsearch)
选择我们的一种数据发送日志记录器
步骤 2:启用 APM 日志关联(可选)编辑
如果您使用的是 Elastic APM .NET 代理,可以配置日志关联 以将跟踪、事务和跨度 ID 字段注入日志事件。
默认情况下,如果未安装 APM 日志关联库,ECS 日志集成将从 System.Diagnostics.Activity 读取跟踪信息。
步骤 3:配置 Filebeat(可选)编辑
如果您使用的是我们的一种日志格式化程序,您可以使用以下方法将这些日志发送到 Elastic。
- 按照 Filebeat 快速入门
- 将以下配置添加到您的
filebeat.yaml
文件。
对于 Filebeat 7.16+
filebeat.yaml。
filebeat.inputs: - type: filestream paths: /path/to/logs.json parsers: - ndjson: overwrite_keys: true add_error_key: true expand_keys: true processors: - add_host_metadata: ~ - add_cloud_metadata: ~ - add_docker_metadata: ~ - add_kubernetes_metadata: ~
使用 filestream 输入从活动日志文件读取行。 |
|
解码后的 JSON 对象中的值会覆盖 Filebeat 通常添加的字段(类型、源、偏移量等),以防冲突。 |
|
Filebeat 在出现 JSON 解码错误时会添加 "error.message" 和 "error.type: json" 键。 |
|
Filebeat 将递归地解除解码后的 JSON 中的点分隔键,并将它们扩展为分层对象结构。 |
|
处理器会增强您的数据。请参阅 处理器 以了解更多信息。 |
对于 Filebeat < 7.16
filebeat.yaml。
filebeat.inputs: - type: log paths: /path/to/logs.json json.keys_under_root: true json.overwrite_keys: true json.add_error_key: true json.expand_keys: true processors: - add_host_metadata: ~ - add_cloud_metadata: ~ - add_docker_metadata: ~ - add_kubernetes_metadata: ~
- 确保您的应用程序记录到 stdout/stderr。
- 按照 在 Kubernetes 上运行 Filebeat 指南。
- 启用 基于提示的自动发现(取消
filebeat-kubernetes.yaml
中相应部分的注释)。 - 将这些注释添加到使用 ECS 日志记录器记录的 pod 中。这将确保日志得到适当的解析。
- 确保您的应用程序记录到 stdout/stderr。
- 按照 在 Docker 上运行 Filebeat 指南。
- 启用 基于提示的自动发现。
- 将这些标签添加到使用 ECS 日志记录器记录的容器中。这将确保日志得到适当的解析。
docker-compose.yml。
有关更多信息,请参阅 Filebeat 参考。