在生产环境中使用 Kibana

x33g5p2x  于2021-03-14 发布在 ElasticSearch  
字(2.8k)|赞(0)|评价(0)|浏览(163)

在生产环境中使用 Kibana

原文链接 : https://www.elastic.co/guide/en/kibana/5.2/production.html

译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=8159446

贡献者 : 那伊抹微笑ApacheCNApache中文网

如何部署 Kibana 主要取决于您的使用情况。如果您是唯一的用户,则可以在本地计算机上运行 Kibana,并将其配置为指向要与之交互的任何 **Elasticsearch **实例。相反,如果您有大量的重度 **Kibana **用户,您可能需要在多个连接到同一 Elasticsearch 实例的 Kibana 实例上进行负载均衡。

虽然 **Kibana **不是资源密集型程序,但是我们仍然建议从您的 Elasticsearchdata(数据)或 master(主)节点独立运行 Kibana。要在 **Elasticsearch **集群中的节点上分发 **Kibana **流量,您可以在同一台计算机上运行 **Kibana **和 **Elasticsearch **客户机节点。有关更多信息,请参阅 跨多个Elasticsearch 节点进行负载平衡

使用 Kibana 与 X-Pack

您可以使用 X-Pack Security 来控制用户可以通过 Kibana 访问的 Elasticsearchdata(数据)。

当您安装 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

启用 SSL

Kibana 支持客户端请求和 Kibana 服务器发送到 Elasticsearch 的请求的 **SSL **加密。

要加密浏览器和 **Kibana 服务器之间的通信,请在 **kibana.yml** 中配置 ssl_key_filessl_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

为了使用本地客户机节点来负载平衡 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"

相关文章