在 Kibana 中使用 X-Pack

使用 X-Pack 安全模块 控制用户通过 Kibana 可以访问哪些 Elasticsearch 数据。

当安装 X-Pack 时,Kibana 用户必须登陆。这些用户需要用 kibana_user 角色来访问通过 Kibana 管理的索引库。

如果一个用户要通过 Kibana 仪表板访问某个索引库中的数据,但没有权限查看,他们会收到一个错误提示:索引不存在。X-Pack 的安全机制目前还不能提供一种方法来控制不同的用户加载不同的仪表板。

关于设置 Kibana 用户和 X-Pack 信息,请参见 X-Pack 安全插件.

启用 SSL

不管是客户端的请求,还是 Kibana 服务端发给 Elasticsearch 的请求,Kibana 都支持 SSL 加密。

要加密浏览器和 Kibana 服务端之间的会话,请配置 kibana.yml 文件中的 server.ssl.enabledserver.ssl.certificateserver.ssl.key 属性:

# SSL for outgoing requests from the Kibana Server (PEM formatted)
server.ssl.enabled: true
server.ssl.key: /path/to/your/server.key
server.ssl.certificate: /path/to/your/server.crt

如果 Elasticsearch 使用 X-Pack 安全协议或者设置了 HTTPS 代理。您可以设置 Kibana 通过 HTTPS 访问 Elasticsearch,这样 Kibana 服务端和 Elasticsearch 的会话就会被加密。

需要这样的话,就得在配置文件 kibana.yml 中设置 Elasticsearch URL 指定使用 HTTPS 协议:

elasticsearch.url: "https://<your_elasticsearch_host>.com:9200"

如果 Elasticsearch 使用了自签名证书,设置 kibana.yml 文件中的 certificateAuthorities 属性指向 PEM 文件的位置,设置 certificateAuthorities 属性可以使用默认的 verificationMode 选项 full

# If you need to provide a CA certificate for your Elasticsearch instance, put
# the path of the pem file here.
elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/ca/cacert.pem" ]

多个 Elasticsearch 节点间的负载均衡

如果 Elasticsearch 集群有多个节点,分发 Kibana 节点之间请求的最简单的方法就是在 Kibana 机器上运行一个 Elasticsearch 协调(Coordinating only node) 的节点。Elasticsearch 协调节点本质上是智能负载均衡器,也是集群的一部分,如果有需要,这些节点会处理传入 HTTP 请求,重定向操作给集群中其它节点,收集并返回结果。更多详细信息,请参考 节点 部分。

使用本地客户端节点负载均衡 Kibana 请求:

  1. 在安装 Kibana 的机器上安装 Elasticsearch。

  2. 配置节点为协调节点。在配置文件 elasticsearch.yml 中,设置 node.datanode.masternode.ingestfalse

    # 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 集群。在配置文件 elasticsearch.yml 中,通过 cluster.name 选项设定集群名字。

    cluster.name: "my_cluster"
  4. 检查 elasticsearch.yml 中的 transport 和 HTTP 主机配置: network.hosttransport.hosttransport.host 需要为集群中其它成员网络可达, network.host 是访问 Kibana 的 HTTP 网络连接(默认为 localhost:9200 )。

    network.host: localhost
    http.port: 9200 # by default transport.host refers to network.host
    transport.host: <external ip>
    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"

生产环境中使用Kibana的更多相关文章

  1. Kubernetes 在生产环境中常用架构

    Kubernetes 在生产环境中常用架构 首先,我们来梳理下Kubernetes生产架构,其设计适用于绝大多数环境.如下图所示 在该架构中,我们可以将其分为四层,如下: Client层:即Kuber ...

  2. .NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点

    2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上 ...

  3. 理解Docker(6):若干企业生产环境中的容器网络方案

    本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  4. .NET跨平台之旅:生产环境中第2个跑在Linux上的ASP.NET Core站点

    今天我们在生产环境中上线了第2个跑在Linux上的ASP.NET Core站点.这是一个简单的Web API站点,通过命令行的方式调用安装在Linux服务器上的程序完成操作.之前用的是nodejs,现 ...

  5. 【原】Storm Local模式和生产环境中Topology运行配置

    Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Storm调度器 Storm配置 Guaranteeing Message Processing(消息处理 ...

  6. 生产环境中CentOS7部署NET Core应用程序

    NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. ...

  7. 生产环境中使用Docker Swarm的一些建议

    译者按: 实践中会发现,生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行.然而,面对Kubernetes, Mesos以及Swarm等众多容器集群系统,我们该如何选择呢?它 ...

  8. [virtualenv]生产环境中使用virtualenv

    virtualenv 对于python开发和部署都是好工具,可以隔离多个python版本和第三方库的版本,这里作者总结了几个常用python服务怎么样结合virtual部署 原文链接 Python 中 ...

  9. Dubbo Mesh 在闲鱼生产环境中的落地实践

    本文作者至简曾在 2018 QCon 上海站以<Service Mesh 的本质.价值和应用探索>为题做了一次分享,其中谈到了 Dubbo Mesh 的整体发展思路是“借力开源.反哺开源” ...

随机推荐

  1. Linux教我们丢掉键盘

    前言 本篇博客并非博主编写,而是跟着黑马教程整理的. 因为Linux都是一些操作命令,也不想深入研究,所以就用此博客记录一下平时的基本知识,方便日后查找. 一.常用命令 命令 对应英文 作用 ls l ...

  2. day03_2_流程控制

    # 流程控制 学习目标: ~~~txt1. idea安装与使用2. 流程控制if...else结构3. 流程控制switch结构4. 流程控制循环结构5. 流程控制关键字~~~ # 一.流程控制概述 ...

  3. Linux配置Oracle JAVA环境

    1.下载java jdk的安装包 #pwd /usr/local/src 2.解压二进制文件并设置软连接 # tar -xvf jdk-8u241-linux-x64.tar.gz # ln -sv ...

  4. 基于CentOS的IB网卡驱动安装

    一.准备步骤 1.查看centos版本 cat /etc/issue或者cat /etc/redhat-release  2.查看linux版本 cat /proc/version或uname -a或 ...

  5. 在Linux虚拟机中添加多个固定ip地址

    1.右键点击设置2.点击添加,再点击网络适配器,最后点击完成.3.选择完成后的网络适配器,选择仅主机模式.4.用roott身份登录,用nmtui进行设置 systemctl start Network ...

  6. async和await详解

     async和await详解 1.非UI线程中执行 Test()函数带有async 和await ,返回值写成Task. 1 using System; 2 using System.Threadin ...

  7. shell中各种括号的用法

    一.单小括号()1.将某个命令的返回值作为某个变量的值进行传递 #!/bin/bash USER=$(whoami) echo $USER [root@jump ~]# for i in $(seq ...

  8. ArrayList的操作和对象数组

    ArrayList是List接口的一个实现类,它是程序中最常见的一种集合. ArrayList内部的数据存储结构时候数组形式,在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量 ...

  9. 题解 P1999【覆盖墙壁】

    数学题 令 \(A_n\) 为 \(2\times n\) 的墙壁放满块的方案数,考虑递推. 显然 \(A_0=1\),我们令对于 \(k<0\),\(A_k=0\) . 放直线型的块非常好递推 ...

  10. IDEA自定义liveTemplates(方法模板、类模板)

    IDEA自定义liveTemplates(方法模板.类模板) 前言,搞这个模板有何意义? 降低大家写方法注释的成本,统一风格.有时候不是开发同学不爱写注释,而是没有合适的载体和空间. IDEA模板设置 ...