团队搭建的ELK是7.10.0版本,Kibana、Elasticsearch、Logstach、filebeat都已经搭建完成了,一般的log数据常存储在cd /var/log中,我下载了官网的json文件用于模拟,下载链接https://download.elastic.co/demos/kibana/gettingstarted/accounts.zip,这是一个银行的用户数据。

一、导入

将安装好的json通过Xftp7传入服务器,我的所在文件夹为/var/log/elasticsearch

# 转到文件夹
cd /var/log/elasticsearch

# 上传
curl -H 'Content-Type:application/x-ndjson' -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary "@accounts.json"

若导入成功,将会返回表单内容

二、问题总结

其实最终只需要一句代码,但是上传的过程中我遇到了一些问题,有几个注意点和代码中可以改动的地方

①localhost写成自己对应的IP或者自定义的命名

②该文件的Content-Type为application/x-ndjson,但也有文件是利用Content-Type:application/json。

③注意调用的方法,此处为XPOST,还有GET等其他方法

若是自己的json文件,要注意每一项前必须含有{"index":{"_id":"1"}},以及文件末尾另起一行,id具体内容可以随意,如下图所示。否则会报400的错误

如果数据量较小可以用     vim 文件名    的命令来修改json内容

三、数据可视化

1.查看索引

导入成功后,在elasticsearch-head中会出现对应的索引

2.创建pattern

转到Kibana,在5601端口,Kibana7和6版本的页面略有不同,但是功能是统一的,可以找到相应内容

 

这里的pattern name不一定要全名,也可以bank*,就可以将所有前缀为bank的索引一起加载,在后期日志展示中很有用

下一步的Time field选择@timestamp,也就是时间戳

 

如果数据成功导入,就可以显示出来了

3.创建饼图

Dashboard→Create dashboard→Create New→Pie→选择bank索引

4.数据展示

左侧或右侧会出现条目,可以自己选择分片或分块,随后按需求切分数据

 

参考视频:bilibili:ELK 日志采集分析框架 【elasticsearch、logstash、kibana】

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐