将 Amazon Data Firehose 流传输到亚马逊 S3 中的 Apache Iceberg Tables 处于预览阶段,可能会发生变化。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Splunk 问题排查
如果数据未传输到您的 Splunk 终端节点,请检查以下各项。
-
如果您的 Splunk 平台位于VPC,请确保 Firehose 可以访问它。有关更多信息,请参阅中的 VPC Splunk 访问权限。
-
如果您使用 AWS 负载均衡器,请确保它是 Classic 负载均衡器或 Application 负载均衡器。此外,在 Classic Load Balancer 中启用基于持续时间的粘性会话,禁用 Cookie 过期时间,Application Load Balancer 的过期时间设置为最长(7 天)。有关如何执行此操作的信息,请参阅 C lassic Load Balancer 或 Application Load Balancer 基于持续时间的会话粘性。
-
检查 Splunk 平台要求。适用于 Firehose 的 Splunk 插件需要 Splunk 平台版本 6.6.X 或更高版本。有关更多信息,请参阅适用于 Amazon Kinesis Firehose 的 Splunk 插件
。 -
如果您在 Firehose 和HTTP事件收集器 () 节点之间有代理(Elastic Load Balancing 或其他代理HEC),请启用粘性会话以支持HEC确认()。ACKs
-
确保您使用的是有效的令HEC牌。
-
确保HEC令牌已启用。
-
检查是否为发送到 Splunk 的数据正确设置格式。有关更多信息,请参阅为事件收集器设置HTTP事件格式
。 -
确保为令HEC牌和输入事件配置了有效的索引。
-
当由于来自HEC节点的服务器错误而导致上传到 Splunk 失败时,会自动重试请求。如果所有重试都失败,数据将备份到 Amazon S3。检查您的数据是否出现在 Amazon S3 中,这种情况表明出现此类失败。
-
确保在令牌上启用了索引器确认。HEC有关更多信息,请参阅启用索引器确认
。 -
增加 Firehose 直播的 Splunk 目标配置
HECAcknowledgmentTimeoutInSeconds
中的值。 -
在 Firehose
RetryOptions
直播的 Splunk 目标配置中增加DurationInSeconds
下方的值。 -
检查你的HEC健康状况。
-
如果使用数据转换,确保您的 Lambda 函数不会返回有效负载大小超过 6MB 的响应。有关更多信息,请参阅 Amazon 数据 FirehoseData 转换。
-
确保名为
ackIdleCleanup
的 Splunk 参数设置为true
。默认情况下,它设置为 false。若要将此参数设置为true
,请执行以下操作:-
对于托管 Splunk 云部署
,请使用 Splunk 支持门户提交案例。在这种情况下,请让 Splunk 支持人员启用HTTP事件收集器, ackIdleCleanup
将其设置为true
中inputs.conf
,然后创建或修改负载均衡器以用于此插件。 -
对于分布式 Splunk Enterprise 部署
,请将 inputs.conf
文件中的ackIdleCleanup
参数设置为 true。对于 *nix 用户,此文件位于$SPLUNK_HOME/etc/apps/splunk_httpinput/local/
下。对于 Windows 用户,它位于%SPLUNK_HOME%\etc\apps\splunk_httpinput\local\
下。 -
对于单实例 Splunk Enterprise 部署
,请将 inputs.conf
文件中的ackIdleCleanup
参数设置为true
。对于 *nix 用户,此文件位于$SPLUNK_HOME/etc/apps/splunk_httpinput/local/
下。对于 Windows 用户,它位于%SPLUNK_HOME%\etc\apps\splunk_httpinput\local\
下。
-
确保在您的 Firehose 流中指定的IAM角色可以访问 S3 备份存储桶和用于数据转换的 Lambda 函数(如果启用了数据转换)。此外,请确保该IAM角色有权访问 CloudWatch 日志组和日志流以检查错误日志。有关更多信息,请参阅向 Splunk 目标授权 FirehoseAccess 。
-
要将传送到 S3 错误存储桶(S3 备份)的数据重新驱动回 Splunk,请按照 Splunk 文档中提到的步骤进行操作。