一、kibana部署

1、下载软件包

地址链接:

2、安装kibana

[root@elk123 ~]# rpm -ivh kibana-7.17.5-x86_64.rpm

3、修改kibana配置文件

复制第7行内容,修改server.host

[root@elk123 ~]# vim /etc/kibana/kibana.yml
…
…
server.host: "0.0.0.0

复制第33行内容,修改elasticsearch.hosts

[root@elk123 ~]# vim /etc/kibana/kibana.yml
…
…
elasticsearch.hosts: ["http://192.168.1.121:9200","http://192.168.1.122:9200" ,"http://192.168.1.123:9200"]

复制第117行内容,修改i18n.locale

[root@elk123 ~]# vim /etc/kibana/kibana.yml
…
…
i18n.locale: "zh-CN"

全部修改完成后进行查看

[root@elk123 ~]# egrep -v '^#|^$' /etc/kibana/kibana.yml
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.1.121:9200","http://192.168.1.122:9200","http://192.168.1.123:9200"]
i18n.locale: "zh-CN"

4、启动kibana

[root@elk123 ~]# systemctl enable --now kibana

验证查看

[root@elk123 ~]# ss -ntl | grep 5601
LISTEN 0 128 *:5601 *:*

至此kibana部署完成。

二、kiaban基础使用

2.1 索引管理

1、打开浏览器输入http://192.168.1.123:5601/访问kibana界面

2、点击【自己浏览】

3、点击【Discover】-【索引管理】即可进行相关管理操作

2.2 添加官方样例数据

1、打开浏览器输入http://192.168.1.123:5601/访问kibana界面

2、点击【自己浏览】

3、点击【试用样例数据】-【添加数据】

4、查看数据

5、移除样例数据

2.3 开发者工具

1、打开浏览器输入http://192.168.1.123:5601/访问kibana界面

2、点击【自己浏览】

3、点击左上角的扩展栏后,点击【开发工具】

4、这里可以填写JSON格式的文件进行相关操作

2.4 索引模板

2.4.1 创建/修改索引模板

1、打开浏览器输入http://192.168.1.123:5601/访问kibana界面

2、点击【菜单栏】-【Stack Management】

3、点击【索引管理】

4、点击【索引模板】-【创建模板】,创建一个名为es-template01的模板

定义名称为es-template01,索引模式为es*,完成后点击【下一步】

5、组件模板(可选),直接点击【下一步】

6、索引设置(可选),设置分片数和副本数后,点击【下一步】

{
"number_of_shards": 5,
"number_of_replicas": 0
}

7、映射(可选),设置已映射字段后,点击【下一步】

8、别名(可选),设置别名后点击【下一步】

{
"DBA": {},
"SRE": {},
"K8S": {}
}

9、预览没问题,直接点击【创建模板】

2.4.2 创建索引(测试模板)

1、点击【菜单栏】-【开发者工具】

2、填写PUT请求192.168.1.121:9200/es-001,创建新的索引es-001

3、点击【索引管理】-【es-001】,观察到套用模板,新创建的索引是5分片0副本并且带有三个别名DBA/SRE/K8S

三、KQL语法

KQL(Kibana Query Language)是用于在Elasticsearch中执行查询的查询语言。它是Kibana的一部分,通常用于构建和执行搜索查询,过滤和分析数据。

3.1 AND操作符

1、定义

使用 AND 或空格表示逻辑与

2、示例

希望找到状态为200且文件扩展名为"jpg"的文档

status:200 AND extension:"jpg"

3.2 OR操作符

1、定义

使用 OR 表示逻辑或

2、示例

希望找到状态为200或404的文档

status:200 OR status:404

3.3 操作符

1、定义

使用 : 表示精确匹配

2、示例

希望找到包含"Error"的文档

response:"Error"

3.4 >和\<操作符

1、定义

使用 > 表示大于;使用 \< 表示小于

2、示例

希望找到字节数大于1024的文档

bytes > 1024

3.5 括号()操作符

1、定义

使用括号可以更明确地定义操作的优先级

2、示例

希望找到状态为200或404且文件扩展名为"jpg"的文档

status:(200 OR 404) AND extension:"jpg"