安全设置的密钥库编辑

当您配置 Metricbeat 时,您可能需要指定敏感设置,例如密码。您可以使用 Metricbeat 密钥库来混淆存储的秘密值,以便在配置设置中使用它们,而不是依赖文件系统权限来保护这些值。

在将密钥及其秘密值添加到密钥库后,您可以在配置敏感设置时使用密钥代替秘密值。

引用密钥的语法与环境变量的语法相同

${KEY}

其中 KEY 是密钥的名称。

例如,假设密钥库包含一个名为 ES_PWD 的密钥,其值为 yourelasticsearchpassword

  • 在配置文件中,使用 output.elasticsearch.password: "${ES_PWD}"
  • 在命令行中,使用: -E "output.elasticsearch.password=\${ES_PWD}"

当 Metricbeat 解包配置时,它会在解析环境变量和其他变量之前解析密钥。

请注意,Metricbeat 密钥库不同于 Elasticsearch 密钥库。Elasticsearch 密钥库允许您按名称存储 elasticsearch.yml 值,而 Metricbeat 密钥库允许您指定可以在 Metricbeat 配置中引用的任意名称。

要创建和管理密钥,请使用 keystore 命令。有关完整命令语法(包括可选标志),请参阅 命令参考

keystore 命令必须由将运行 Metricbeat 的相同用户运行。

创建密钥库编辑

要创建秘密密钥库,请使用

metricbeat keystore create

Metricbeat 在由 path.data 配置设置定义的目录中创建密钥库。

添加密钥编辑

要存储敏感值(例如 Elasticsearch 的身份验证凭据),请使用 keystore add 命令

metricbeat keystore add ES_PWD

当提示时,为密钥输入一个值。

要覆盖现有密钥的值,请使用 --force 标志

metricbeat keystore add ES_PWD --force

要通过 stdin 传递值,请使用 --stdin 标志。您也可以使用 --force

cat /file/containing/setting/value | metricbeat keystore add ES_PWD --stdin --force

列出密钥编辑

要列出密钥库中定义的密钥,请使用

metricbeat keystore list

删除密钥编辑

要从密钥库中删除密钥,请使用

metricbeat keystore remove ES_PWD