HTTP 事件收集器:如何使用 curl 从命令行将日志发送到 Splunk Cloud?

HTTP Event Collector: How to send logs to Splunk Cloud from command line using curl?

我正在试用 Splunk Cloud 的试用版。我创建了 HTTP 事件收集器。现在我正在尝试使用此处可用的 curl 脚本登录 Splunk http://dev.splunk.com/view/event-collector/SP-CAAAE7F。但是我想我做错了什么,因为我无法访问服务器。

我用来保存日志的 Splunk 的主机名必须是什么?

这是我的 Splunk 云实例 https://xxxxx.cloud.splunk.com

我试过这样的东西,我猜哪个是错误的(替换为我在创建 HTTP EC 后得到的 tokenid)

curl -k https://xxxxx.cloud.splunk.com/services/collector -H 'Authorization: Splunk tokenid' -d '{"event":"Hello, World!"}' 请帮忙。

谢谢

我也尝试过使用 curl 进行同样的操作,但得到如下错误:-

curl: (7) Failed to connect to xxx.cloud.splunk.com port 8088: Timed out

后来注意到,在上面提到的文档中,有一个 "notes" 部分说要在自助服务云实例的主机名前加上 "input-" 前缀。

进行此更改后,curl 请求就起作用了。数据也出现在 Splunk 仪表板中。查看 curl 输出。

$ curl -k https://input-xxx.cloud.splunk.com:8088/services/collector -H "Authorization: Splunk 00301XX3-1234-12XX-X1XX-1234X0X1XXX0" -d '{"event":"Breakfast Order"} {"event":{"coffee":"double cream double sugar","muffin":"blueberry","juice":"none"}}'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   139  100    27  100   112     10     43  0:00:02  0:00:02 --:--:--    74{"text":"Success","code":0}

此外,如果将请求发送到本地 Splunk server 安装,您的代码将起作用。然后可以将 curl 请求发送到 localhost:8088/services/collector 而无需 input- prefix

如果您已经添加了 input- 前缀作为主机名的一部分,但仍然出现此错误,则可能是其他原因。请查看 this link 是否有帮助。