背景

  由于有时候需要基于日志做一些处理,由官网得知,ES7.3.0发布的新特性 从保存的搜索中导出CSV我们的Kibana刚好是7.3.0,于是将自己的使用经验及解决的问题,分享给有需要的小伙伴!

一、使用步骤

1-1  保存搜索

Discover -> 选择索引模式  -> 选择要显示字段  -> 输入你的查询条件  -> 选择时间范围 -> 点击保存

 

 

1-2  下载CSV报告

点击共享 ->  CSV 报告 -> 生成CSV 报告

 

 

1-3 下载 CSV报告

  • 下载完会在右下角 弹出,点击下载报告

 

  • 下载完的报告也可以去 管理> Kibana > Reporting 中下载

1-4、查看下载的CSV

 

二、kibana 设置导出的csv文件大小

  因为导出的csv有文件大小限制,默认是10M,如果你的数据量大于10M,那么csv只会下载10M大小的数据;

  并且导出CSV报告Kibana是放入队列中执行的,有一个处理超时时间,默认是12000毫秒,也就是2分钟;

  所以假如你的机器性能不好,处理时间长,或者数据量大于10M,那么你就有必要设置一下kibana关于CSV报告的参数:

  vim kibana.yml

# csv文件大小200MB,默认为10485760(10MB)
xpack.reporting.csv.maxSizeBytes: 209715200
# 超时时间-30分钟,默认是120000(2分钟)
xpack.reporting.queue.timeout: 1800000

   修改后,重启Kibana生效!!!

三、Kibana可能遇到的问题

3-1、启动时报如下错警告:

告警:xpack.reporting.csv.maxSizeBytes (209715200) is higher than ElasticSearch's http.max_content_length (104857600).

{"type":"log","@timestamp":"2020-09-27T03:29:49Z","tags":["reporting","warning"],"pid":12197,"message":"xpack.reporting.csv.maxSizeBytes (209715200) is higher than ElasticSearch's http.max_content_length (104857600). Please set http.max_content_length in ElasticSearch to match, or lower your xpack.reporting.csv.maxSizeBytes in Kibana to avoid this warning."}

原因:这是因为导出的csv最大的大小 大于 你的ES的http最大内容大小(默认为104857600 字节,即100M)

解决方案:这种情况需修改你的ES的配置文件,添加或修改ES参数http.max_content_length

vim /usr/local/elasticsearch/config/elasticsearch.yml

http.max_content_length: 200mb

3-2、下载CSV报告太大,导致Kibana宕掉

报错:FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

原因:nodejs 内存不足导致(kibana 前端是用node 实现的)

解决:kibana启动脚本添加 --max-old-space-size=4096

vim /usr/local/kibana/bin/kibana

四、如何删除CSV报告

可以看到在 管理> Kibana > Reporting 中 ,只有下载,并没有删除,

假如你下载了很多文件,其中有一些大文件,他们是存储在Elastic Search 中的,将会一直占用着系统的空间,

这里笔者找到一个删除他们的办法,步骤如下:

4-1、找到存储报告的 ES索引 和 文档ID

浏览器 > F12 > 查看请求 > 可以看到存储数据的索引和文档ID

由上图得到:

索引名称:.reporting-2020.09.13

文档ID:kf21o8fh1wxa81acaf182ei6

 

4-2、使用 Kibana的 开发者工具 删除 报告

开发工具  >  Console页签   >  输入DSL语句   >  执行

 DSL语句(换成你的索引名称和文档ID)

DELETE /.reporting-2020.09.13/_doc/kf21o8fh1wxa81acaf182ei6

执行结果如图:

五、参考资料

1、kibana 设置导出的csv文件大小

2、FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐