网站首页 > 技术文章 正文
今天发现kibana查询及操作都很慢,优化es内存,调整kibana请求超时时间均无太大改观。
说下业务场景,主要是通过filebeat收集个平台的log日志,存储到es中在通过kibana进行日志分析。
但今天查询特慢,频繁出现查询超时。尝试进行了如下操作:
1.加大kibana查询超时时间。
2.es加大虚拟机内存。
3.优化es索引,删除无用索引等。
通过上述操作后还是无法解决。kibana一直查询超时。
之后检查sentinl时发现了错误,sentinl中有这么一段查询es中ERROR级别错误日志的脚本。
sentinl是kibana中实现预警的一款插件。
"query" : { "bool" : { "must" : [ { "match" : { "level" : { "query" : "ERROR", "operator" : "OR", "prefix_length" : 0, "max_expansions" : 50, "fuzzy_transpositions" : true, "lenient" : false, "zero_terms_query" : "NONE", "boost" : 1.0 } } }, { "range" : { "@timestamp" : { "from" : "now-80S", "to" : "now", "include_lower" : true, "include_upper" : true, "format" : "epoch_millis", "boost" : 1.0 } } } ], "adjust_pure_negative" : true, "boost" : 1.0 } } }}]
当定位到es中的log发现了如下错误信息:
org.elasticsearch.transport.RemoteTransportException: [node-1][10.180.14.115:9300][indices:data/read/search[can_match]] Caused by: org.elasticsearch.ElasticsearchParseException: unit [S] not supported for date math [-80S] at org.elasticsearch.common.joda.DateMathParser.parseMath(DateMathParser.java:174) ~[elasticsearch-6.0.1.jar:6.0.1] at org.elasticsearch.common.joda.DateMathParser.parse(DateMathParser.java:72) ~[elasticsearch-6.0.1.jar:6.0.1] at org.elasticsearch.index.mapper.DateFieldMapper$DateFieldType.parseToMilliseconds(DateFieldMapper.java:312) ~[elasticsearch-6.0.1.jar:6.0.1]
问题点在这:unit [S] not supported for date math [-80S],原来es查询语句中时间单位秒写成了大写,导致全表查询。
es中时间单位是区分大小写的S大写的情况相当于该查询进行了全索引查询,肯定是很慢的。
所以日常编码还是要慎重,否则真的只能跑路了。
猜你喜欢
- 2024-10-29 你还在用 Date?快使用 LocalDateTime 了!
- 2024-10-29 Java修炼终极指南:79,80,81 签到终极修炼天赋
- 2024-10-29 硬核!最全的延迟任务实现方式汇总!附代码(强烈推荐)
- 2024-10-29 还在实体类中用Date?JDK8新的日期类型不香么?
- 2024-10-29 LocalDateTime 说:2020,是时候换个更好的日期时间类了
- 2024-10-29 程序员,你还在使用Date嘛?建议你使用LocalDateTime哦
- 2024-10-29 深度思考:在JDK8中,日期类型该如何使用?
- 2024-10-29 为什么建议使用你 LocalDateTime,而不是 Date?
- 2024-10-29 百度开源的分布式唯一ID生成器UidGenerator,解决了时钟回拨问题
- 2024-10-29 DeepLearning4j 实战:手写体数字识别的 GPU 实现与性能对比
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)