閱讀368 返回首頁    go 英雄聯盟


上下文查詢__logsearch_用戶指南_日誌服務-阿裏雲

當你展開一份日誌文件,每一條日誌都記錄一個事件,並且往往不是孤立存在的,連續的若幹條日誌可以回放整個事件序列的發生過程。

日誌上下文查詢是指定日誌來源(機器 + 文件)和其中一條日誌,將該日誌在原始文件中的前若幹條(上文)或後若幹條日誌(下文)也查找出來,尤其是在DevOps場景下對於理清問題來龍去脈來說可謂是一把利器。

一個應用場景

例如,O2O外賣網站在服務器上的程序日誌裏會記錄一次訂單成交的軌跡:

用戶登錄 -> 瀏覽商品 -> 點擊物品 -> 加入購物車 -> 下單 -> 訂單支付 -> 支付扣款 -> 生成訂單

如果用戶下單失敗了,運營、客服的同事如何快速定位問題原因呢?

傳統的上下文查詢怎麼做?

管理員為相關人員添加機器登錄權限,然後調查者依次登錄應用所部署的每一台機器,以訂單ID為關鍵詞搜索應用程序日誌文件:

  1. grep a0cad0faa8e2d2540f84023c97c77f37 -C 10 /home/admin/logs/app_worker/app.log*

這條命令會返回訂單失敗前後各10條日誌,幫助判斷下單失敗的原因。

日誌服務上下文查詢

使用日誌服務怎麼做?

  1. 到服務器上安裝日誌采集客戶端Logtail,並到控製台上添加機器組、日誌采集配置,然後Logtail開始上傳增量日誌
  2. 到日誌服務供控製台日誌查詢頁麵,指定時間段根據訂單ID找到訂單失敗日誌
  3. 以查到的錯誤日誌為基準,向上翻頁直到發現與之相關的其它日誌信息(例如:信用卡扣款失敗)

日誌服務上下文查詢方案

對比傳統方案的優勢

  • 不侵入應用程序,日誌文件格式無需改動
  • 在日誌服務控製台上可以查看任意機器、文件的指定日誌上下文信息,解放了過去需要登錄每台機器查看日誌文件的痛苦
  • 結合事件發生的時間線索,在日誌服務控製台指定時間段快速定位可疑日誌後再進行上下文查詢,往往可以事半功倍
  • 不用擔心服務器存儲空間不足或日誌文件輪轉(rotate)造成的數據丟失,到日誌服務控製台上隨時可以查看過往的數據

使用上下文查詢的兩個前提

想了解如何查詢日誌上下文,請參考控製台上下文查詢介紹。

最後更新:2016-12-12 14:46:48

  上一篇:go 查詢方案(ELK/Hive)對比__logsearch_用戶指南_日誌服務-阿裏雲
  下一篇:go 使用Logtail采集日誌__logtail(Agent)_用戶指南_日誌服務-阿裏雲