在 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. spingboot打jar包

    pom.xml文件中packaging为jar <packaging>jar</packaging> 安装插件 <plugin> <groupId>or ...

  2. 攻防世界MISC—进阶区32—37

    32.normal_png 得到一张png,扔进kali中binwalk 和 pngcheck一下,发现CRC报错 尝试修改图片高度,我是把height的2改为4,得到flag 33.很普通的数独 得 ...

  3. 使用传统的方式遍历集合对集合中的数据进行过滤和使用Stream流的方式遍历集合对集合中的数据进行过滤

    使用传统的方式,遍历集合,对集合中的数据进行过滤 class Test{ public static void main(String[] args){ ArrayList<String> ...

  4. 在Ubuntu下编译安装GreatSQL

    在Ubuntu下编译安装GreatSQL 本次介绍如何利用Docker构建Ubuntu环境,并将GreatSQL源码编译成二进制文件. 1.准备工作 先创建本次Docker的workdir为 /dat ...

  5. 蔚来杯2022牛客暑期多校训练营6 ABGJM

    比赛链接 A 题解 知识点:数学,构造. 题目要求构造一个长为 \(m\) 的序列 \(c\) ,\(m\) 自选,使得 \(c\) 的无限循环序列 \(b\) 中任意连续 \(a_i\) 个数中都存 ...

  6. Apache DolphinScheduler 1.2.0 使用文档(1/8):架构及名词解释

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 1. 架构及名词解释 1.1 DolphinSched ...

  7. Java反射原理和实际用法

    背景 反射在Java中非常重要,是Java区别于其他编程语言的一大特性.Java中的AOP切面.动态代理等看起来像黑魔法一样的技术,就离不开反射.字节码等.这些技术能在不侵入原有代码的情况下,做一些增 ...

  8. LuoguP4165 [SCOI2007]组队

    化式子,然后两个指针平\(A\)过去 #include <cstring> #include <cstdio> #include <algorithm> #incl ...

  9. MQ系列3:RocketMQ 架构分析

    MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 1 背景 我们前面两篇对主流消息队列的基本构成和技术选型做了详细的分析.从本篇开始,我们会专注当下主流MQ之一的RocketMQ. 从 ...

  10. Spring5中JdbcTemplate

    JdbcTemplate是什么 JdbcTemplate 类提供了很多便利的方法解决诸如把数据库数据转变成基本数据类型或对象,执行写好的或可调用的数据库操作语句,提供自定义的数据错误处理. 在spri ...