ELK常用语法和线上问题排查

ELK常用语法及线上问题排查

速查问题

1.全文搜索

在搜索栏输入目标值,查询所有字段中包含该值的文档

案例:用户反馈了一串id或者其他同事给了一个jobid,还没有头绪怎么查的时候,直接全局搜索
jobid

2.字段

限定字段全文搜索: field:value

通配符限定:

?:匹配单个字符

  • :匹配多个字符
    案例:查询uid是 XXX 的请求
    uid:xxx
    案例:查询uid是 XXX 开头的请求
    uid:xxx* 或者 uid:xxx?

3.范围搜索

对数值/时间/ip/字符串类型的字段进行范围搜索

length:[100 TO 200]

sip:["172.24.20.110" TO "172.24.20.140"]

date:{"now-6h" TO "now"}

tag:{b TO e} 搜索b到e中间的字符

count:[10 TO *] * 表示一端不限制范围

count:[1 TO 5} [ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内,可以混合使用,此语句为1到5,包括1,不包括5

可以简化成以下写法:

age:>10

age:<=10

age:(>=10 AND <20)

案例:查询今天请求耗时在1秒以上的请求或0秒到2秒之间的请求

rt:[1 TO 2]

rt:>1

案例:请求IP在183.131.12.222 到 183.131.12.233

ip:[183.131.12.222 TO 183.131.12.233 ]

4.逻辑操作

AND:且

OR:或

NOT: 非

案例:查询日志级别是ERROR且不含日期解析错误的请求

level:ERROR AND NOT msg:交易日期解析出错

案例:查询日志界别是WARN,排除指定程序

level:WARN AND (NOT pn:capitalinfo) AND (NOT pn:mq-stock-mqprofitinfo)

案例:非200的请求

图表

我们不会时时刻刻盯着日志看,对于自己负责的程序,绘制一些简单的图表,可以帮助我们了解程序的健康状况

常用的聚合字段

Count count 聚合返回选中索引模式中元素的原始计数。

Average 这个聚合返回一个数值字段的 average 。从下拉菜单选择一个字段。

Sum sum 聚合返回一个数值字段的总和。从下拉菜单选择一个字段。

Min min 聚合返回一个数值字段的最小值。从下拉菜单选择一个字段。

Max max 聚合返回一个数值字段的最大值。从下拉菜单选择一个字段。

Unique Count cardinality 聚合返回一个字段的去重数据值。从下拉菜单选择一个字段。

Standard Deviation extended stats 聚合返回一个数值字段数据的标准差。从下拉菜单选择一个字段。

Percentile percentile 聚合返回一个数值字段中值的百分比分布。从下拉菜单选择一个字段,然后在 Percentiles 框内指定范围。点击 X 移除一个百分比框,点击 +Add 添加一个百分比框。

Date Histogram date histogram 基于数值字段创建,由时间组织起来。你可以指定时间片的间隔,单位包括秒,分,小时,天,星期,月,年。

Histogram 标准 histogram 基于数值字段创建。为这个字段指定一个整数间隔。勾选 Show empty buckets 让直方图中包含空的间隔。

Range 通过 range 聚合。你可以为一个数值字段指定一系列区间。点击 Add Range 添加一对区间端点。点击红色 (x) 符号移除一个区间。

Date Range date range 聚合计算你指定的时间区间内的值。你可以使用 date math 表达式指定区间。点击 Add Range 添加新的区间端点。点击红色 (/) 符号移除区间。

IPv4 Range IPv4 range 聚合用来指定 IPv4 地址的区间。点击 Add Range 添加新的区间端点。点击红色 (/) 符号移除区间。

Terms terms 聚合允许你指定展示一个字段的首尾几个元素,排序方式可以是计数或者其他自定义的metric。

Filters 你可以为数据指定一组 filters。你可以用 querystring(全文搜索简易检所语法),也可以用 JSON 格式来指定过滤器,就像在 Discover 页的搜索栏里一样。点击 Add Filter 添加下一个过滤器

Significant Terms 展示实验性的 significant terms 聚合的结果。

案例:线上程序ERROR,WARN,INFO日志级别的占比

案例:出现ERROR的程序占比

案例:出现ERROR的IP占比

案例:请求量

案例:非200的请求量

...

操作台

当我们拥有很多监控图表后,把同一类或者我们更关心的图表归类在一起,一眼就可以了解全局

相关推荐
Shenqi Lotus2 天前
ELK-ELK基本概念_ElasticSearch的配置
elk·elasticsearch
weixin_438197384 天前
ELK实现前台单显示ip/host等日志信息
elk
陈震_4 天前
如何搭建 ELK【elasticsearch+logstash+kibana】日志分析系统
大数据·elk·elasticsearch
weixin_438197385 天前
nginx配置转发到elk的kibana的服务器
运维·服务器·nginx·elk
一颗知足的心5 天前
ELK之路第四步——整合!打通任督二脉
elk
一颗知足的心5 天前
ELK之路第三步——日志收集筛选logstash和filebeat
elk
weixin_438197385 天前
配置elk插件安全访问elk前台页面
运维·elk·jenkins
帅儿二郎5 天前
ELK:日志监控平台部署-基于elastic stack 8版本
linux·运维·elk·自动化运维·elastic·日志监控平台·日志分析平台
醇氧5 天前
【elkb】创建用户和角色
linux·开发语言·elk·es