Google cloud dataflow 发布/订阅到Splunk数据流模板-在此服务器上找不到请求的URL

Google cloud dataflow 发布/订阅到Splunk数据流模板-在此服务器上找不到请求的URL,google-cloud-dataflow,google-cloud-pubsub,splunk,Google Cloud Dataflow,Google Cloud Pubsub,Splunk,我正在使用数据流模板(我已经尝试了Cloud\u PubSub\u to\u Splunk)的latest和2020-11-02-00\u RC00)将数据从PubSub主题流到Splunk。我已经遵循了所有的步骤 我的工作论点是: JOB_NAME=pubsub-to-splunk-$USER-`date +"%Y%m%d-%H%M%S%z"` gcloud dataflow jobs run $JOB_NAME \ --subnetwork=https://www

我正在使用数据流模板(我已经尝试了
Cloud\u PubSub\u to\u Splunk
)的
latest
2020-11-02-00\u RC00
)将数据从PubSub主题流到Splunk。我已经遵循了所有的步骤

我的工作论点是:

JOB_NAME=pubsub-to-splunk-$USER-`date +"%Y%m%d-%H%M%S%z"`
gcloud dataflow jobs run $JOB_NAME \
    --subnetwork=https://www.googleapis.com/compute/v1/projects/<PROJECT>/regions/us-central1/subnetworks/<NAME> \
    --gcs-location gs://dataflow-templates/2020-11-02-00_RC00/Cloud_PubSub_to_Splunk \
    --max-workers 2 \
    --parameters=inputSubscription="projects/<PROJECT>/subscriptions/logs-export-subscription",token="<TOKEN>",url="https://<URL>:8088/services/collector/event",outputDeadletterTopic="projects/<PROJECT>/topics/splunk-pubsub-deadletter",batchCount="10",parallelism="8",disableCertificateValidation=true
因此,我不认为这是一个连接或url问题,就像错误消息所暗示的那样

当我删除
-d
键和值时,我可以使用curl重现故障

curl -k https://<IP>:8088/services/collector/event -H "Authorization: Splunk <TOKEN>" 

{"text":"The requested URL was not found on this server.","code":404}
curl-k https://:8088/services/collector/event-H“授权:Splunk”
{“text”:“在此服务器上找不到请求的URL。”,“code”:404}

知道是什么导致了这个问题吗?

应该提供的
Splunk HEC URL
应该是
https://[IP]:8088
,而不是完整路径
https://[IP]:8088/services/collector/event
,因为路径是由谷歌库附加的。

感谢您的报告。我们更新了示例以澄清该参数。具体来说,Splunk HEC
url
template参数如下:

<protocol>://<host>:<port>
:/:
例如:
https://splunk-hec.example.com:8088
。 主机是运行HEC的Splunk实例(对于单个HEC实例)或HEC层前面的HTTP(S)负载平衡器(对于分布式HEC设置)的FQDN(或IP)

您没有指定完整的HEC端点路径。Splunk数据流模板目前仅支持HEC JSON对象端点(即
服务/collector/event
),并在传出HTTP请求中自动附加该端点

此外,要深入了解,请务必查看以下新资源:

  • :本教程结合了安全最佳实践,以及关于如何规划Splunk数据流管道的容量以及如何处理潜在的交付故障以避免数据丢失的指导

  • :有关最新Splunk数据流模板参数的详细信息


实际上,它看起来像谷歌的
com.Google.cloud.teleport.splunk.HttpEventPublisher
将路径
services/collector/event
附加到IP和端口。。文档请求了
您的splunk hec url
,因此我认为它需要完整路径。您能否在metrics Explorer中检查
custom.googleapis.com/dataflow/outbound successful events
指标并共享它们?另外,您是否创建了VPC网络和防火墙规则(如所述)?是的,我现在接收到由
出站成功事件
指示的成功事件。。。我可以确认问题是
url=“https://:8088/services/collector/event”
vs.
url=“https://:8088
很好!这里有文档记录](),当您使用共享VPC时,您必须使用完整的URL。为了进一步为社区做出贡献,我将以社区wiki的形式发布答案,好吗?修复程序不是子网络URL。它正在将完整的splunk URL调整为splunk IP和端口
<protocol>://<host>:<port>