标签:项目 desc message ror sele 阿里 排除 count 完全
项目中接入了阿里云日志服务,比起以前自己搭建的ELK日志体系,云上的服务优点是接入简单,提供了易用的web ui界面方便查询日志。
省了自己搭建日志监控体系,但缺点是完全依赖云服务,没法自己定制,需要仔细阅读文档才能在日常工作更好地运用。
昨天搜索某服务日志时遇到一个问题:
项目里的代码是这样打印日志的:
logger.error("开始重置XXX. 开始时间: {}", DateUtil.now());
复制开始重置XXX
做为关键字,发现搜索不到。排除时间筛选问题,该日志每2小时会打印2次,在最近30天也搜不到。
根据以往查日志的经验,关键字有可能被分词了。同时注意到代码里重置XXX
后面有一个英文的点.
,
关键字加上该.
后,开始重置XXX.
,日志成功搜索到了。
通过后面加通配符的方式也能搜索到,即:开始重置*
日志查询常用:
通过""转义特殊字符
例:"productCode"":""xxx"
// 冒号通过":"转义,如果直接"mcuCode":"gb510553599"
,能搜索出来但不是紧邻
通过and
、or
、message:
例:请求限流 and message: "product/detail"
通过|
+ 查询语法
例:
请求限流 |
select date_format(__time__,‘%Y-%m-%d‘) as day, count(*) as count
group by day
order by day
请求限流 |
SELECT regexp_extract(message,‘(.*uri=)(.*)(,rule.*)‘,2) uri,
count(*) as count
group by uri
XXX and message: XXX,请耐心等待 |
select
regexp_extract(message, ‘"userId":(?<userID>\d+)‘, 1) userID,
count(*) as count
GROUP BY
userID
ORDER BY
count DESC limit 1000
标签:项目 desc message ror sele 阿里 排除 count 完全
原文地址:https://www.cnblogs.com/cdfive2018/p/14557346.html