本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
系统日志摄取
Amazon Logs 托管系统 CloudWatch 日志摄取允许您直接将系统日志消息(RFC 5424、RFC 3164 和 Cisco FTD/ASA)从防火墙、路由器、交换机和 Linux 服务器发送到日志中,无需安装或管理任何代理。 CloudWatch 您的系统日志源通过 TCP、TCP+TLS 或 UDP 将消息发送到您账户中的 VPC 终端节点。流量通过隧道传输 AWS PrivateLink 到 Log CloudWatch s syslog 服务,该服务会自动解析传入的消息并提取结构化字段,例如设施、严重性、主机名和应用程序名称,从而无需自定义解析管道。然后,您可以使用 L CloudWatch ogs Analytics 查询这些字段,以调查安全事件或解决连接问题。这可以帮助您集中基础架构日志可见性,简化操作工作流程,并减少在分布式环境中部署和维护日志收集代理的开销。
如果您的系统日志源已在您的 Amazon VPC 中,则它们可以直接向 VPC 终端节点发送消息。如果您的源位于外部 AWS (本地数据中心、分支机构或主机托管设施),则它们可以通过您的 VPN 或 Direct Connect 连接到达 VPC 终端节点。
支持的协议和端口
| 协议 | 端口: | 注意 |
|---|---|---|
| TCP + TLS | 6514 | 传输中已加密。推荐用于合规性要求。 |
| TCP 纯文本 | 1514 | 纯文本 AWS PrivateLink (网络隔离)。 |
| UDP | 514 | Best-effort 交货。 |
端口 6514 上的 TLS 使用亚马逊信任服务颁发的 AWS托管证书在网络负载均衡器上终止。您的 syslog 客户端无需任何特殊配置即可自动信任此证书。
注意
UDP 是一种尽力而为的协议。由于网络状况,消息可能会丢失。使用 TCP 实现可靠传输。
支持的系统日志格式
CloudWatch 日志会自动检测和解析以下系统日志格式:
RFC 5424(较新的格式)— 包括结构化数据、ISO 8601 时间戳以及明确的应用程序名称和进程 ID 字段。
RFC 3164(BSD syslog,传统格式)— 包括 BSD-style 时间戳和标签字段。仍被防火墙、路由器和交换机等网络设备广泛使用。
思科 FTD/ASA — 思科 Firepower 威胁防御 (FTD) 和自适应安全设备 (ASA) 设备使用的系统日志格式。消息由消息正文中的
%FTD-或%ASA-标签标识。
消息以原始原始格式存储在您的日志组中。 CloudWatch 日志会自动从每种格式中提取结构化字段,您可以使用 L CloudWatch ogs Insights 进行查询。
RFC 5424 提取的字段
| 字段 | 说明 |
|---|---|
facility | 日志类别名称(例如、kernauth、local0)。 |
facilityCode | 数字设施代码 (0—23)。 |
severity | 严重级别名称(例如、emergerr、info)。 |
severityCode | 数字严重性代码 (0—7)。 |
timestamp | ISO 8601 格式的消息时间戳。 |
hostname | 源设备主机名。 |
appName | 应用程序名称。 |
procId | 进程 ID。 |
msgId | 消息标识符。 |
structuredData | RFC 5424 结构化数据元素(键值元数据)。 |
message | 消息正文。 |
RFC 3164 提取的字段
| 字段 | 说明 |
|---|---|
facility | 日志类别名称。 |
facilityCode | 数字设施代码 (0—23)。 |
severity | 严重级别名称。 |
severityCode | 数字严重性代码 (0—7)。 |
timestamp | 邮件时间戳(从 BSD 格式转换为 ISO 8601)。 |
hostname | 源设备主机名。 |
appName | 应用程序名称(从 TAG 字段中提取)。 |
procId | 进程 ID(如果存在,则从 TAG 字段中提取)。 |
message | 消息正文。 |
思科 FTD/ASA 提取的字段
| 字段 | 说明 |
|---|---|
device | 设备类型(FTDASA、或FMC-AUDIT-LOG)。 |
timestamp | 消息时间戳(RFC 3164 或 RFC 5424 格式,具体取决于设备配置)。 |
deviceId | 设备主机名(在设备上配置device-id日志时出现)。 |
severity | 严重级别名称(例如、informationalwarning、critical)。 |
severityLevel | 严重性级别的数值 (0—7)。 |
messageId | Cisco 数字消息标识符(例如106023、302013)。 |
subsystem | 子系统名称(适用于某些消息类型)。 |
message | 消息正文(纯文本),或正文使用思科结构化格式时的单个键值字段。 |
消息传输
与服务器为每个请求返回状态码的 HTTP-based 摄取不同,syslog 不向发送者提供每条消息的成功确认。服务收到消息后,会对其进行缓冲并传送到您的日志组,并针对暂时性错误进行重试。交付保证取决于您选择的传输协议:
-
TCP(端口 6514 和 1514)— 在正常操作条件下提供可靠的传输。
当无法交付时,该服务会重置 TCP 连接以向您的客户端发出故障信号。该连接上正在传输的消息可能会被丢弃,但是连接重置会立即提供背压,因此您的客户端可以检测到问题并在本地缓冲消息,直到问题得到解决。在容量压力下,该服务会尽早拒绝新的 TCP 连接,从而提供相同的背压信号。
导致连接重置的情况包括:
VPC 终端节点策略拒绝访问
您的账户已超出
PutLogEvents配额目标日志组不存在
日志组上的资源策略拒绝访问
UDP(端口 514)— Best-effort 交付。无法送达的邮件会被丢弃,发件人不会收到任何反馈。由于网络拥塞或容量限制,消息也可能丢失。如果可靠交付对您的用例很重要,请使用 TCP。
要检测和响应交付问题,请监控中的SyslogMessagesDropped指标 CloudWatch。该Reason维度表示消息被丢弃的原因,以便您可以采取更正措施。有关更多信息,请参阅 监视系统日志摄取。
限额和限制
| 限制 | 值 | 注意 |
|---|---|---|
| 最大消息大小 (TCP) | 64 KB | 标准 syslog 消息通常远低于此限制。如果您的用例需要更详细的消息,请联系 Su AWS pport。 |
| 最大邮件大小 (UDP) | 8 KB | 标准 syslog 消息通常远低于此限制。如果您的用例需要更详细的消息,请联系 Su AWS pport。 |
| 摄取吞吐量 | 与共享 PutLogEvents |
系统日志提取计入您账户的PutLogEvents配额(默认情况下,每个区域每个账户每秒 5,000 个请求)。 |
PutLogEvents 配额可调整。如果您的系统日志流量需要更高的吞吐量,请通过 S er vice Quotas 申请增加配额。