【问题标题】:SplunkForwarder in Docker container does not take authentication from CLIDocker 容器中的 SplunkForwarder 不接受来自 CLI 的身份验证
【发布时间】:2018-09-14 21:57:43
【问题描述】:

我正在尝试在 docker 容器中运行 Splunk,并且不想手动输入用户名和密码。所以,我在脚本中使用 CLI 命令: /opt/splunkforwarder/bin/splunk --accept-license --answer-yes --no-prompt --auth admin: start

这引发了我的错误说明: 命令错误:子命令 'admin:' 对命令 '-auth' 无效。

【问题讨论】:

    标签: docker splunk


    【解决方案1】:

    我还没有检查,但是在 splunk 图像的 entrypoint.sh 中,我使用了一个破折号作为 auth 以使其工作,所以 -auth admin:changeme 应该只有一个破折号。例如见https://github.com/splunk/docker-splunk/blob/master/enterprise/entrypoint.sh

    顺便说一句,如果您使用 Splunk >=7.1,您会发现一个问题,即 admin:changeme 不再起作用,因此您需要输入密码 https://www.outcoldsolutions.com/blog/2018-04-25-docker-splunk-7-1-0/

    另外,在您的 splunk 命令中,我没有看到命令。你提供了很多论据,但没有可操作的命令,例如startadd

    如果你使用的是官方镜像,可以通过环境变量给splunk下命令,见https://github.com/splunk/docker-splunk/tree/master/enterprise

    【讨论】:

    • 我正在使用 Splunk 7.1.2 并且 -auth 命令显示“错误选项 -a 错误”。我将命令更改为:/opt/splunkforwarder/bin/splunk start --accept-license --answer-yes --no-prompt --seed-passwd 但是,我仍然必须手动输入用户名和密码运行 docker 镜像后。它有效,但我希望它从命令行本身/脚本中获取。
    • 请参阅我发布的博客文章 - 选项 4,如何使用 user-seed.conf 为密码播种,这样您就无需在配置中提及密码。但是您需要将此 conf 文件嵌入到您自己的图像中。
    • 即使我使用 user-seed.conf 显式添加配置,docker 容器在运行时仍会询问用户名和密码。但是,如果我提供用户名和密码,例如: docker run -it -h --restart unless-stopped -e "SPLUNK_PASSWORD=" /bin/bash "script.sh"。然后容器不要求我输入密码,但它仍然要求我输入用户名:admin(但不是密码)。添加“SPLUNK_USER=admin”也无济于事。
    • 不确定您的用例。如果您想在启动 Splunk 后运行 CLI 命令 - 是的,它会要求您输入密码。这就是 Splunk 的行为方式。如果您想在启动时配置 Splunk - 您可以嵌入所有配置。
    • 通过导出用户名和密码解决了这个问题。谢谢@outcoldman
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多