本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对系统日志摄取进行故障排除
本节介绍了 syslog 摄取的常见问题以及如何解决这些问题。
消息未出现在日志组中
如果您发送了 syslog 消息,但这些消息未出现在您的日志组中,请按顺序检查以下内容:
-
验证系统日志配置是否存在。
运行
list-syslog-configurations以确认您的 VPC 终端节点已在日志组中注册:aws logs list-syslog-configurations \ --log-group-identifier /syslog/my-devices \ --region $REGION如果未返回任何配置,请使用创建配置
put-syslog-configuration。 -
验证资源策略。
确保日志组的资源策略授予
logs:PutLogEvents和syslog.logs.amazonaws.com,并且aws:SourceArn条件logs:CreateLogStream与您的 VPC 终端节点 ARN 完全匹配:aws logs describe-resource-policies --region $REGION使用检查
SyslogMessagesDropped指标Reason=AccessDenied以确认授权是否是问题所在。 -
验证安全组。
确保连接到 VPC 终端节点的安全组允许来自源 CIDR 的入站流量进入您正在使用的端口(6514、1514 或 514):
aws ec2 describe-security-groups \ --group-ids $VPCE_SG_ID \ --region $REGION \ --query 'SecurityGroups[0].IpPermissions' -
验证网络连接。
在同一网络上的设备或主机上,测试与端点的 TCP 连接:
# TCP connectivity test nc -zv $VPCE_DNS 6514 nc -zv $VPCE_DNS 1514如果连接被拒绝或超时,请验证 VPN/Direct Connect 路由以及设备是否可以到达 VPC 终端节点子网。
-
检查 VPC 终端节点策略。
如果您已附加自定义 VPC 终端节点策略,请确认它允许执行所需的操作。使用检查
SyslogMessagesDropped指标Reason=VpcePolicyDenied。
TLS 握手失败
如果您的 syslog 客户端无法在端口 6514 上建立 TLS 连接:
证书信任 — 确保您设备的 CA 信任存储区包含 Amazon Trust Services 根证书。默认情况下,大多数操作系统都包含这些。https://www.amazontrust.com/repository/
如果需要,可以从中下载它们。 TLS 版本 — 该服务支持 TLS 1.2 和 TLS 1.3。确保您的系统日志客户端至少支持 TLS 1.2。
主机名验证 — 如果您的客户端验证服务器主机名,请确保将其配置为使用 VPC 终端节点 DNS 名称(不是 IP 地址)进行连接。
使用 OpenSSL 手动测试 TLS 连接:
openssl s_client -connect $VPCE_DNS:6514 -brief
成功连接会显示 TLS 版本和密码套件。如果失败,则错误消息会指出原因。
UDP 消息丢失
UDP 是一种尽力而为的协议。在以下情况下,某些消息丢失是预期的行为:
您的设备和 VPC 终端节点之间的网络拥塞。
消息超过了最大 UDP 数据报大小。
临时服务容量限制(
SyslogMessagesDropped用用表示Reason=ServiceUnavailable)。
如果需要可靠的传输,请改用 TCP(端口 1514 或 6514)。TCP 提供传送确认和自动重传功能。
连接被拒绝
如果您的设备在连接到 VPC 终端节点时报告 “连接被拒绝”:
验证 VPC 终端节点的
available状态为:aws ec2 describe-vpc-endpoints --vpc-endpoint-ids $VPCE_ID \ --region $REGION --query 'VpcEndpoints[0].State'确认您正在使用支持的端口(6514、1514 或 514)进行连接。
验证 VPN 或 Direct Connect 路由允许从您的设备网络到 VPC 终端节点子网的流量。
检查安全组是否允许您使用的端口上的入站流量。
由于速率限制而丢弃了邮件
如果SyslogMessagesDropped指标显示Reason=MessageRateLimitExceeded,则表示您的系统日志流量已超过您账户的PutLogEvents配额。
要解决这一问题,请执行以下操作:
在 Amazon Lo CloudWatch gs 下的 S ervice Quotas 控制台中查看您当前的配额
。 如果您的系统日志吞吐量需要,请申请增加配额。请参阅 Service Quotas 用户指南中的申请增加配额。