Elasticsearch 慢查询自动化巡检实践

本文介绍了 Elasticsearch 慢查询自动化巡检的逻辑和方法,包括DSL获取、profile解析和巡检规则。通过对DSL的清洗、聚合及profile信息的分析,提出针对term long查询和range keyword/wildcard查询的优化建议,以提高ES查询性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Elasticsearch作为一个检索查询的文档数据库,在查询统计方面有着较为自由且丰富的方式方法。在满足各类查询聚合功能的同时,也会有着资源性能使用的浪费或者误区。在功能和性能使用中寻求最优解,诞生了 ES 慢查询治理这个场景问题。
本文主要介绍了 ES 慢查询自动化巡检治理的具体内容和基础逻辑,并对巡检中的判断规则进行解读和相应的解决建议。

慢查询巡检逻辑

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mZLtLUxG-1685529037575)(文章配图/%E5%B7%A1%E6%A3%80%E9%80%BB%E8%BE%91.png “image.png”)]

1. 慢查询 DSL 获取

慢查询 DSL 的获取主要依赖于慢查询日志的清洗聚合。
主要有下面几个操作:

1.1 日志信息要素清洗

这里通过程序脚本从腾讯云同步日志信息到本地的 ES 集群,并根据日志类型进行拆分要素。

拆分主要利用 ES 的 ingest pipeline。grok表达式:

"\\[%{DATA:classname}\\] \\[%{DATA:node}\\] \\[%{DATA:indexname}\\]\\[%{NUMBER:shard_no}\\] took\\[%{DATA:took}\\], took_millis\\[%{NUMBER:took_millis}\\], total_hits\\[%{DATA:hits}\\], types\\[%{DATA:types}\\], stats\\[%{DATA:stats}\\], search_type\\[%{DATA:search_type}\\], total_shards\\[%{NUMBER:total_shards}\\], source\\[%{DATA:Message}\\], id\\[%{DATA:id}\\], "

可以获得的日志结构如下:

{
    "logType": "SearchSlow",
    "took": "271.7ms",
    "total_shards": "12",
    "types": "_doc",
    "took_millis": "271",
    "Message": "{\"size\":1000,\"query\":{\"bool\":{\"must\":[{\"term\":{\"type1\":{\"value\":\"type1\",\"boost\":1.0}}},{\"term\":{\"id\":{\"value\":123,\"boost\":1.0}}}],\"must_not\":[{\"terms\":{\"tag1\":[\"tag1\",\"tag2\",\"tag2\"],\"boost\":1.0}}],\"adjust_pure_negative\":true,\"boost\":1.0}},\"_source\":false}",
    "Ip": "9.20.83.243",
    "shard_no": "4",
    "Cluster": "test-online",
    "Time": "2022-06-27T22:34:59.428+08:00",
    "search_type": "QUERY_THEN_FETCH",
    "hits": "-1",
    "node": "node1",
    "classname": "i.s.s.fetch              ",
    "indexname": 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微盟技术中心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值