阿里雲日志服務搜索關鍵字


場景

項目中接入了阿里雲日志服務,比起以前自己搭建的ELK日志體系,雲上的服務優點是接入簡單,提供了易用的web ui界面方便查詢日志。
省了自己搭建日志監控體系,但缺點是完全依賴雲服務,沒法自己定制,需要仔細閱讀文檔才能在日常工作更好地運用。

問題

昨天搜索某服務日志時遇到一個問題:
項目里的代碼是這樣打印日志的:

logger.error("開始重置XXX. 開始時間: {}", DateUtil.now());

復制開始重置XXX做為關鍵字,發現搜索不到。排除時間篩選問題,該日志每2小時會打印2次,在最近30天也搜不到。

解決

根據以往查日志的經驗,關鍵字有可能被分詞了。同時注意到代碼里重置XXX后面有一個英文的點.
關鍵字加上該.后,開始重置XXX.,日志成功搜索到了。

通過后面加通配符的方式也能搜索到,即:開始重置*

備忘

日志查詢常用:

  • 通過""轉義特殊字符
    例:"productCode"":""xxx"
    // 冒號通過":"轉義,如果直接"mcuCode":"gb510553599",能搜索出來但不是緊鄰

  • 通過andormessage:
    例:請求限流 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM