Elasticsearch入门之二 kibana

Kibana是什么

Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来。
在这里插入图片描述

可视化界面
下面就Kibana对ES的查询监控作介绍,就是常提到的大数据日志处理组件ELK里的K。

什么是Kibana?现引用园友的一段对此的介绍,个人觉得比较全。

  • Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。

  • Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。

  • 设置Kibana非常简单。无需编码或者额外的基础架构,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测。
    主要功能

Elasticsearch集成

访问:http://192.168.0.5:5601/

kibana4-1-circle-graphs

Kibana架构为Elasticsearch定制,可以将任何结构化和非结构化数据加入Elasticsearch索引。Kibana还充分利用了Elasticsearch强大的搜索和分析功能。
整合你的数据

kibana4-2-color-low-high-graph

Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。
复杂数据分析

kibana4-3-orange-circles

Kibana提升了Elasticsearch分析能力,能够更加智能地分析数据,执行数学转换并且根据要求对数据切割分块。
让更多团队成员受益

kibana4-4-bar-graph

强大的数据库可视化接口让各业务岗位都能够从数据集合受益。
接口灵活,分享更容易

kibana4-5-color-dot-line-graph

使用Kibana可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。
配置简单

kibana4-6-bar-graph

Kibana的配置和启用非常简单,用户体验非常友好。Kibana 4自带Web服务器,可以快速启动运行。
可视化多数据源

kibana-other-technologies

Kibana可以非常方便地把来自Logstash、ES-Hadoop、Beats或第三方技术的数据整合到Elasticsearch,支持的第三方技术包括Apache Flume、Fluentd等。
简单数据导出

kibana4-7-green-graph

Kibana可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果。
与Elasticsearch REST API实现可视化交互

multiple-requests

Sense是一个可视化终端,通过Kibana插件支持自动补全、自动缩进和语法检查功能。

安装Kibana

方案一: docker安装

服务器开放5601端口号:

  1. 打开目录:

cd /home/index/
  1. 创建kibana文件夹:
mkdir /home/index/kibana8
  1. 进入kibana文件夹:
cd kibana8/
  1. 拉取镜像:
docker pull kibana:8.11.3 

在这里插入图片描述

  1. 配置 kibana.yml
    需要先得到 kibana.yml文件 , 可以通过docker cp
# 临时启动容器
docker run --name kibana8 -d -p 5601:5601 kibana:8.11.3 



# docker cp 拷贝 kibana/config 到 宿主机对于的配置文件夹
docker cp kibana8:/usr/share/kibana/config /home/index/kibana8

cp 后 宿主机下对于的路径 就有如下文件了
在这里插入图片描述
本文安装版本为8.11.3,es不允许使用用户密码授权给kibana, 根据官网说明,创建服务账号令牌

# 进入 Elasticsearch 对应的docker容器, 安装目录的 bin 文件夹
docker exec -it elasticsearch8 /bin/bash

# 生成服务账号令牌(格式:<service-name>/<token-name>./bin/elasticsearch-service-tokens create elastic/kibana my-kibana-token
获得生成结果
SERVICE_TOKEN elastic/kibana/my-kibana-token = XXXX
列出所有令牌
./bin/elasticsearch-service-tokens list

退出es的docker容器
修改kibana.yml
添加服务账号令牌配置
elasticsearch.serviceAccountToken: XXXX

注意,确保没有elasticsearch.username和elasticsearch.password ,有则删除

重启 Kibana
docker restart <kibana_container_id_or_name>

kibana.yml配置示例 ,其中127.0.0.1改成自己es地址


server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://127.0.0.1:9200" ]
#添加以下内容

elasticsearch.serviceAccountToken: "AAEAAWVsYXN0aWMva2liYW5hL215LWtpYmFuYS10b2tlbjI6S2F5bTNTejNTbWlIWUlKa195OGZkUQ"
#elasticsearch.ssl.certificateAuthorities: ["config/http.p12"]
#elasticsearch.ssl.verificationMode: certificate


monitoring.ui.container.elasticsearch.enabled: true
# 添加 
i18n.locale: "zh-CN"
  1. 检验kibana

在这里插入图片描述

方案二:安装包

下载解压安装包,一定要装与ES相同的版本
  下载地址:https://www.elastic.co/downloads/kibana
  编辑文件config/kibana.yml ,配置属性:

[root@H32 ~]# cd kibana/config/
[root@H32 config]# vim kibana.yml
添加:
server.host: "192.168.80.32"
elasticsearch.url: "http://192.168.80.32:9200"

先启动ES,然后再启动

cd /usr/local/kibana530
bin/kibana

kibana必须是在root下运行,否则会报错,启动失败

使用

打开http://192.168.80.32:5601/status

想要在Kibana中监控ES则需要安装 X-pack插件,现介绍 X-pack插件。

X-pack监控组件使您可以通过Kibana轻松地监控ElasticSearch。您可以实时查看集群的健康和性能,以及分析过去的集群、索引和节点度量。此外,您可以监视Kibana本身性能。当你安装X-pack在群集上,监控代理运行在每个节点上收集和指数指标从Elasticsearch。安装在X-pack在Kibana上,您可以查看通过一套专门的仪表板监控数据

X-pack的安装

安装X-pack的时候分别在ElasticSearch根目录和Kibana根目录下操作。以下参考网友的安装方法。
Elasticsearch下载X-Pack

在Es的根目录(每个节点),运行 bin/elasticsearch-plugin进行安装。

先进入elasticsearch安装的目录,然后键入下命令:

bin/elasticsearch-plugin install x-pack

安装过程中跳出选项现在y即可。

如果你在Elasticsearch已禁用自动索引的创建,在elasticsearch.yml配置action.auto_create_index允许X-pack创造以下指标:

action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*

运行Elasticsearch。

bin/elasticsearch

Kibana下载X-Pack

在Kibana根目录运行 bin/kibana-plugin 进行安装。

先进入kibana的安装目录,然后键入以下命令:

bin/kibana-plugin install x-pack

安装过程会比较久,耐心等待。
运行Kibana。

bin/kibana

验证X-Pack

在浏览器上输入: http://192.168.80.32:5601/ ,可以打开Kibana,此时需要输入用户名和密码登录,默认分别是 elastic 和 changeme。

若在线安装不了,则可选择下载后离线安装。
手动安装的方法
  先下载对应的版本,本机装的是x-pack-5.2.2.zip 有128M 有点大,慢慢下,下载好后放在usr/local文件夹下,先进入elasticsearch安装文件夹再

bin/elasticsearch-plugin install file:usr/local/x-pack-5.2.2.zip

kibana中安装是一样

bin/kibana-plugin install file:usr/local/x-pack-5.2.2.zip

Kibana+X-Pack介绍使用

下面参考园友对X-Pack的介绍 ElasticSearch 5学习(2)——Kibana+X-Pack介绍使用(全)

下面是目前Kibana 5最新版本的界面。相比较Kibana 4除了界面的风格变化,最主要是功能栏上添加了Timeline、Management和Dev Tools选项。

Discover

从发现页可以交互地探索ES的数据。可以访问与所选索引模式相匹配的每一个索引中的每一个文档。您可以提交搜索查询、筛选搜索结果和查看文档数据。还可以看到匹配搜索查询和获取字段值统计的文档的数量。如果一个时间字段被配置为所选择的索引模式,则文档的分布随着时间的推移显示在页面顶部的直方图中。

Visualize

可视化能使你创造你的Elasticsearch指标数据的可视化。然后你可以建立仪表板显示相关的可视化。Kibana的可视化是基于Elasticsearch查询。通过一系列的Elasticsearch聚合提取和处理您的数据,您可以创建图表显示你需要知道的关于趋势,峰值和骤降。您可以从搜索保存的搜索中创建可视化或从一个新的搜索查询开始。

Dashboard

一个仪表板显示Kibana保存的一系列可视化。你可以根据需要安排和调整可视化,并保存仪表盘,可以被加载和共享。

Monitoring

从图中可以发现,默认Kibana是没有该选项的。其实,Monitoring是由X-Pack集成提供的。

该X-pack监控组件使您可以通过Kibana轻松地监控ElasticSearch。您可以实时查看集群的健康和性能,以及分析过去的集群、索引和节点度量。此外,您可以监视Kibana本身性能。当你安装X-pack在群集上,监控代理运行在每个节点上收集和指数指标从Elasticsearch。安装在X-pack在Kibana上,您可以查看通过一套专门的仪表板监控数据。

Graph

X-Pack图的能力使你发现一个Elasticsearch索引项是如何相关联的。你可以探索索引条款之间的连接,看看哪些连接是最有意义的。从欺诈检测到推荐引擎,对各种应用中这都是有用的,例如,图的探索可以帮助你发现网站上黑客的目标的漏洞,所以你可以硬化你的网站。或者,您可以为您的电子商务客户提供基于图表的个性化推荐。X-pack提供简单,但功能强大的图形开发API,和Kibana交互式图形可视化工具。使用X-pack图有工作与开销与现有Elasticsearch指标你不需要任何额外的数据存储的特征。

Timelion

Timelion是一个时间序列数据的可视化,可以结合在一个单一的可视化完全独立的数据源。它是由一个简单的表达式语言驱动的,你用来检索时间序列数据,进行计算,找出复杂的问题的答案,并可视化的结果。

这个功能由一系列的功能函数组成,同样的查询的结果,也可以通过Dashboard显示查看。

Management

管理中的应用是在你执行你的运行时配置kibana,包括初始设置和指标进行配置模式,高级设置,调整自己的行为和Kibana,各种“对象”,你可以查看保存在整个Kibana的内容如发现页,可视化和仪表板。
  这部分是pluginable,除此之外,X-pack可以给Kibana增加额外的管理能力。

你可以使用X-pack安全控制哪些用户可以访问Elasticsearch数据通过Kibana。当你安装X-pack,Kibana用户登录。他们需要有kibana_user作用以及获得的指标,他们将在Kibana的工作。如果用户加载Kibana仪表板,访问数据的一个索引,他们未被授权查看,他们得到一个错误,表明指数不存在。X-pack安全目前并不提供一种方法来控制哪些用户可以负荷的仪表板。

Dev Tools

原先的交互式控制台Sense,使用户方便的通过浏览器直接与Elasticsearch进行交互。从Kibana 5开始改名并直接内建在Kibana,就是Dev Tools选项。

安装问题

[2025-02-18T05:38:07.191+00:00][FATAL][root] Reason: [config validation of [elasticsearch].username]: value of "elastic" is forbidden. This is a superuser account that cannot write to system indices that Kibana needs to function. Use a service account token instead. Learn more: https://www.elastic.co/guide/en/elasticsearch/reference/8.0/service-accounts.html
Error: [config validation of [elasticsearch].username]: value of "elastic" is forbidden. This is a superuser account that cannot write to system indices that Kibana needs to function. Use a service account token instead. Learn more: https://www.elastic.co/guide/en/elasticsearch/reference/8.0/service-accounts.html
    at ensureValidConfiguration (/usr/share/kibana/node_modules/@kbn/core-config-server-internal/src/ensure_valid_configuration.js:23:11)
    at Server.preboot (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/server.js:162:5)
    at Root.preboot (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/root/index.js:47:14)
    at bootstrap (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/bootstrap.js:97:9)
    at Command.<anonymous> (/usr/share/kibana/src/cli/serve/serve.js:211:5)

 FATAL  Error: [config validation of [elasticsearch].username]: value of "elastic" is forbidden. This is a superuser account that cannot write to system indices that Kibana needs to function. Use a service account token instead. Learn more: https://www.elastic.co/guide/en/elasticsearch/reference/8.0/service-accounts.html

错误分析:此错误信息表明 Kibana 在配置验证时,检测到 elasticsearch.username 配置项使用了 elastic 这个超级用户账号,而该账号不允许写入 Kibana 所需的系统索引,因此需要使用服务账号令牌来替代。以下是解决该问题的详细步骤:

创建服务账号
curl -X POST -u elastic:<elastic_password> "http://localhost:9200/_security/service/default/kibana/kibana-service-account/_enable" -H 'Content-Type: application/json' -d '{
    "metadata": {
        "description": "Service account for Kibana"
    }
}'

生成服务账号令牌
curl -X POST -u elastic:<elastic_password> "http://localhost:9200/_security/service/default/kibana/kibana-service-account/credential/token/kibana-token" -H 'Content-Type: application/json' -d '{
    "expiration": "100y"
}'

修改 Kibana 配置文件
找到并注释或删除以下配置项:
# elasticsearch.username: "elastic"
# elasticsearch.password: "<elastic_password>"

添加服务账号令牌配置
elasticsearch.serviceAccountToken: "your_service_account_token"

重启 Kibana
docker restart <kibana_container_id_or_name>

安装执行命令集合



docker stop kibana8
docker rm kibana8
docker logs kibana8

docker pull kibana8:8.10.2
启动kibana8临时节点
docker run -itd --name kibana8 --net elk_network -p 5602:5601   kibana:8.11.3

mkdir /home/index/kibana8

复制容器镜像文件
docker cp kibana8:/usr/share/kibana/config /home/index/kibana8

创建真实容器节点
docker run -itd --name kibana8 --net elk_network -p 5602:5601 -v /home/index/kibana8/config:/usr/share/kibana/config  kibana:8.11.3




确保 Elasticsearch 安全功能已启用
xpack.security.enabled: true
生成 Kibana 服务账号令牌
# 进入 Elasticsearch 安装目录的 bin 文件夹
docker exec -it elasticsearch8 /bin/bash
 

# 生成服务账号令牌(格式:<service-name>/<token-name>./bin/elasticsearch-service-tokens create elastic/kibana my-kibana-token

获得生成结果
SERVICE_TOKEN elastic/kibana/my-kibana-token = XXXX



修改 Kibana 配置文件
找到并注释或删除以下配置项:
# elasticsearch.username: "elastic"
# elasticsearch.password: "<elastic_password>"

添加服务账号令牌配置
elasticsearch.serviceAccountToken: XXXX
列出所有令牌
./bin/elasticsearch-service-tokens list

重启 Kibana
docker restart <kibana_container_id_or_name>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赤胜骄阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值