【全观测系列】Elasticsearch应用性能监控实践
簡介:本文介紹了應用性能監控的應用價值以及解決方案等。
1、什么是全觀測?
要了解全觀測,我們先看看傳統運維存在哪些問題。
- 數據孤島,分散在不同部門,分析排查故障困難;
- 多個廠商的多種工具,無法自動化統一分析;
- 故障是立體的,日志、指標等都只能看到一方面的可觀察性;
- 只進行收集,沒有真正深入分析,不能發揮大數據的價值;
而全觀測是對傳統運維的改進。它將日志、指標、APM數據,匯總在一個平臺,讓運維、開發、業務人員對所有的數據從統一視角進行觀察分析,可以實現——
- 建立統一的可視化視圖、對齊時間、過濾條件;
- 建立統一的基于規則的監控和告警;
- 建立統一的機器學習的智能監控和告警。
在整個全觀測中包括日志、指標,APM這三要素中,大家相對比較陌生的可能是APM。
2、什么是應用性能監測APM
APM定義:企業應用APM對自身復雜的軟件及應用程序的運行狀態進行監測、診斷和分析,從而縮短故障定位時間和提升故障的定位準確度,進而提升應用運行效益和優化用戶的使用體驗。
APM涉及的技術類型包括人工智能、大數據、云計算,它的核心是用戶體驗,提升應用可靠性性,提升應用質量,降低IT總擁有成本。
隨著當今應用的多元化和復雜化,我們需要通過APM這樣一個應用性能監測,實現端到端業務性能的分析,同時幫助了解我們的服務,比如說時間都花在了什么上面,服務崩潰的原因是什么,整個服務的瓶頸在哪里,從而使我們更好的去跟蹤、優化終端用戶的體驗。
3、應用性能監測APM場景
3.1 APM應用場景及痛點
? ? 應用異常診斷
— ? 分布式微服務架構的應用進行故障排查時存在問題定位難的現象;
— ? 業務邏輯復雜化使企業對應用架構梳理和治理難度增加。
? ? 應用體驗管理
— ? 用戶體驗直接影響應用服務發展前景,但獲取用戶訪問系統時的真是和具體情況難。需要及時且快速定位新故障或復現用戶反饋的問題場景,高效解決故障,防止客戶流失
? ? 應用異常診斷
— ? 多視角分析關聯指標和告警數據,并生成故障根因分析報告
— ? 結合歷史數據與運維經驗,實時分析異常事務的發生原因
3.2 APM能力及業務價值
? ? 主動監測與被動監測,注重終端用戶體驗優化
? ? 實時、可視化應用架構,協助用戶全面了解復雜的基礎設施
? ? 應用數據積累及實時更新,為解決不同平臺問題提供數據支撐
? ? 路徑跟蹤與及時預警,降低故障損失
? ? 深入監控應用組件,側重監控工具之間運作的成效,助力用戶快速定位和處理問題
4、阿里云Elasticsearch應用性能監測功能發布
基于開源Elastic APM構建,提供云上一鍵托管的阿里云Elasticsearch應用性能監控Server節點服務拉起,支持使用阿里云Elasticsearch作為其數據存儲,并允許實時監控數千個應用程序的性能。
用戶可通過Agent收集包含傳入請求、數據庫查詢、緩存調用、外部HTTP請求、錯誤及異常等多種詳細的性能信息,并通過Elasticsearch進行存儲及可視化分析,為企業及開發者提供高效的應用程序性能優化與監控能力。
4.1 用戶根據默認提供的代理Agent及數據采集模板進行數據收集
用戶可使用與服務相同的語言編寫的開源庫,代理程序會掛鉤應用程序并收集性能指標和錯誤,所有數據都會收集并發送到Server端。
4.2 云上托管阿里云ES應用性能監控Server實例創建與管理
一鍵拉起Server節點并進行靈活的擴縮及配置,Server通過JSON HTTP API從代理接收數據,單個節點通??梢蕴幚韥碜詳蛋賯€代理的數據。
4.3 配置關聯阿里云ES實例,結合Kibana進行性能指標數據存儲及分析
結合阿里云ES自研日志Indexing Service以及海量存儲Openstore,可以達到高并發的寫入能力,以及低成本、近實時地存儲搜索海量數據。云上免費托管拉起的Kibana節點提供豐富的數據分析及可視化能力。
5、全觀測場景技術難點和解決方案
如何通過云上Elastic Stack能力去解決全觀測-日志場景下的痛點。
5.1 全觀測場景面臨哪些痛點
- 日志/指標獲取難
機器、業務系統、網絡鏈路、操作系統,諸多指標及日志獲取手段不一,落地過程復雜;
- 日志/指標規格化要求高
上下游鏈路配合銜接過程中,如何將有效信息從海量日志中獲取;
- 高并發寫入、系統穩定性差
業務/流量抖動,日志寫入峰值往往會很高,旁路系統穩定性受到很大的挑戰;
- 海量數據存儲成本高
日志場景涉及海量數據,TB級別起步,甚至PB級;
- 日志分析和指標監控統一難
借助時序系統可以很好的完成監控,但異常分析困難相反,如何在統一平臺完成;
- 系統可擴展性要求高
業務調整帶來的技術演進一直在發生,技術組件更新快,運維框架需要有強大的兼容性;
5.2 云上ELK全觀測解決方案能力
- Beats/APM獲取日志/指標
輕量化的提供各類metic、logs、APM數據采集能力;
- 數據清洗SQL化更簡易
支持各類網絡格式的日志/指標采模板,實時計算Flink提供完整流式SQL能力;
- 云上ES寫入托管及超強穩定性
提供Indexing service自研ES寫入托管服務,及跨機房部署、同城容災、場景內核優化;
- 低成本數據存儲
阿里云ES提供冷熱分離數據存儲方式,及自研存儲引擎Openstore優化存儲壓縮算法;
- 日志分析、指標監控、APM能力齊全
阿里云ElastiStack全托管,提供日志分析、監控、Tracing一站式能力;
針對時序場景,針對性優化引擎,保證時序日志監控和分析的性能;
- 開源生態具備強大的可擴展性
基于分布式架構,以及靈活開放的RestAPI和Plugin框架,支持各種擴展能力。
6、ES全觀測解決方案實現日志監控/運維/分析
- 方案選型:100%兼容開源,與各類開源生態組件無縫銜接;支持多云/跨云的日志監控、運維分析場景
- 方案優勢:云上Elasticsearch端到端的采集傳輸及分析能力,提供面向海量數據的高性能讀寫、高彈性、低成本解決方案
7、時序日志場景痛點分析
寫多讀少的日志場景下會遇到什么問題?
(1)高峰期寫入壓力大彈性擴展難以有效實施
(2)海量計算+存儲資源成本高低峰期資源閑置
(3)為保證系統穩定性集群運維管理復雜
8、阿里云Elasticsearch日志增強版
基于云原生自研引擎技術的全觀測數據寫入托管及海量存儲能力
- 日志寫入Serverless
自研寫入加速Indexing Service,支持ES日志場景海量數據寫入,寫入按實際流量計費,提供極致的彈性和強大的業務系統洪峰應對能力,客戶無須預留資源并維護大規模集群;
- 海量存儲Openstore
可根據實際數據的存儲量按量計費,無須提前預留集群存儲容量,數據兼容ES原生查詢。單據節點可存儲百TB數據并通過靈活易用的數據生命周期策略進行數據管理
- 云端10倍寫入彈性擴縮
云端海量算例突破寫入瓶頸,無須提前預留資源,無低峰閑置浪費
- 成本降低50%以上
按需使用,按實際寫入流量付費,云端按量寫入,優化資源成本
- 存儲超低成本
相較于高效云盤存儲成本降低70%,無須提前預留資源,無低峰閑置浪費
- 海量數據可查詢
相較于高效云盤存儲成本降低70%,存儲Serverless按實際用量用多少付多少
9、應用服務數據鏈路追蹤與分析
某汽車品牌案例(SLA/KPI指標跟蹤、銷售支撐系統鏈路追蹤與日志分析),基于阿里云Elasticsearch的“汽車行業應用服務數據鏈路追蹤和日志分析”介紹。
(1)場景需求
在整體汽車行業推動業務全流程數字化轉型的背景下,內部支撐系統,以及依賴的IT組件(如:移動網關),快速上云后,內部系統產生大量的Metric、TraceLog、Log等數據,需要在云上快速落地。
某汽車品牌企業IT部門下,有多個內容管理系統(CMS)、分銷商經營辦公系統(DMO)、運營質量監控系統(QIS)、營銷經營分析系統(MMP)、BI系統等內部支撐系統。
?IT業務系統復雜,既要滿足持續的業務需求,又要整體上云,需要有快速平遷、對接原有云上/云下的IT系統的產品,并能保證技術架構的靈活、開放性,支持后續的自由拓展;
? 預期未來的日志數據規模超PB級(180天),底層技術架構需要兼備低成本存儲、快速獲取、按需檢索和分析的能力;
(2)方案價值點
整體方案架構
10、ES應用性能APM Server創建
3min快速拉起APM Server進行數據傳輸,最低僅需180元/月
在APM server控制臺列表,可以查看有多少個APM server在運行。
我們可以看到APM server的訪問地址,將這個訪問地址配到APM agent里面。APM agent采集過程中,可以支持多種客戶端語言,可以快速的實現數據采集的配置。
當數據采集之后,我們就可以來到Kibana的界面,通過Dev tools進行一些索引的創建。
Kibana界面可以查看所有的APM服務數據,如平均響應時長,P95值,異常發生的時間等等。
進入查看某個服務的詳細數據:
點擊查看某個具體的請求數據的瀑布視圖:
查看瀑布視圖的詳情:
比如發現有很多select正在進行,可以點擊查看具體詳情:
查看全鏈路數據:
原文鏈接
本文為阿里云原創內容,未經允許不得轉載。?
總結
以上是生活随笔為你收集整理的【全观测系列】Elasticsearch应用性能监控实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 启动、内存、卡顿三大分析,用户体验就用它
- 下一篇: Dataphin产品核心功能大图(六)发