應用監控的選型思考
最近由於專案的緣故,經常會和同學們聊到一個話題,那就是企業如何在應用效能管理(Application Performance Monitoring, 簡稱APM) 領域的開源和商業化產品中選擇合適自己的產品,下面就以該領域為例和大家做一個分享。
先說結論: 沒有統一答案,企業使用者應當從自身需求,技術掌握深度,建設成本這三個方面來衡量。
企業性質和最終方案 |
技術掌握程度 |
自身需求 |
建設成本 |
---|---|---|---|
世界500強的IT部門, 最終選擇商業產品,部署方式為專用雲 | 已經被各大APM廠商進行過POC,介面人對APM領域有一定理解;已經在內部進行過多輪DevOps概念推廣和相關環境建設。 | 1.配合壓測調優效能;2.能快速推廣和應用到全集團;3.集團大螢幕輸出;4.日常運維中的問題報警,排查,診斷。 | 1.產品費用+諮詢費用;2.每年的產品升級和維護費用;3.2名甲方介面人員;4.內部機器成本。最大併發監控規模:萬臺。平均每臺活躍例項/年監控成本在4000元左右。 |
數千人的中型網際網路公司,最終選擇基於 pinpoint 自建 | 負責人為多年從事APM領域的資深專家,並有從原來APM廠商轉來的Pinpoint Commiter,正在進行DevOps建設。 | 日常運維中的問題報警,排查,診斷為主。 | 1.4名開發人員至少一年的開發維護時間。2.2名運維人員的日常維護和推廣。3.內部機器成本。最大併發監控規模:千臺。平均每臺活躍例項/年監控成本在2000元左右。 |
數十人的創業團隊,最終選擇公有云商業產品 | 對APM領域,僅僅是聽過幾場meet up,以業務開發為重心。 | 日常運維中的問題報警,排查,診斷為主。 | 公有云產品費用,根據業務量,靈活擴縮容。最大併發監控規模:數十臺。平均每臺活躍例項/年監控成本在1000元左右。 |
產品完成度&使用場景
上面是三個不同企業規模中APM使用的一個大致情況以及他們的選型和成本情況。當把需求落到具體使用場景上時,商業化產品和開源產品在完成度上,其實也有很多區別:
使用場景 |
商業化產品-以阿里雲ARMS為例 |
開源產品--以Pinpoint和Skywalking為例 |
---|---|---|
報警和報表:作為日常運維工具,報警功能必不可少。在日常巡檢中,需要把關鍵資訊放在一個頁面中形成報表,並且對報表定時進行推送。 | 支援豐富維度的資料包警設定,以及豐富的推送渠道,包括釘釘,簡訊,郵件等。支援使用者自定義設定各種業務報表。 | 支援簡單的報警功能,大部分情況下需要使用者額外進行開發和整合。 |
使用者反饋問題跟蹤:能根據某一個業務關鍵ID 查詢出對應的分散式呼叫鏈路和相關的log。 | 支援全系排查和100%鏈路採集。 | 不支援。 |
程式碼瓶頸診斷:發現問題以後,需要快速定位到程式碼效能瓶頸。 | 無需額外的埋點,自動適配大部分主流框架,支援自定義埋點。單執行緒快照技術,能監控到沒有埋點的業務程式碼的執行情況。 | 無需額外埋點,支援自定義埋點。 |
穩定性&可擴充性。 | 經過多年那雙十一挑戰,產品效能穩定。SaaS產品動態擴縮絨,無需使用者關心。 | 開源專案未經過大規模生產環境檢驗,需要使用者自己進行穩定性的測試,以及根據資料量進行擴縮容量。 |
使用諮詢。 | 5*8阿里雲專家諮詢服務:可針對性輸出阿里雲多年效能調優經驗和使用場景,幫助使用者快速落地APM產品。 | Github issue為主無商業化公司支援,出現問題大部分自己解決。 |
定製化能力。 | 支援透過API定製自己的展示頁面。 | 開源產品,可以進行任意改動。 |
成本計算參考
以阿里雲 為例,假設監控50個例項,估算下成本:
-
機器成本 :至少7臺機器 (3臺儲存,2臺應用,2臺Console)+資料庫,成本一個月四千以上;用ARMS,費用小於4000左右,成本略低於自建,幾乎持平。
-
運維人力成本 :ARMS無需擔心擴擴容,用多少付多少,ARMS無需運維工程師,節省人力開支。用以上開源軟體至少需要一個專業的運維工程師,中位數工資,約10000左右。
-
額外開發人力成本 :ARMS作為商業產品,每月釋出一個新的版本,不斷迭代,而且功能豐富。使用開源產品需要自己開發報警和相關運維功能,至少需要2個專業的開發工程師,中位數工資,約40000左右。
總結
在當今網際網路雲時代,企業在選擇建設自己監控系統的時候,一定要結合自身情況進行產品和架構選型,具體建議如下:
公司形態 | 使用者畫像 | 建議選型 |
---|---|---|
小型初創公司 | 以公司生存,業務發展為主,需要快速見效並且價效比高的產品。 | 以公有云Saas為主,不建議投入過多精力在監控領域的開源自建,而需要專注於核心業務發展。 |
中型成長企業 | 有較穩健業務收入和增長,希望對於技術有所發展和挑戰。 | 商業產品+開源產品,可以透過商業產品快速學習某一領域知識,再結合自身情況透過開源產品定製部分監控,如採用grafana定製監控大盤。 |
大型上市公司 | 有自建機房,業務求穩,而且在國內外有較強監管和合規需求。 | 考慮採用專有云和混合雲的商業化服務為主,可以配合廠商嘗試開源產品,部分科技型公司可選型開源產品。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31551794/viewspace-2221961/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 3-主機監控、應用監控
- 最受歡迎的Java web應用伺服器之一——Tomcat監控選型及實踐JavaWeb伺服器Tomcat
- 阿里雲在應用擴縮容下遇到的挑戰與選型思考阿里
- 物聯卡在監控功能的應用
- 使用SpringBoot Actuator監控應用Spring Boot
- Prometheus監控實戰應用Prometheus
- Java監控神器之psi-probe監控Tomcat和應用JavaTomcat
- APM效能監控軟體的監控型別服務及監控流程型別
- Spring Boot應用監控實戰Spring Boot
- Flutter異常監控 - 伍 | 關於異常監控框架設計的思考Flutter框架
- 監控系統選型,這篇不可不讀!
- 來聊聊react-native應用的健康監控React
- 使用JMX Exporter監控Rainbond上的Java應用ExportAIJava
- 行業分析| anyRTC智慧影片監控的應用行業
- Spring Boot Admin2.1應用監控Spring Boot
- beta版 tomcat 應用監控指標Tomcat指標
- 使用 Prometheus 監控 SAP ABAP 應用程式Prometheus
- SpringBoot如何利用Actuator來監控應用?Spring Boot
- 阿里NLP總監分享-NLP技術的應用與思考阿里
- 容器雲環境,你們如何監控應用執行情況? ---JFrog 雲原生應用監控實踐
- 關於前端指令碼異常監控的思考前端指令碼
- ManageEngine入選《2023 Gartner應用效能監控和可觀測性魔力象限》
- 騰訊 SNG 監控資料的創新應用
- 使用Prometheus和Grafana監控Spring Boot應用PrometheusGrafanaSpring Boot
- Spring Boot中如何使用Ostara監控應用?Spring Boot
- Windows Phone應用效能監控與分析技巧Windows
- 如何使用 HttpReports 監控 .NET Core 應用程式HTTP
- Spring Cloud Sleuth鏈路監控應用(十四)SpringCloud
- 河南大學大禮堂火災事故引發安防監控對智慧分析技術應用的思考
- zabbix應用教程:基於Nginx頁面響應的日誌監控用例Nginx
- 乾貨|EasyMR 基於 Kubernetes 應用的監控實踐
- 快來為你的 .NET 應用加個監控吧!
- 對於單頁應用中如何監聽 URL 變化的思考
- Spring Boot 揭祕與實戰(九) 應用監控篇 – 自定義監控端點Spring Boot
- 深度思考:企業IT信建立設和選型實用策略
- 使用 sentry 除錯應用和監控異常除錯
- 03 . Prometheus監控容器和HTTP探針應用PrometheusHTTP
- 在C#中如何監控其它應用全屏C#