本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如果数据未传输到您的 Splunk 终端节点,请检查以下各项。
-
如果您的 Splunk 平台在 VPC 中,请确保 Firehose 可以访问它。有关更多信息,请参阅在 VPC 中访问 Splunk。
-
如果您使用 AWS 负载均衡器,请确保它是 Classic 负载均衡器或 Application 负载均衡器。此外,使用为经典负载均衡器禁用的 Cookie 有效期启用基于持续时间的粘接会话,应用程序负载均衡器的有效期设置为最大值(7 天)。有关如何执行此操作的信息,请参阅经典负载均衡器或应用程序负载均衡器基于持续时间的会话粘性。
-
检查 Splunk 平台要求。适用于 Firehose 的 Splunk 插件需要 6.6.X 或更高版本的 Splunk 平台。有关更多信息,请参阅适用于 Amazon Kinesis Firehose 的 Splunk 插件
。 -
如果您在 Firehose 和 HTTP 事件收集器 (HEC) 节点之间有代理(Elastic Load Balancing 或其他代理),请启用粘性会话以支持 HEC 确认()。ACKs
-
确保您使用有效的 HEC 令牌。
-
确保启用了 HEC 令牌。
-
检查是否为发送到 Splunk 的数据正确设置格式。有关更多信息,请参阅为 HTTP 事件收集器的事件设置格式
。 -
确保为 HEC 令牌和输入事件配置了有效索引。
-
如果由于 HEC 节点出现服务器错误而无法上传到 Splunk,将会自动重试该请求。如果所有重试都失败,数据将备份到 Amazon S3。检查您的数据是否出现在 Amazon S3 中,这种情况表明出现此类失败。
-
确保在您的 HEC 令牌上启用了索引器确认。
-
在 Firehose 流的 Splunk 目的地配置中增加
HECAcknowledgmentTimeoutInSeconds
值。 -
在 Firehose 流的 Splunk 目的地配置中的
RetryOptions
下增加DurationInSeconds
值。 -
检查 HEC 的运行状况。
-
如果使用数据转换,确保您的 Lambda 函数不会返回有效负载大小超过 6MB 的响应。有关更多信息,请参阅 Amazon 数据 FirehoseData 转换。
-
确保名为
ackIdleCleanup
的 Splunk 参数设置为true
。默认情况下,它设置为 false。若要将此参数设置为true
,请执行以下操作:-
对于托管 Splunk 云部署
,请使用 Splunk 支持门户提交案例。在此情况下,应请求 Splunk 支持人员启用 HTTP 事件收集器,在 inputs.conf
中将ackIdleCleanup
设置为true
,并创建或修改要用于此插件的负载均衡器。 -
对于分布式 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 文档
中提到的步骤进行操作。