ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 在生产环境中使用 Kibana 原文链接 : [https://www.elastic.co/guide/en/kibana/5.2/production.html](https://www.elastic.co/guide/en/kibana/5.2/production.html) 译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=8159446](http://www.apache.wiki/pages/viewpage.action?pageId=8159446) 贡献者 : [那伊抹微笑](/display/~wangyangting),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina) 如何部署 **Kibana** 主要取决于您的使用情况。如果您是唯一的用户,则可以在本地计算机上运行 **Kibana**,并将其配置为指向要与之交互的任何 **Elasticsearch **实例。相反,如果您有大量的重度 **Kibana **用户,您可能需要在多个连接到同一 **Elasticsearch** 实例的 **Kibana** 实例上进行负载均衡。 虽然 **Kibana **不是资源密集型程序,但是我们仍然建议从您的 **Elasticsearch** **data**(数据)或 **master**(主)节点独立运行 **Kibana**。要在 **Elasticsearch **集群中的节点上分发 **Kibana **流量,您可以在同一台计算机上运行 **Kibana **和 **Elasticsearch **客户机节点。有关更多信息,请参阅 [跨多个Elasticsearch 节点进行负载平衡](https://www.elastic.co/guide/en/kibana/5.2/production.html#load-balancing "跨多个Elasticsearch Nodesedit的负载平衡")。 ### 使用 Kibana 与 X-Pack 您可以使用 [X-Pack Security](https://www.elastic.co/guide/en/x-pack/current/xpack-security.html) 来控制用户可以通过 **Kibana** 访问的 **Elasticsearch** **data**(数据)。 当您安装 **X-Pack** 时后,**Kibana** 用户必须登录。他们需要具有 **`kibana_user `**角色来访问他们将在 **Kibana** 中使用的索引。 如果用户加载了一个 **Kibana **仪表板,并且它访问的索引中有未被授权查看的数据,那么他们会收到一条错误,指示该索引不存在。**X-Pack Security** 目前不提供控制哪些用户可以加载哪些仪表板的方法。 有关设置 **Kibana **用户以及如何配置 **Kibana **以使用 **X-Pack **的信息,请参阅 [https://www.elastic.co/guide/en/x-pack/5.2/kibana.html](https://www.elastic.co/guide/en/x-pack/5.2/kibana.html)。 ### 启用 SSL **Kibana** 支持客户端请求和 **Kibana** 服务器发送到 **Elasticsearch** 的请求的 **SSL **加密。 要加密浏览器和 **Kibana **服务器之间的通信,请在 `**kibana.yml** 中`配置 **`ssl_key_file`**,**`ssl_cert_file `**属性 :  ``` # SSL for outgoing requests from the Kibana Server (PEM formatted) server.ssl.key: /path/to/your/server.key server.ssl.cert: /path/to/your/server.crt ``` 如果您使用的是 **X-Pack Security** 或是为 **Elasticsearch **提供的 **HTTPS **端点的代理,则可以将 **Kibana** 配置为通过 **HTTPS **访问 **Elasticsearch**,以便对 **Kibana **服务器和 **Elasticsearch **之间的通信进行加密。 为此,当您在 **kibana.yml** 文件中配置 **Elasticsearch URL** 时需要指定 **HTTPS** 协议 :  ``` elasticsearch: "https://<your_elasticsearch_host>.com:9200" ``` 如果您针对 **Elasticsearch** 使用了一个自签名的证书,在 **kibana.yml** 文件中指定 **ca** 属性来指定 **PEM** 文件的位置。设置此 **`ca `**属性可让您保留此 **`verify_ssl `**选项。 ``` # If you need to provide a CA certificate for your Elasticsearch instance, put # the path of the pem file here. ca: /path/to/your/ca/cacert.pem ``` ### 跨多个 Elasticsearch 节点的负载均衡 如果您的 **Elasticsearch** 集群有多个节点,则跨节点分发 **Kibana** 请求的最简单方法是在与 **Kibana** 相同的服务器上只运行 **Elasticsearch _Coordinating _**节点。只有**Elasticsearch **_Coordinating_** **节点本质上是作为集群一部分的智能负载均衡器。它们处理传入的 **HTTP **请求,根据需要将操作重定向到集群中的其他节点,并收集并返回结果。有关更多信息,请参阅 **Elasticsearch** 指南中的 [Node](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/modules-node.html)。 为了使用本地客户机节点来负载平衡 **Kibana** 请求 :  1. 在与 **Kibana **相同的计算机上安装 **Elasticsearch**。 2. 将节点配置为仅 **_Coordinating _**节点。在 **elasticsearch.yml** 文件中,设置 `**node.data**,`**`node.master`** 和 **`node.ingest`** 为 ``**false** : `` ``` # 3\. You want this node to be neither master nor data node nor ingest node, but # to act as a "search load balancer" (fetching data from nodes, # aggregating results, etc.) # node.master: false node.data: false node.ingest: false ``` 3. ``配置客户端节点加入集群。在 **elasticsearch.yml** 文件中,设置 **cluster.name** 为集群名称 : `` ``` cluster.name: "my_cluster" ``` 4. ``在 **elasticsearch.yml** 文件的 **network.host** 和 **transport.host** 下方检查 **transport** 和 **HTTP** 主机配置。`` ``` network.host: localhost http.port: 9200 # by default transport.host refers to network.host transport.host: &lt;external ip&gt; transport.tcp.port: 9300 - 9400 ``` 5. ``确保 **Kibana** 配置为指向本地客户机节点。在 `**kibana.yml** 文件中,将 `**`elasticsearch.url `**设置为 **`localhost:9200`**。`` ``` # The Elasticsearch instance to use for all your queries. elasticsearch.url: "http://localhost:9200" ```