【问题标题】:Uable to connect Splunk using php sdk无法使用 php sdk 连接 Splunk
【发布时间】:2023-03-19 20:05:01
【问题描述】:

我正在尝试使用 PHP SDK 连接 Splunk,但出现以下错误:

https://api.9xnn-6gtz.data.splunkstorm.com:80/services/auth/login Warning: array_shift() expects parameter 1 to be array, null given in /home/u354848659/public_html/oauth/splunk/Splunk/Http.php on line 124 

Warning: Invalid argument supplied for foreach() in /home/u354848659/public_html/oauth/splunk/Splunk/Http.php on line 126

Login Failed. Reason: String could not be parsed as XML


$SplunkExamples_connectArguments = array(
    'host' => 'example.com',
    'port' => '80',
    'username' => 'xxxx',
    'password' => 'xxxx',
    'token' => 'xxxxxxxxxxx',
);

我通过了以上所有细节。但是当我试图运行它时它不起作用。请帮助我尽早解决问题。谢谢

【问题讨论】:

    标签: php splunk


    【解决方案1】:

    您需要提供更多代码来说明您正在做什么。您的一条警告消息表明您传递了一个空值,在这里您向我们展示了一个数组,这让我对可能出现的问题有了一些想法,但您并没有向我们展示您如何使用这个数组。您应该尝试将SSCCE 放在一起。

    getting started guide,示例不传递令牌。原因是,如果你深入研究the documentation,你会发现如果你提供了一个令牌,那么用户名和密码就会被忽略,你不需要调用 login()。

    此外,使用 PHP SDK(和其他 SDK),您需要点击 Splunk REST API 端口,默认情况下是端口 8089,而不是端口 80。这当然是可配置的,因此您应该仔细检查您的 Splunk行政人员。

    【讨论】:

    • 感谢您的回复。请参阅下面的 URL 以查看 Http.php 代码。我将端口更新为 8089。我还从代码中删除了令牌。 empower-demos.twomini.com/oauth/splunk/Splunk/Http.html您也可以在链接上查看我的示例:empower-demos.twomini.com/oauth/splunk/examples
    • 它是否帮助您解决了您的问题? Splunk/Http.php 是 Splunk SDK 的一部分。您的问题实际上不太可能存在(可能存在,但您没有充分展示您所写的内容以及您尝试过/期望我们相信的内容)。如果我在这里放的注释没有解决您的问题,请使用 SSCCE 更新您的问题,说明您如何使用 SDK可访问的网络服务器。)
    • 问题尚未解决。我还不能使用 php SDK 连接到 Splunk 服务器。我刚刚通过替换我的主机将给定的凭据传递给示例中给出的 url: $url = 'myhost.com:8089/services/auth/login';也尝试使用简单的 CURL 来检测它。但没有成功... :(
    • 查看您的其他问题,然后再次注意到此处的 URL,Splunk Storm 是与 Splunk Enterprise 不同的产品,尚不支持这些 API。 (他们的数据输入 API 也是端口 443)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    相关资源
    最近更新 更多