一、安装部署Kibana
1,环境准备
| 主机 | ip |
|---|---|
| kibana | 10.0.0.110 |
2,官网下载软件包
官网地址
https://www.elastic.co

# 向下滑动页面:
- 找到【本地部署】
- 点击

# 选择历史版本

# 选择与:【ElasticStack相同的版本号】
- 点击下载

# 选择要下载的安装包
- Linux_X86_64类型

# 将安装包上传到机器上
[root@kibana ~ ]# ls -l
-rw-r--r-- 1 root root 296011204 Nov 26 11:25 kibana-7.17.29-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 365215604 Dec 3 08:45 kibana-8.18.8-linux-x86_64.tar.gz
3,部署安装
· 解压软件包
[root@kibana ~ ]# tar xf kibana-8.18.8-linux-x86_64.tar.gz
[root@kibana ~ ]# ls -l
-rw-r--r-- 1 root root 296011204 Nov 26 11:25 kibana-7.17.29-linux-x86_64.tar.gz
drwxr-xr-x 11 root root 4096 Dec 3 08:47 kibana-8.18.8
-rw-r--r-- 1 root root 365215604 Dec 3 08:45 kibana-8.18.8-linux-x86_64.tar.gz
[root@kibana ~ ]# ls -l kibana-8.18.8
total 3876
drwxrwxr-x 2 root root 4096 Oct 2 20:34 bin
drwxrwxr-x 2 root root 4096 Oct 2 20:32 config
drwxrwxr-x 2 root root 4096 Oct 2 20:32 data
-rw-rw-r-- 1 root root 3860 Oct 2 20:32 LICENSE.txt
drwxrwxr-x 2 root root 4096 Oct 2 20:32 logs
drwxrwxr-x 3 root root 4096 Oct 2 20:33 node
drwxrwxr-x 822 root root 36864 Oct 2 20:32 node_modules
-rw-rw-r-- 1 root root 3885491 Oct 2 20:32 NOTICE.txt
-rw-rw-r-- 1 root root 780 Oct 2 20:32 package.json
drwxrwxr-x 2 root root 4096 Oct 2 20:32 plugins
-rw-rw-r-- 1 root root 3966 Oct 2 20:32 README.txt
drwxrwxr-x 11 root root 4096 Oct 2 20:32 src
drwxrwxr-x 4 root root 4096 Oct 2 20:32 x-pack
· 将安装包移动到安装目录
[root@kibana ~ ]# mkdir /tools/
[root@kibana ~ ]# mv kibana-8.18.8 /tools/
[root@kibana ~ ]# ls -l /tools/kibana-8.18.8/
total 3876
drwxrwxr-x 2 root root 4096 Oct 2 20:34 bin
drwxrwxr-x 2 root root 4096 Oct 2 20:32 config
drwxrwxr-x 2 root root 4096 Oct 2 20:32 data
-rw-rw-r-- 1 root root 3860 Oct 2 20:32 LICENSE.txt
drwxrwxr-x 2 root root 4096 Oct 2 20:32 logs
drwxrwxr-x 3 root root 4096 Oct 2 20:33 node
drwxrwxr-x 822 root root 36864 Oct 2 20:32 node_modules
-rw-rw-r-- 1 root root 3885491 Oct 2 20:32 NOTICE.txt
-rw-rw-r-- 1 root root 780 Oct 2 20:32 package.json
drwxrwxr-x 2 root root 4096 Oct 2 20:32 plugins
-rw-rw-r-- 1 root root 3966 Oct 2 20:32 README.txt
drwxrwxr-x 11 root root 4096 Oct 2 20:32 src
drwxrwxr-x 4 root root 4096 Oct 2 20:32 x-pack
· 创建虚拟用户
- 主流linux通用
[root@kibana ~ ]# useradd -r -s /bin/false kibana
- 红帽系统
[root@kibana ~ ]# useradd -s /sbin/nologin -M kibana
· 给kibana目录授权
[root@kibana ~ ]# chown -R kibana.kibana /tools/
[root@kibana ~ ]# ls -l /tools/kibana-8.18.8/
total 3876
drwxrwxr-x 2 kibana kibana 4096 Oct 2 20:34 bin
drwxrwxr-x 2 kibana kibana 4096 Oct 2 20:32 config
drwxrwxr-x 2 kibana kibana 4096 Oct 2 20:32 data
-rw-rw-r-- 1 kibana kibana 3860 Oct 2 20:32 LICENSE.txt
drwxrwxr-x 2 kibana kibana 4096 Oct 2 20:32 logs
drwxrwxr-x 3 kibana kibana 4096 Oct 2 20:33 node
drwxrwxr-x 822 kibana kibana 36864 Oct 2 20:32 node_modules
-rw-rw-r-- 1 kibana kibana 3885491 Oct 2 20:32 NOTICE.txt
-rw-rw-r-- 1 kibana kibana 780 Oct 2 20:32 package.json
drwxrwxr-x 2 kibana kibana 4096 Oct 2 20:32 plugins
-rw-rw-r-- 1 kibana kibana 3966 Oct 2 20:32 README.txt
drwxrwxr-x 11 kibana kibana 4096 Oct 2 20:32 src
drwxrwxr-x 4 kibana kibana 4096 Oct 2 20:32 x-pack
· 编辑配置文件
[root@kibana ~ ]# vim /tools/kibana-8.18.8/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
server.name: "wa_kibana"
# 允许用户的访问URL
server.publicBaseUrl: "http://10.0.0.110:5601"
elasticsearch.hosts: ["https://10.0.0.101:10200","https://10.0.0.102:10200","https://10.0.0.103:10200"]
# 只有7.x版本才支持自定义存储索引;8.x不支持这个参数
#kibana.index: ".kibana"
elasticsearch.username: "kibana_system"
elasticsearch.password: "123456"
# 必须绝对路径,否则报错
elasticsearch.ssl.certificateAuthorities: ["/tools/kibana-8.18.8/config/ca.crt"]
# 国际化语言设置
i18n.locale: zh-CN
##################################################################
###################[kibana日志配置]###############################
##################################################################
#旧版本:8.x之前的版本
#logging.dest: /tools/kibana-8.18.8/logs/kibana.log # 日志文件路径
#logging.verbose: true # 详细日志
#logging.json: false # 日志格式
#新版本:8.x开始使用
# 日志配置 (Kibana 8.x 新语法)
logging:
root:
level: info
appenders:
console:
type: console
layout:
type: pattern
pattern: "[%date][%level][%logger] %message"
file:
type: file
fileName: /tools/kibana-8.18.8/logs/kibana.log
layout:
type: pattern
loggers:
- name: root
level: info
appenders: [console, file]
- name: plugins
level: info
appenders: [file]
- name: elasticsearch
level: debug
appenders: [file]
#######如果ES开启了双向CA认证#######
#######必须与ES是相同的CA链########
#【1.】 Kibana信任的CA(用于验证ES服务器证书)
# elasticsearch.ssl.certificateAuthorities: ["/path/to/your-ca.crt.pem"]
#【2.】 Kibana自己的客户端证书和私钥(用于向ES证明自己)
# elasticsearch.ssl.certificate: "/path/to/kibana-client.crt"
# elasticsearch.ssl.key: "/path/to/kibana-client.key"
##########[如果kibana想要页面客户端https访问]#########
# server.ssl.enabled: true
# server.ssl.certificate: /path/to/kibana_server.crt
# server.ssl.key: /path/to/kibana_server.key
· 复制es的ca证书
[root@kibana ~ ]# scp 10.0.0.101:/tools/es8/elasticsearch-8.18.8/config/certs/ca.crt /tools/kibana-8.18.8/config/
[root@kibana ~ ]# ls -l /tools/kibana-8.18.8/config/
total 12
-rw-r--r-- 1 root root 2029 Dec 3 08:55 ca.crt
-rw-rw-r-- 1 kibana kibana 1302 Dec 3 08:54 kibana.yml
-rw-rw-r-- 1 kibana kibana 516 Oct 2 20:32 node.options
· 编辑system启动文件
[root@kibana ~ ]# vim /lib/systemd/system/kibana.service
[Unit]
Description=Kibana
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
WorkingDirectory=/tools/kibana-8.18.8/
ExecStart=/tools/kibana-8.18.8/bin/kibana
Restart=always
User=kibana
Group=kibana
[Install]
WantedBy=multi-user.target
· 启动kibana
[root@kibana ~ ]# systemctl daemon-reload
[root@kibana ~ ]# systemctl enable kibana
[root@kibana ~ ]# systemctl start kibana
· 浏览器访问
10.0.0.110:5601

· 登录
# 注意:这里登录的是ES的用户信息
elastic
123456
# 第一次登陆会弹窗让你选择【集成】还是【自己浏览】
- 我们选择:【自己浏览】

二、kibana管理ES索引
1,进入索引管理页面
# 点击菜单栏【ICON】
- 选择【Management】
- 点击【Stack Management】
- 点击【索引管理】
- 默认进入【索引】标签中

2,管理索引
# 选中一个索引
- 点击【管理1个索引】(可以是多个)
- 弹窗中可以对先中的索引【增、删、改、查、打开、关闭、清空】等操作

3,索引模板管理
# 切换【索引模板】标签
- 点击【创建索引模板】

# 设置基础信息
- 索引模板的名称:[xinjizhiwa_index_tmp01]
- 索引模板匹配的方式: [xinjizhiwa*]

# 【组件模板】:就是复制别的常规索引模板的配置;
- 我们不选择
- 直接下一步

# 主、副本分片的设置
{
"number_of_shards": "3",
"number_of_replicas":2
}

# mappings映射字段类型设置
- 设置4个测试

# aliases别名设置
{
"wa_a01":{},
"wa_a02":{},
"wa_a03":{}
}

# 确认【创建模板】

三、kibana数据视图
想要使用kibana处理ES中的索引数据,想要生成图表、筛选显示:
- 需要引入数据操作;
- 这种引入的动作叫做:【数据视图】
- 含义就是:声明要处理(查询、筛选、聚合)的数据索引;
1,创建索引模式
# 点击菜单栏【ICON】
- 选择【Management】
- 点击【Stack Management】
- 点击【数据视图】-【创建数据视图】

# 编辑数据视图:
- 数据视图(原:索引模式)名称
- 数据视图匹配es索引:[xin*]表示匹配es中以"xin"开头的索引;
- 时间戳字段:选择【索引中自带的时间字段】,因为后续处理数据,要基于一个时间的字段做匹配;

2,创建后查看数据视图
# 创建后自定进入视图详情中

四、kibana页面过滤
1,进入Discover
# 创建索引模式,成功引入数据后:
- 点击导航栏ICON
- 顶级【Discover】进入发现页面

2,选中数据视图引入数据

3,根据时间筛选数据
# 这个时间的筛选,就是我们创建【数据视图】的时候,选择的那个时间字段
- 提示:一定要选择索引中本来的时间字段;

4,选择需要过滤的数据字段
# 筛选时间之后,左侧导航栏会显示所有有数据的字段;
- 默认这些字段不可被筛选
- 想要筛选,需要点击加号【+】将字段添加到右侧的页面表格中;

5,KQL过滤数据
# 根据字段与布尔值进行筛选,举例:查询:【"小米"品牌,价格大于1000的商品】
specifications.brand : "小米" and price >= 1000

五、kibana地图坐标展示
1,进入地图导航栏
# 【Maps】

2,添加图层
# 就是将坐标点以图层标点的方式展示在地图上;让人看着更直观清晰;
· 点击【添加图层】

· 选择【文档】
# 表示:从【数据视图】引入的文档中选择坐标点数据文档

· 选择数据视图
# 数据视图坑你有很多个,我们选择想要查看的那个

· 选择坐标数据字段【添加并继续】
# 这里只显示坐标类型的字段

· 设置图层名称【保存】
# 可配置项
- 图层名称
- 坐标点图标颜色
- 坐标点样式
- 等......

· 查看页面
坐标点已经生成

六、kibana仪表盘制作
1,进入仪表盘Dashboards

2,创建单维度图表
· 创建可视化
# 点击【创建可视化】按钮

· 选择字段与图表类型
# 选择一个维度字段,与要展示的统计图表类型
- 字段我们选择【品牌】;(按照品牌统计图表)
- 图表我们选择【柱状图】;(用来统计不同品牌的商品数量)

· 保存图表
# 点击右上角【保存】按钮

# 编辑保存信息
- 编辑【图表名称】
- 选择要保存在哪个仪表盘中(我们新建一个)
- 点击【保存并前往仪表盘】

# 前往仪表盘之后查看

3,创建多维度图表
# 假设,我们向统计:价格和品牌的分布情况

# 保存查看

4,添加Maps地图
· 添加面板
# 选择【Maps】

· 编辑地图图层

· 保存并返回

5,保存仪表盘
# 编辑好多个图标后,保存

# 设置仪表盘的名称与备注,点击保存

# 返回提表盘主页

Discussion
评论