ELK Stack基础教程(3)Kibana的安装、配置与使用教程

Tanglu Other 2022-10-20 45307 0

Kibana可以为Elasticsearch提供一个可视化平台,将收集到的数据进行图形化展示。Kibana 7开始默认支持中文,配图更为方便,推荐使用


一、Kibana的安装与配置

1、Kibana不需要在每个客户端都安装,通常想让哪台服务器作为展示就用哪台安装一个kibana,Kibana是从Elasticsearch中获取数据的,即使安装在Elasticsearch集群之外的节点也是没有问题的

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.6-linux-x86_64.tar.gz
tar zxf tar zxf kibana-7.17.6-linux-x86_64.tar.gz
mv kibana-7.17.6-linux-x86_64 /usr/local/
ln -s /usr/local/kibana-7.17.6-linux-x86_64 /usr/local/kibana


2、Kibana配置只需要修改主配置文件config/kibana.yml里的以下信息即可

vi config/kibana.yml
server.port: 5601    #kibana端口
server.host: "172.20.1.221"   #kibana地址
server.maxPayload: 10485760
elasticsearch.hosts: ["http://172.20.1.221:9200"]
kibana.index: ".kibana"  #kibana的元数据也会存放在ES的索引中,这里配置的就是索引的名字,一般不用修改
i18n.locale: "zh-CN"  #修改为中文
#elasticsearch.username: "kibana_system"
#elasticsearch.password: "pass"


3、运行bin/kibana脚本可以直接启动服务,通常加上nohup放后台运行。Kibana的插件管理和Elasticsearch一样

chown -R elastic. /usr/local/kibana-7.17.6-linux-x86_64
su - elastic 
nohup /usr/local/kibana-7.17.6-linux-x86_64/bin/kibana &
kibana-plugin install plugin_location


二、Kibana的基本使用

1、Dev Tools工具

通过该工具可以便捷的对Elasticsearch中的数据进行增删改查操作,并且支持命令提示、补齐等功能

devtool1.png


2、在Kibana中有2个地方可以进行索引操作,一个是Kibana->Index Patterns,另一个是Elasticsearch->Index Management。二者的区别在于前者中的索引配置仅仅是Kibaba中需要展示的索引,即便删除也不会有太大影响,但是后者是对ES中的真正数据进行管理,需要谨慎操作


3、创建索引

Kibana服务默认监控在5601端口,浏览器访问http://IP:5601可以打开Kibana的界面(不要用IE内核访问)。第一次访问Kibana需要为Kibana配置索引,输入在ES中存在的索引名字后Kibana会自动进行正则匹配(通常是在loggstash的output段使用index选项自定义索引,创建索引后当有数据产生后kibana就会搜索到索引),如下是logstash配置索引的示例

output {
  elasticsearh {
    hosts => ["http://127.0.0.1:9200"]
    index => "nginx-%{+YYYY.MM.dd}"
  }
}


kibana.png


2、Kibana左侧菜单介绍

kibana61.png


Discover:用于和Elasticsearch交互,通过这个功能进行搜索

Visualize:用于单个图表的制作,图表分有饼图、曲线图、线状图等,不同类型的图标选项会有一定区别。比如有一个银行系统里面有很多用户,现在想统计每个存钱区间的人数,存款在1万以下有多少人,5万以下有多少人等,用这个报表系统就可以方便的进行操作,如下是展示Nginx日志中独立ip的个数

kibana_ip.png


Dashboard:整合了多个图表的面板,方便查看


3、时间过滤

右上角有个时间过滤器,可以根据时间范围进行数据过滤。默认是展示最近15分钟的数据,如果时间范围内没有数据会显示No results found。过滤器分为了快速查找(Quick)、相对时间(Relative)、绝对时间(Absolute)。

kibana2.png

在中间部分有绿色的直方图,点击绿色区域会跳转到对应时间的数据,并且显示该时间内产生了多少数据,如图:

kibana3.png


在页面左侧可以选择需要查看的索引以及字段,Available Fields可以设置字段的过滤条件,字段前面的小字t、n等代表了字段的类型。当点击了某个字段后,右侧就不会再是默认的_source内容,而是指定的字段:

kibana4.png
通过kibana进行全文搜索也很简单,只需要在搜索框里输入关键词,然后就会自动把匹配的日志给展示出来:

kibana5.png


三、Kibana中时间轴的问题

由于Kibana默认是以Logstash收到日志的时间为时间轴,所以可能存在这样一个问题,在2019年1月1日部署了ELK,收集了2018年的日志数据,但是Kibana中时间轴会显示访问集中在2019年1月1日,这样影响了正常的数据分析,所以需要修改Logstash的相关配置,让日志中的时间相关字段去覆盖默认的时间戳

filter
  grok {
    match => {
        ........
    }
  date {
    match => ["requesttime","dd/MMM/yyyy:HH:mm:ss Z"]  
      target => "@timestamp"
  }
}

再看Kiban时间轴的显示效果就是正确的了,如果日期格式不匹配的话会有_dateparsefailure的tags,效果如图:


kibana.png

评论