在 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. SpringBoot开发 - 什么是热部署和热加载?devtool的原理是什么?

    在SpringBoot开发调试中,如果我每行代码的修改都需要重启启动再调试,可能比较费时间:SpringBoot团队针对此问题提供了spring-boot-devtools(简称devtools)插件 ...

  2. Chrome实现自动化测试:录制回放网页动作

    Chrome 浏览器是真的恐怖,它会把相关的小工具都卷死.从它诞生至今,创造了一个又一个的传奇,现在可以看到基于它的操作系统 chrome os ,还能买到用它做系统的笔记本电脑. 最近,新版本支持录 ...

  3. day03_2_流程控制

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

  4. Go语言基础五:引用类型-切片和映射

    切片 Go的数组长度不可以改变,在某些特定的场景中就不太适用了.对于这种情况Go语言提供了一种由数组建立的.更加灵活方便且功能强大的包装(Wapper),也就是切片.与数组相比切片的长度不是固定的,可 ...

  5. HashTable集合和练习题_计算一个字符串中每一个字符出现的次数

    HashTable集合 /** * java.util.Hashtable<K,V>集合 implement Map<K,V>接口 * Hashtable:底层也是一个哈希表, ...

  6. php数组和对象相互转换

    function arrayToObject($e){ if( gettype($e)!='array' ) return; foreach($e as $k=>$v){ if( gettype ...

  7. docker + Umami + Postgresql 网站访问分析

    1 # docker + Umami + Postgresql 2 # 官方安装文档:https://umami.is/docs/install 3 # 一.创建数据库 4 # 1.创建用户 5 CR ...

  8. 学习nginx的一点记录

    一.nginx定义 Nginx是一款轻量级的.高性能的,具备HTTP.反向代理.负载均衡的web服务器,同时还提供IMAP/POP3/SMTP服务,其特点是占用内存少,并发能力强. 二.nginx基本 ...

  9. 求教:Knife4jAggregationDesktop访问报错HTTP ERROR 404

    (1)Windows Server 2019下面,java版本:c:\Users\WinUser01\.jdks\corretto-1.8.0_292\bin\java.exe(2)Knife4jAg ...

  10. 新一代工作流调度-Apache DolphinScheduler 1.3.5 Docker镜像发布

    新一代大数据工作流调度 - Apache DolphinScheduler(incubator) 今天发布了 1.3.5 官方 Docker 镜像.在社区伙伴 chengshiwen 的努力下,  1 ...