Elastic stack(二):Kibana简介、安装以及简单使用

Elastic stack(二):Kibana简介、安装以及简单使用kibana 是 Elasticstack 中 web 页面 可以在 kibana 中查看到数据

大家好,欢迎来到IT知识分享网。

1 Kibana

1.1 简介

1、kibana介绍

kibana是Elastic stack中web页面,可以在kibana中查看到数据。还有以下几个功能:

  • 搜索、观察并保护数据:从发现文档到分析日志,再到查找安全漏洞,Kibana 是访问这些功能及其他功能的门户。
  • 分析数据:搜索隐藏的信息,用图表、仪表、地图、图形等方式可视化发现的内容,并在仪表板上进行组合。
  • 管理、监控和保障 Elastic Stack 的安全。管理数据,监控 Elastic Stack 集群的健康状况,并控制哪些用户有权访问哪些功能。

2、kibana 分析(Analyze)

  • 1、添加数据:可以通过elastic search其他组件添加数据,也可以添加一个样本数据集或者上传文件来实现。
    在这里插入图片描述
  • 2、搜索:主要是在Discover 页面,可以添加筛选条件得出结果,只保留自己的需要的数据。还可以将结果限制为最近添加到 Elasticsearch 的文档
  • 3、可视化:Kibana 提供了许多选项来创建数据的可视化,包括基于聚合的数据、时间序列数据以及地理数据。仪表板是创建可视化的起点,然后将它们组合在一起,从多个角度展示数据。使用 Canvas,还可以在大屏幕上显示。
  • 4、建立数据行为模型。使用机器学习功能来建立数据行为模型——预测异常行为,执行异常检测、回归和分类分析。
  • 5、分享:可以通过嵌入仪表板、分享链接、导出为 PDF 等和其他人分享。

3、管理数据

kibana可以实现以下数据操作:

  • 刷新、清空和清除索引的缓存。
  • 定义索引随时间变化的生命周期。
  • 为集群快照制定策略。
  • 将一个或多个索引的数据滚动到新的、紧凑的索引中。
  • 在远程集群上复制索引,并将它们复制到本地集群。
    在这里插入图片描述

4、告警及采取的措施

5、确保访问安全

1.2 安装kibana8.1

1、下载

# 下载并解压 wget https://artifacts.elastic.co/downloads/kibana/kibana-8.1.0-linux-x86_64.tar.gz tar zxvf kibana-8.1.0-linux-x86_64.tar.gz mv kibana-8.1.0 /usr/local/ # 生成kibana的证书文件 cd /usr/local/elasticsearch-8.1.0 # 直接回车 /usr/local/elasticsearch-8.1.0/bin/elasticsearch-certutil csr -name kibana -dns server # 解压文件 并生成证书文件 unzip csr-bundle.zip cd kibana/ cp kibana/kibana.csr kibana/kibana.key /usr/local/kibana-8.1.0/config/ cd /usr/local/kibana-8.1.0/config/ openssl x509 -req -in kibana.csr -signkey kibana.key -out kibana.crt # 重置kibana的登录账号 选择y 打印到前端 /usr/local/elasticsearch-8.1.0/bin/elasticsearch-reset-password -u kibana DJT=nk+MUSZ5YZCg1EaO 

在这里插入图片描述

2、修改配置文件

# 修改配置文件 vi /usr/local/kibana-8.1.0/config/kibana.yml server.publicBaseUrl: "https://192.168.92.102:5601" server.port: 5601 # 服务主机名 server.host: "192.168.92.102" # 设置语言为中文 i18n.locale: "zh-CN" # elasticsearch 服务主机地址 elasticsearch.hosts: ["https://192.168.92.102:9200"] # 访问elasticsearch 服务的账号密码 elasticsearch.username: "kibana" elasticsearch.password: "DJT=nk+MUSZ5YZCg1EaO" elasticsearch.ssl.verificationMode: none elasticsearch.ssl.certificateAuthorities: ["/usr/local/elasticsearch-8.1.0/config/certs/elasticsearch-ca.pem"] server.ssl.enabled: true server.ssl.certificate: /usr/local/kibana/config/kibana.crt server.ssl.key: /usr/local/kibana/config/kibana.key  修改 config/jvm.options vim /usr/local/kibana-8.1.0/config/jvm.options -Xms1g -Xmx1g  说明: # -Xms:设置 JVM 启动时的初始堆内存大小 # -Xmx:设置 JVM 可以使用的最大堆内存大小 # 在 Elasticsearch 中,为了避免频繁的垃圾收集和潜在的性能问题,建议将 -Xms 和 -Xmx 设置为相同的值 # 大小一般为内存的1/2 

注意:-Xms 和 -Xm一定要设置,否则会导致内存使用率过大,从而造成报警

3、配置快速启动文件

# 配置system并启动 mv /usr/local/kibana-8.1.0 /usr/local/kibana chown -R es:es /usr/local/kibana chmod 755 /usr/local/kibana # system管理 vim /usr/lib/systemd/system/kibana.service [Unit] Description=kibana After=network.target [Service] Type=simple User=es Group=es LimitNOFILE= LimitNPROC= Restart=no ExecStart=/usr/local/kibana/bin/kibana PrivateTmp=true [Install] WantedBy=multi-user.target systemctl daemon-reload systemctl start kibana systemctl enable kibana systemctl restart kibana.service systemctl status kibana.service -l netstat -antp |grep 5601 # web页面登录 https://192.168.92.102:5601/ # 此处注意:登录的用户名和密码为: # 账号 : elastic 密码 : pwYcuJ8aT-h7TvuA0gVu 

在这里插入图片描述

1.3 简单使用

1、添加样例数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、数据搜索

3、时间过滤

4、Kibana 查询语言 (KQL)

在kibana中,查询语言使用KQL

筛选存在字段的文档
# 筛选存在字段的文档:检查任何索引值,包括空字符串 http.request.method: * 
筛选与值匹配的文档
# 筛选与值匹配的文档:使用 KQL 筛选与特定数字、文本、日期或布尔值匹配的文档。 # 筛选 http.request.method 为 GET 的文档 http.request.method: GET # 如果不提供field,则在所有字段中搜索给定值。如:筛选 hello hello # 查询关键字、数值、日期或布尔字段时,该值必须完全匹配, 包括标点符号和大小写。但是,在查询文本字段时,Elasticsearch 会分析 根据字段的映射设置提供的值。 例如,要搜索其中(字段) 包含文本“null pointer”:http.request.body.content text 需要使用引号引起来 http.request.body.content: "null pointer" # 某些字符必须用反斜杠转义(除非用引号括起来)。如: # \():<>"* 必须使用转义字符 http.request.referrer: "https://example.com" http.request.referrer: https\://example.com 
筛选范围内的文档

若要搜索包含所提供范围内的术语的文档,需要使用范围语法:

# 如,要搜索http.response.bytes 小于 10000 的所有文档 http.response.bytes < 10000 # 可以合并多个范围查询,例如,搜索http.response.bytes 大于 10000 的文档 但小于或等于 20000 http.response.bytes > 10000 and http.response.bytes <= 20000 # 可以对字符串值、IP 地址和时间戳使用范围语法 # 如,若要搜索早于两周前的文档 @timestamp < now-2w 
使用通配符筛选文档
# 例如,若要查找 http.response.status_code 以 4 开头的文档 http.response.status_code: 4* # 如果不允许使用前导通配符,可以使用 query:allowLeadingWildcards 高级设置进行修改 
否定查询

如果要排除一组文档,需要使用关键字 not (不区分大小写)

# 如,筛选 http.request.method 不是 GET 的文档 NOT http.request.method: GET 
合并查询

需要满足多个查询条件时,可以使用关键字:or、and。如果在多个查询时指定优先级,需要使用括号()

# 如,要查找 http.request.method 为 GET 或 http.response.status_code 为 400 的文档 http.request.method: GET OR http.response.status_code: 400 # 如果要查找 http.request.method 为 GET 且 http.response.status_code 为 400 的文档 http.request.method: GET AND http.response.status_code: 400 # 如,要查找 http.request.method 为 GET 且http.response.status_code为 200 或 http.request.method为 POST且http.response.status_code 为 400 的文档: (http.request.method: GET AND http.response.status_code: 200) OR (http.request.method: POST AND http.response.status_code: 400) # 要查找 http.request.method 为 GET、POST 或 DELETE 的文档 http.request.method: (GET OR POST OR DELETE) 
匹配多个字段

通配符还可用于查询多个字段。可以使用 datastream.*

# 搜索 任何子字段包含“日志”的文档 datastream.*: logs 
查询嵌套字段

查询嵌套字段需要特殊语法,如:

 以下,user是嵌套字段 { 
    "user" : [ { 
    "first" : "John", "last" : "Smith" }, { 
    "first" : "Alice", "last" : "White" } ] } # 查找数组中的单个值包含名字 “爱丽丝”和“怀特”的姓氏 user:{ 
    first: "Alice" and last: "White" }  嵌套字段可以位于其他嵌套字段中,必须指定要查询的嵌套字段的完整路径。 # 以下:user和name都是嵌套字段 { 
    "user": [ { 
    "names": [ { 
    "first": "John", "last": "Smith" }, { 
    "first": "Alice", "last": "White" } ] } ] } # 查找数组中的单个值包含名字“Alice”和姓氏“White” user.names:{ 
    first: "Alice" and last: "White" } 

5、保存查询

总结

以上是Kibana最基础的一些操作,其他的后续再补充。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/130268.html

(0)
上一篇 2025-08-18 15:00
下一篇 2025-08-18 15:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信