苍穹Elasticsearch日志占用量大分析方法

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

苍穹Elasticsearch日志占用量大分析方法

1 业务背景

随着业务量的增长,苍穹的elasticsearch日志(es日志)也会逐渐增大。在INFO级别输出全部信息的日志的情况下,一般每天的日志量在10G-100G(随业务而定),如果日志量特别大,硬盘消耗很快,就需要分析是什么原因引起。


2 解决方案

查看elasticsearch日志索引,定位占用大的日志索引名(下图是个示例,其占用空间较小)

# curl http://es地址:es端口/_cat/indices?v -u 用户名:密码




找到索引名后,查看该索引前对应的es数据,根据className关键字对索引前100个类名进行分组并统计分析出现的次数

# curl -H "Accept: application/json" -H "Content-type: application/json" -XPOST -d '{"query": {"match_all": {}},"aggs": {"per_count": {"terms": {"size":100,"field": "className.keyword"}}},"size": 0}' http://es地址:es端口/索引名/_search -u 用户名:密码



返回数据是一个json格式内容,可以用在线json工具转换一下方便查阅。上图看到key为kd.bos.rabbitmq.RabbitmqFactory的className出现最多,327122次

然后我们查看这个key对应的相关日志内容:

# curl -XPOST "http://es地址:es端口/索引名/_search" -u 用户名:密码 -H 'Content-Type: application/json' -d '{"size": 0,"query": {"match": {"className": "苍穹className类名"}},"aggs": {"name": {"terms": {"field": "message.keyword","size": 500000}}}}'



查看到这个类的日志信息,发现是rabbitmq访问异常,检查连接地址、用户名、密码、vhost并配置正确后,报错日志就消失了。这部分日志量也就相应的降低下来了。以此方法来定位排前第二、前第三......的类名对应的日志,分析日志出现的原因。


以上是通过curl命令方式查看,还可以通过kibana工具来可视化查看日志

kibana工具下载地址:https://www.elastic.co/cn/downloads/kibana

配置好JAVA_HOME后,直接解压后修改配置文件:

server.port: 监听端口

server.host: "监听主机IP"

elasticsearch.hosts: ["http://es地址:es端口"]

elasticsearch.username: "es用户名"

elasticsearch.password: "es密码"



启动kibana服务:nohup sh kibana-6.8.13-linux-x86_64/bin/kibana &

访问并登录kibana(登录用户密码为elasticsearch的用户密码)




苍穹Elasticsearch日志占用量大分析方法

1 业务背景随着业务量的增长,苍穹的elasticsearch日志(es日志)也会逐渐增大。在INFO级别输出全部信息的日志的情况下,一般每天的日志量在...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息