我怎样才能让 Logstash-Keystore 找到它的密码?
How can I get Logstash-Keystore to find its password?
对于背景:我正在尝试自动化步骤以在 Ansible 中配置和创建大量 Logstash 进程,但希望确保在自动化过程之前手动执行这些步骤和配置。
我已经按照 Elastic 的文档(它是一个 RPM 安装)安装了 Logstash,并且它正确地将日志传送到我的 ES 实例而没有问题。 Elasticsearch 和 Logstash 都是 v7.12.0.
在 keystore docs 之后,我创建了一个 /etc/sysconfig/logstash
文件并将该文件的权限设置为 0600。我已将 LOGSTASH_KEYSTORE_PASS
密钥添加到文件中在创建和读取密钥库本身时用作 keystore 命令的环境变量。
根据 运行 sudo /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash create
命令,进程返回以下错误:
WARNING: The keystore password is not set.
Please set the environment variable `LOGSTASH_KEYSTORE_PASS`.
Failure to do so will result in reduced security.
Continue without password protection on the keystore? [y/N]
这不应该是这种情况,因为密钥库进程应该从上述文件中获取我的密码 env var。有没有人遇到过类似的问题,如果有,你是怎么解决的?
这是预期的,只有当您将 logstash 作为服务启动时,文件 /etc/sysconfig/logstash
才会被读取,而不是当您从命令行 运行 它时。
要创建密钥库,您需要先使用密码导出变量,如文档中所述。
set +o history
export LOGSTASH_KEYSTORE_PASS=mypassword
set -o history
sudo -E /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash create
之后,当您将 logstash 作为服务启动时,它将从 /etc/sysconfig/logstash
文件中读取变量。
对于背景:我正在尝试自动化步骤以在 Ansible 中配置和创建大量 Logstash 进程,但希望确保在自动化过程之前手动执行这些步骤和配置。
我已经按照 Elastic 的文档(它是一个 RPM 安装)安装了 Logstash,并且它正确地将日志传送到我的 ES 实例而没有问题。 Elasticsearch 和 Logstash 都是 v7.12.0.
在 keystore docs 之后,我创建了一个 /etc/sysconfig/logstash
文件并将该文件的权限设置为 0600。我已将 LOGSTASH_KEYSTORE_PASS
密钥添加到文件中在创建和读取密钥库本身时用作 keystore 命令的环境变量。
根据 运行 sudo /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash create
命令,进程返回以下错误:
WARNING: The keystore password is not set.
Please set the environment variable `LOGSTASH_KEYSTORE_PASS`.
Failure to do so will result in reduced security.
Continue without password protection on the keystore? [y/N]
这不应该是这种情况,因为密钥库进程应该从上述文件中获取我的密码 env var。有没有人遇到过类似的问题,如果有,你是怎么解决的?
这是预期的,只有当您将 logstash 作为服务启动时,文件 /etc/sysconfig/logstash
才会被读取,而不是当您从命令行 运行 它时。
要创建密钥库,您需要先使用密码导出变量,如文档中所述。
set +o history
export LOGSTASH_KEYSTORE_PASS=mypassword
set -o history
sudo -E /usr/share/logstash/bin/logstash-keystore --path.settings /etc/logstash create
之后,当您将 logstash 作为服务启动时,它将从 /etc/sysconfig/logstash
文件中读取变量。