ELK Stack基础教程(3)Kibana的安装、配置与使用教程
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中的数据进行增删改查操作,并且支持命令提示、补齐等功能
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}" } }
2、Kibana左侧菜单介绍
Discover:用于和Elasticsearch交互,通过这个功能进行搜索
Visualize:用于单个图表的制作,图表分有饼图、曲线图、线状图等,不同类型的图标选项会有一定区别。比如有一个银行系统里面有很多用户,现在想统计每个存钱区间的人数,存款在1万以下有多少人,5万以下有多少人等,用这个报表系统就可以方便的进行操作,如下是展示Nginx日志中独立ip的个数
Dashboard:整合了多个图表的面板,方便查看
3、时间过滤
右上角有个时间过滤器,可以根据时间范围进行数据过滤。默认是展示最近15分钟的数据,如果时间范围内没有数据会显示No results found。过滤器分为了快速查找(Quick)、相对时间(Relative)、绝对时间(Absolute)。
在中间部分有绿色的直方图,点击绿色区域会跳转到对应时间的数据,并且显示该时间内产生了多少数据,如图:
在页面左侧可以选择需要查看的索引以及字段,Available Fields可以设置字段的过滤条件,字段前面的小字t、n等代表了字段的类型。当点击了某个字段后,右侧就不会再是默认的_source内容,而是指定的字段:
通过kibana进行全文搜索也很简单,只需要在搜索框里输入关键词,然后就会自动把匹配的日志给展示出来:
三、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,效果如图:
评论