在生产环境中使用 Kibana
编辑在生产环境中使用 Kibana
编辑您如何部署 Kibana 在很大程度上取决于您的用例。如果您是唯一的用户,您可以在本地计算机上运行 Kibana,并将其配置为指向您想要与之交互的任何 Elasticsearch 实例。相反,如果您有大量 Kibana 重度用户,您可能需要在连接到同一个 Elasticsearch 实例的多个 Kibana 实例之间进行负载均衡。
虽然 Kibana 不是非常消耗资源,但我们仍然建议将 Kibana 与您的 Elasticsearch 数据或主节点分开运行。要将 Kibana 流量分配到 Elasticsearch 集群中的各个节点,您可以配置 Kibana 以使用 Elasticsearch 主机列表。
Kibana 不支持滚动升级,部署混合版本的 Kibana 可能会导致数据丢失或升级失败。请在执行升级之前关闭所有 Kibana 实例,并确保所有正在运行的 Kibana 实例具有匹配的版本。
跨多个 Kibana 实例进行负载均衡
编辑要在负载均衡器后面提供多个 Kibana 安装,您必须更改配置。有关每个设置的详细信息,请参阅 配置 Kibana。
这些设置在每个 Kibana 实例中必须是唯一的
server.uuid // if not provided, this is autogenerated server.name path.data pid.file server.port
当使用文件追加器时,目标文件也必须是唯一的
logging: appenders: default: type: file fileName: /unique/path/per/instance
必须相同的设置
xpack.security.encryptionKey //decrypting session information xpack.security.authc.* // authentication configuration xpack.security.session.* // session configuration xpack.reporting.encryptionKey //decrypting reports xpack.encryptedSavedObjects.encryptionKey // decrypting saved objects xpack.encryptedSavedObjects.keyRotation.decryptionOnlyKeys // saved objects encryption key rotation, if any
如果身份验证配置不匹配,则每个 Kibana 实例中来自未识别提供程序的会话将在该实例的常规会话清理期间被删除。同样,会话配置中的不一致也可能导致不希望的会话注销。这也适用于任何由同一 Elasticsearch 实例支持并共享相同 kibana.index 的 Kibana 实例,即使它们不在同一个负载均衡器后面。
可以通过使用 -c
标志从命令行使用单独的配置文件
bin/kibana -c config/instance1.yml bin/kibana -c config/instance2.yml
访问多个负载均衡的 Kibana 集群
编辑要从同一浏览器访问多个负载均衡的 Kibana 集群,请在每个 Kibana 实例的 Kibana 配置中显式地将 xpack.security.cookieName
设置为相同的值。
每个 Kibana 集群必须具有不同的 xpack.security.cookieName
值。
这避免了来自不同 Kibana 实例的 Cookie 之间的冲突。
这将实现无缝的高可用性,并在当前使用的实例发生故障时保持会话处于活动状态。
跨多个 Elasticsearch 节点实现高可用性
编辑可以将 Kibana 配置为连接到同一集群中的多个 Elasticsearch 节点。在节点不可用的情况下,Kibana 将透明地连接到可用的节点并继续运行。对可用主机的请求将以循环方式路由。
在 kibana.yml 中
elasticsearch.hosts: - http://elasticsearch1:9200 - http://elasticsearch2:9200
相关配置包括 elasticsearch.sniffInterval
、elasticsearch.sniffOnStart
和 elasticsearch.sniffOnConnectionFault
。这些可以用于在调整集群大小时自动更新主机列表。参数可以在 设置页面 上找到。
内存
编辑Kibana 具有基于可用总内存进行缩放的默认内存限制。在某些情况下,例如大型报告作业,调整限制以满足更具体的要求可能是有意义的。
可以通过在 kibana/config
文件夹内或使用环境变量 KBN_PATH_CONF
配置的任何其他文件夹中找到的 node.options
配置文件中设置 --max-old-space-size
来定义限制。例如,在基于 Debian 的系统中,该文件夹是 /etc/kibana
。
该选项接受以 MB 为单位的限制
--max-old-space-size=2048
OpenSSL 旧版提供程序
编辑从 8.10.0 开始,Kibana 已将其运行时环境 Node.js 从版本 16 升级到版本 18,并随之将其底层 OpenSSL 版本升级到版本 3。OpenSSL 3 认为已过时的算法已被重新启用,以避免在 Kibana 的次要版本发布中出现潜在的重大更改。如果为 Kibana 配置的 SSL 证书未使用 OpenSSL 旧版提供程序文档 中提到的任何旧版算法,我们建议通过删除 node.options
配置文件中的 --openssl-legacy-provider
来禁用此设置。