




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 互聯網系統運維實踐前言隨著互聯網的高速發展,企業經歷的數據量越來越大、越來越重,運維也越來越重要。希望通過本文分享B站運維監控系統的發展歷程以及我的思考。一、自動發布按過往經驗,掐指一算:要尋找破局點、盡早做出第一個改變!當時最耗精力的就是發布,沒多久我們看準了從發布著手,先把勞動力解放出來。于是做了簡單的發布系統:基于OpenLDAP和谷歌的“身份驗證器”作為認證,Gitlab作為代碼托管,按需接入Jenkins構建,在堡壘機上包裝Ansible(腳本也在Gitlab上),用命令行完成批量部署上線。初見成效后,簡單包裝了一個頁面、加了發布時間的控制就開心的用起來了。二、必須做監控我們服務端
2、典型的應用場景如下圖:用戶訪問到邊緣的CDN節點,然后通過二級緩存最后傳到核心機房的四層負載均衡LVS集群,再通過七層Tengine的SLB集群按規則分流到各個應用里。典型的應用后端會有緩存、隊列,然后再到數據庫。開發語言有Go、Java、PHP、Python、C/C+等(排名不分先后)那么問題來了:“監控呢?”B站工程師氣氛很濃,熱愛開源。連DNS都自研、CDN自建,鏈路長、監控少,隨業務增多定位問題變得非常困難。三、第一個報警:ELK很多人心里都有一套運維自動化系統,而且是閉環的。在有效資源里,從哪里開始呢?原計劃本是打算自下而上,從主機監控一步步往上走。而后發現不少用戶反饋的問題,后端無
3、感知。鑒于CDN日志都在手上,用戶最開始接觸的就是CDN。索性把錯誤日志給收回來,錯誤多了就報警。于是ELK誕生了:我們僅收錯誤日志,塞到ElasticSearch里,按域名、CDN節點、用戶IP以及錯誤碼進行分類排序。這樣當收到報警短信時,基本第一眼都可以鎖定一個故障區域了。隨后稍加流程,接入微信完美收工。以下是報警短信的代碼片段,計劃任務第分鐘執行(很土很有效)。另外還有個腳本監控錯誤日志的數量,但數量為零時也會報警(你懂的)。四、可惜還是你:Zabbix做完CDN監控,我們想回頭把基礎監控做起來。經過開源、自研各種討論,綜合下來還是選擇了Zabbix。因為它實施快、報警策略靈活、會用它的
4、人多容易招。五、監控交給你:Statsd好,CDN前端的錯誤監控,應用底層的系統監控都有了。應用自身的監控怎么做呢?根據當時同事的過往經驗看,怎么熟怎么來。那就Statsd吧!Statsd用起來比較簡單,只需要開發在他關注的代碼前后加上錨點就可以了。默認是UDP協議上報數據(天生自帶異步光環),不容易出現由于監控影響到程序本身。下圖是在Shell腳本里做Statsd監控的示例代碼:搭好一套Statsd收集器,配置一下Graphite就能出圖了:前端用Grafana包裝一下,一個完整的APM監控閃亮登場。以下圖例為某接口的平均響應耗時:六、百花齊放:Grafana網傳Grafana有插件可以直接
5、通過API讀取Zabbix的監控數據,然而沒多久新版本的Grafana就默認自帶了此光環。然后我們就開心的給Zabbix裝上了Grafana套件,和Statsd的監控數據整合在一起、易用性加一分。此時結合CDN錯誤監控、應用層APM監控、底層數據監控,聯運查問題某些時候感覺很舒適。下圖為一次故障過程的追蹤:我們并沒有因此滿足,基礎架構的同學參考谷歌的文獻實現了內部的Drapper鏈接追蹤系統。請求從CDN入口開始就會攜帶TrackID,甚至不忘在SQL的查詢語句里把TrackID帶上。以至于追蹤得很細致,哪里什么原因耗時最長一目了然。圖示:七、突破壁壘:Misaka做完如上監控,發現仍然有用戶
6、反饋問題時我們束手無策。因為我們沒有收到任何與此用戶相關的錯誤信息可能網路過程出現了未知原因,比如“被加速”、“功能問題”、“異常退出”等等。于是我們的輿情監測系統Misaka上線,和CDN錯誤日志思路相同;不同的是客戶端是真客戶端,突破了服務端的壁壘。由于Misaka上線的受眾群體更廣,我們簡單包裝了一下界面(雖然我覺得ELK更漂亮)、添加了歷史數據的比較。更利于分析,下圖示例:八、報警整合隨著人員的加入和系統的逐步完善,定制化的監控和系統也越來越多。比如,支持多種集群模式的Redis集群監控:還有隊列的監控,以及把Kafka隊列包裝成支持Redis協議的Databus中間件的監控。下圖示例
7、:隨即Docker的監控也來了,下圖示例:那么問題又來了,這么多監控,眼不花嗎?會不會查問題的時候得開N個窗口,拼經驗看誰定位問題更快痛定思痛,我們走訪了幾家互聯網公司。然后默默的做了一次整合,將報警和事件以時間軸的方式展現了出來。用過都說好,下圖示例:九、在路上:Prometheus經歷約一年時間的洗禮,我們又回到了監控系統的選型。為什么?因為越來越多的花樣監控需求,已經無法很快得到滿足、而且維護工作日漸繁瑣。嗯,可能不同階段需要不同的解決方案。那為什么是Prometheus?因為可選的開源產品并不多,新潮前衛的現代化監控就OpenFlaon和Prometheus啦。Prometheus不止是監控工具,它是一套完整的監控解決方案。除了前端,其它都好。很快Prometheus就上線了,逐步取代了Zabbix。前端仍然是熟悉的Gr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省石家莊市井陘礦區賈莊鎮區賈莊中學2025屆初三1月物理試題含解析
- 廈門演藝職業學院《軌道工程》2023-2024學年第二學期期末試卷
- 電子智能手環手表考核試卷
- 海洋工程項目管理軟件考核試卷
- 電機在智能交通系統中的應用考核試卷
- 光學測距儀的原理與使用考核試卷
- 鹽的電子元件制造考核試卷
- 家電配件的供應鏈協同與優化考核試卷
- 眼鏡店設備消毒考核試卷
- 游樂設施施工合同條款解讀考核試卷
- 2025年餐廳兼職勞動合同
- 2025年北京市東城區高三一模數學試卷(含答案)
- 幼兒園教育評估指南解讀
- 學生欺凌防治工作“一崗雙責”制度
- 2025-2030中國電子焊膏行業市場發展趨勢與前景展望戰略研究報告
- 炎德·英才大聯考湖南師大附中2025屆高三月考試卷(七)物理試卷(含答案)
- 剪映剪輯教學課件
- Radware AppDirector負載均衡器指導書2.11v1.0
- 自動化立體倉庫倉儲項目可行性研究報告
- FBS-GC-001-分布式光伏施工日志
- 大會—冠脈微循環障礙
評論
0/150
提交評論