Kibana的密钥配置

[2025-11-12T17:13:40.095+08:00][ERROR][plugins.monitoring.monitoring] Error: Unable to create alerts client because the Encrypted Saved Objects plugin is missing encryption key. Please set xpack.encryptedSavedObjects.encryptionKey in the kibana.yml or use the bin/kibana-encryption-keys command.

 

这个错误的原因是:Kibana 的核心功能(如监控、告警、加密保存对象等)需要一个加密密钥(xpack.encryptedSavedObjects.encryptionKey)来保护敏感数据,但你的 kibana.yml 中没有配置这个密钥,导致依赖该功能的插件(如监控插件)无法初始化。

为什么需要这个密钥?

xpack.encryptedSavedObjects.encryptionKey 是 Kibana 用于加密 “敏感保存对象” 的密钥(例如:告警配置、API 密钥、第三方服务凭证等)。没有这个密钥,Kibana 无法安全存储这些敏感信息,因此依赖它的功能(如监控告警、加密存储)会直接报错并禁用。

解决方法:生成并配置加密密钥

通过 Kibana 自带的工具生成密钥,然后配置到 kibana.yml 中即可,步骤如下(Windows 系统):

1. 生成加密密钥

  • 打开命令提示符(CMD),进入 Kibana 的 bin 目录(如 cd D:\kibana-9.2.1\bin)。
  • 执行以下命令生成全套加密密钥(包括 encryptedSavedObjects 所需的密钥):
    cmd
     
     
    kibana-encryption-keys.bat generate
    
     
     
  • 命令会输出类似以下的密钥(示例,你的密钥是随机生成的):
    yaml
     
     
    xpack.encryptedSavedObjects.encryptionKey: "abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz12"
    xpack.security.encryptionKey: "abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz12"
    xpack.reporting.encryptionKey: "abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz12"
    
     
     

2. 配置到 kibana.yml 中

  • 打开 Kibana 安装目录下的 config/kibana.yml 文件。
  • 将生成的密钥复制到文件末尾(确保没有重复配置),例如:
    yaml
     
     
    # 添加生成的加密密钥
    xpack.encryptedSavedObjects.encryptionKey: "你生成的第一个密钥"
    xpack.security.encryptionKey: "你生成的第二个密钥"
    xpack.reporting.encryptionKey: "你生成的第三个密钥"
    
     
     

3. 重启 Kibana

  • 关闭当前运行的 Kibana 进程(命令行窗口按 Ctrl + C 终止,或在任务管理器结束进程)。
  • 重新启动 kibana.bat,此时日志中不会再出现 missing encryption key 的错误,监控等依赖功能会正常初始化。

注意事项

  • 密钥保存:生成的密钥要妥善保存,丢失后会导致之前加密存储的对象(如告警配置)无法解密(需重新创建)。
  • 生产环境要求:密钥长度至少 32 个字符(工具生成的密钥已满足),且不同环境(开发 / 测试 / 生产)应使用不同密钥。
  • 其他功能影响:配置后,不仅监控插件,告警、报告生成、加密保存的对象等功能也会恢复正常。
按以上步骤操作后,这个错误会彻底解决,Kibana 的相关功能将正常运行。
posted @ 2025-11-12 17:23  C豪  阅读(58)  评论(0)    收藏  举报