【发布时间】:2021-07-12 23:03:34
【问题描述】:
背景:我在 Ubuntu 20.04 环境中工作,设置 Logstash 服务器以将指标发送到我的 Elastic 集群。使用我相对基本的配置,我可以让 Filebeat 进程将日志发送到负载均衡器,然后负载均衡器将它们传播到我的 Logstash 服务器和 Elastic。这个过程有效。我希望能够使用 Logstash 密钥库来防止将敏感变量以纯文本形式传递给我的 logstash.yml 文件。在我的环境中,我可以按照 Elastic documentation 在默认位置设置受密码保护的密钥库,向其中添加密钥,并成功列出这些密钥。
问题:虽然 Logstash 服务器在没有密钥库的情况下成功运行,但当我添加它们并尝试在启动时查看日志文件时,该过程永远不会启动。它似乎继续尝试重新启动而从未登录到logstash-plain.log。当尝试使用此配置在前台运行该进程时,我收到的错误是相当无用的:
Found a file at /etc/logstash/logstash.keystore,
but it is not a valid Logstash keystore
疑难解答完成:在尝试了其他issues 中的一些步骤后,例如将/etc/sysconfig/logstash 创建替换为简单地将密码添加到/etc/default/logstash,错误有点帮助,说明文件权限或密码不正确。 logstash-keystore 进程本身能够创建和列出密钥,因此密码正确,并且密钥库本身设置为 0644。我尝试了多种权限配置,但仍然无法让 Logstash 作为进程运行或在前台运行.
我仍然认为这是权限问题,但我不知道如何解决。 Logstash 以 logstash 用户身份运行,该用户应该能够读取自 0644 以来的密钥库文件,并且与 logstash.yml 位于同一目录中。
有没有人在使用 Logstash 和 Ubuntu 或在类似的环境中遇到过类似的情况?如果是这样,你是如何设法克服它的?我对想法持开放态度,并希望能够实现这一目标。
【问题讨论】:
标签: elasticsearch permissions logstash elastic-stack logstash-configuration