hawkeye是一個資料分析産品,定位于協助維護及優化線上系統,包括但不限于ha3、sp、igraph等引擎,目前主要基于tisplus平台,進行ha3引擎的資料分析以及引擎優化,諸如慢查詢、引擎schema合理性、服務穩定性、資源配置合理性的檢測及優化等。
系統簡介
1.hawkeye平台經過拆分後大體分為三部分
hawkeye-blink:基于Blink完成資料處理的工作,重點是通路日志分析、全量資料分析等,該工程側重底層的資料分析,借助Blink強大的資料處理能力,每天對于TISPLUS平台所有Ha3應用的通路日志以及全量資料進行分析,工程處理流程圖如下:
hawkeye-experience:基于hawkeye-blink的分析結果進行更加貼近使用者的分析,比如字段資訊監測,包括字段類型合理性,字段值單調性監測等,除此之外還包括但不限于kmon無效報警、冒煙case錄入情況、引擎降級配置、記憶體相關配置、推薦行列數配置以及切換時最小服務行比例等檢測,hawkeye-experience工程的定位是做一個引擎診斷規則中台,将平時運維人員優化維護引擎的寶貴經驗沉澱到系統中來,讓每一個新接入的應用可以快速享受這樣的寶貴經驗,而不是通過一次次的踩坑之後獲得,讓每位使用者擁有一個類似智能診斷專家的角色來優化自己的引擎是我們的目标,也是我們持續奮鬥的動力,其中hawkeye-experience的資料處理流程圖如下所示:
hawkeye-console:web層,提供hawkeye分析結果的各種api以及可視化的監控圖表輸出。
2.TISPLUS-Ha3平台:搜尋引擎服務平台,目前接入了商品中心IC、聚劃算、村淘、盒馬、評價、優酷、鹹魚、飛豬、lazada等重要業務;
3.TISPLUS-sp平台:sp+ha3組成一個完成的引擎服務;
4.airflow/matt:搜尋排程平台(後更名為matt),hawkeye有約上百個分析任務,有些是腳本式任務,有些需要上傳資源檔案,諸如java jar,bash script等,每天有定時觸發以及手動觸發等多種類型,airflow/matt很好的支援了hawkeye的任務排程;
5.容量評估平台:剛上線的應用如何申請資源?有點懵,别上火,容量評估告訴你,容量評估資料的得出,得益于heracles(壓測平台)支援大促壓測、日常化壓測以及容量評估。
6.成本平台:資料分析結果為搜尋服務帶來的價值幾何?成本平台銜接資料化營運及其價值,服務優化帶來的價值清晰可見;
7.sophon:智能化運維平台,目前主要從sophon擷取應用關于引擎的一些配置資訊,後續将和智能化運維結合,更好的發揮hawkeye在資料化營運這塊的作用。
由原先的混合平鋪tag改為單獨入口,資料大盤包括内容有:服務總覽、Ha3引擎監控名額、Ha3引擎分析名額、成本名額、sp監控名額、資源浪費情況等,是對業務全方位的重點資料展示,通過資料大盤,業務方可以輕松檢視業務各個細節資料,時刻做到心中有“數”。其中慢查詢相關的分析有慢查詢特征分析,慢查詢數變化趨勢等。
一鍵診斷的目的是讓使用者不需要了解系統複雜度的前提下仍然清楚的了解自己引擎的健康狀态,做使用者的智能診斷專家,是以我們推出健康分這一名額用于衡量引擎健康狀态,使用者通過健康分可以明确知道自己的服務健康品質如何。同時每一項都給出了診斷時間,配置不合理的簡要描述以及詳情,優化的收益,并給出子項的健康分以及優化的連結,診斷時間根據資料源的性質分為T+1的檢測和實時的檢測。
診斷決策:診斷項事先需要定義好相應的規則,規則的擷取來自實際的運維經驗以及引擎的配置要求等,目前主要包括服務穩定性性檢測,資源配置檢測以及字段資訊檢測三大類共計九個小項的檢測,将擷取的資訊經過規則判斷,得到診斷分析的結果,同時為相應的診斷項賦予相應的權重和計算子項健康分,每一個診斷項根據其重要程度分為Not_important、important、Very_important三個等級;
計算應用健康分:目前應用健康分計算較為簡單有效,僅是将各個子項的健康分以及權重做線性權重得出。
一鍵診斷的頁面觸發邏輯詳見下圖:
目前一鍵診斷的産品形态如下圖所示,當業務處于正常狀态時診斷結果如下圖所示:
當診斷結果顯示應用有需要優化的問題時診斷結果如下圖所示:
資料化營運最為關鍵的點在于如何去衡量資料化帶給平台的價值。TISPLUS和成本系統打通之後,任何有價值的優化都得以在成本系統上展現,結合TISPLUS,我們在使用者最常運維的頁面加入成本趨勢,使用者可以看到自己服務的累計總成本與累計節省成本,不同時間段的成本對比,與成本相關的操作記錄,讓每一步的優化與成本下降有“據”可查,同時激勵使用者持續不斷的優化引擎,達到效率和穩定性的一個平衡。
平台做了許多資料化的feature,但是資料化的内容,少即是多,我們需要把最精簡的,最核心的,最需要使用者關心的資料透出,是以我們将這些資料化内容進行分類篩選,選出最核心的資料每天定時發給業務方。我們挑選了諸如成本資訊、穩定性資訊、診斷資訊三部分最核心的資訊作為郵件内容發送給業務負責人。
經過上述這些場景的落地,基本形成資料大盤、一鍵診斷、成本趨勢、應用日報這樣一個有效的閉環,通過持續的優化線上系統,最終達到效率和穩定性的平衡。如果你對資料分析和引擎優化方面有心得,歡迎與我交流,也歡迎有才的你加入搜尋事業部。
