技本功丨甲方大人來了之運維數據分析平臺搭建實戰

作者:浣熊

雲日誌團隊

後端開發工程師

雲日誌團隊時常遇到各種各樣的甲方大人,畢竟我們是一個非常優秀的企業服務公司(自信滿滿),當然面對甲方大人的時候要做到處變不驚,臨危不亂,鎮定自若的接受需求……

甲方大人的常用臺詞一定要記住:我們很忙,有好幾套監控系統,能不能再不砍掉監控系統的情況下,幫助我們搞定日運維需求呢?這樣的需求每天通過項目經理→產品經理→研發經理→浣熊(我)。

But,這個需求有點麻煩呀~

我捋過我日漸稀疏的發,只能加油幹啦!

先說下甲方大人的需求和痛點,甲方大人說平日的系統運維工作主要圍繞應用、主機、數據庫和業務四個方面。

(1)應用發佈平臺是IBM的WebSphereApplicationServer(簡稱

WAS),應用的性能監控基於WAS自帶監控模塊

(2)主機監控基於IBMTivoliMonitoringSystem,業務監控則通

過分析應用日誌的方式實現

(3)數據庫監控依賴一個古老的oracle性能監控工具

(4)應用日誌需要登陸到AIX業務機器上查看

“每當出現一個問題,先登陸was看下業務進程性能趨勢,再登陸Tivoli查看主機性能趨勢,然後登陸數據庫監控查看數據庫性能趨勢,再然後登陸AIX主機查看日誌。一套下來肚子就餓了,到食堂發現好吃的飯菜已經被別人搶光了,希望你們能幫我們改善改善伙食“。嗯,聽上去影響蠻大的,不過他們怎麼知道我燒菜的手藝的,上週末做的清蒸鱸魚味道還不錯…

四個字,趕緊幹活。在瞭解了甲方大人的需求和痛點後,經過一番苦思冥想,設計了下面的看上去有點複雜的架構圖。大道至簡,借鑑老子的一段話附和一下這張圖,“人法地、地法天、天法道、道法自然”,老子用了十三個字,將天、地、人乃至整個宇宙的生命規律精闢涵括、闡述出來。

菜譜準備好了,小蔥拌豆腐,開始下鍋。

在這裏插入圖片描述

數據採集上,針對WAS、Tivoli、Oracle和AIX應用主機的採集需求,需要coding了(沒有什麼需求是一坨代碼解決不了的,如果有那就兩坨),前方高能,請做好筆記:

(1)開發一個WAS進程性能採集器,參考https://github.com/alexivkin/WebSphere-Performance-Monitor,萬能的python,哦no,這個是Jython,看起來跟python一樣嘛,無非就是python裏面用java,java裏面跑python。由於是三年前的版本,加上沒有IBM WAS的測試環境,花掉一個上午時間腦補調試,什麼是腦補調試法,答按行過目代碼、眼睛輸入,大腦跑跑(非專業人士請勿模仿);

(2)開發一個Tivoli數據收集器,又花掉一個晚上,Tivoli支持Soap方式拉取新能數據,我不會告訴你可以用一個CURL拉取所有主機性能所有數據的,想知道的留言處扣666;

(3)開發一個Oracle數據庫性能採集器,還好elastic 大佬開源了beats (https://github.com/elastic/beats )坑爹的是竟然不支持oracle,莫非oracle大佬的開發人員都休眠了麼;花了兩個晚上搗鼓搗鼓,支持個tps、qps、物理讀、邏輯度、吞吐量還是可以的,小算一下支持200多個指標吧,oracle採集beat依賴oracle client不是一般的麻煩;

https://www.oracle.com/technetwork/topics/intel-macsoft-096467.html

(4)開發一個AIX日誌文件採集器,袋鼠雲有技術大牛開發了一個,拿過來直接集成;

https://github.com/DTStack/jfilebeat

數據接收和解析組件,袋鼠雲自研了java版本的logstash,參考:

https://github.com/DTStack/jlogstash

日誌接收和解析性能是ruby版本性能5倍以上,關鍵是配置簡單,分鐘內上手

數據存儲方面,最近一週的日誌數據全部投遞到elasticsearch裏,以防哪天甲方大人心血來潮想搜個日誌啥的;結構化的應用進程數據、主機性能數據、數據庫性能數據和業務日誌數據投遞到clickhouse裏,通過clickhouse強大的聚合計算能力(多表數據關聯,sum/avg等聚合計算),計算出同一時間線上的業務和進程、主機以及數據庫性能的關聯趨勢圖。

一句話總結下ck吧,在sql裏計算我只服ck!

鏈接:

https://clickhouse-docs.readthedocs.io/en/latest/functions/

源碼請見:

https://github.com/yandex/ClickHouse

堅持看到這裏就是真愛了,貼上一張系統架構圖,圖中左方是數據採集層,easymanager是公司自研的自動部署神器(不用想了,沒有開源),右邊是數據展示端,把應用、主機、數據庫、日誌數據統一展示在一張大屏上,廢話不說了,上菜!
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章