天天看點

應用監控的選型思考

阿裡雲應用實時監控和診斷工具 ARMS,點選 這裡

最近由于項目的緣故,經常會和同學們聊到一個話題,那就是企業如何在應用性能管理(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定制自己的展示頁面。 開源産品,可以進行任意改動。

成本計算參考

以阿裡雲

ARMS

為例,假設監控50個執行個體,估算下成本:

  • 機器成本:至少7台機器 (3台存儲,2台應用,2台Console)+資料庫,成本一個月四千以上;用ARMS,費用小于4000左右,成本略低于自建,幾乎持平。
  • 運維人力成本:ARMS無需擔心擴擴容,用多少付多少,ARMS無需運維工程師,節省人力開支。用以上開源軟體至少需要一個專業的運維工程師,中位數工資,約10000左右。
  • 額外開發人力成本:ARMS作為商業産品,每月釋出一個新的版本,不斷疊代,而且功能豐富。使用開源産品需要自己開發報警和相關運維功能,至少需要2個專業的開發工程師,中位數工資,約40000左右。

總結

在當今網際網路雲時代,企業在選擇建設自己監控系統的時候,一定要結合自身情況進行産品和架構選型,具體建議如下:

公司形态 使用者畫像 建議選型
小型初創公司 以公司生存,業務發展為主,需要快速見效并且成本效益高的産品。 以公有雲Saas為主,不建議投入過多精力在監控領域的開源自建,而需要專注于核心業務發展。
中型成長企業 有較穩健業務收入和增長,希望對于技術有所發展和挑戰。 商業産品+開源産品,可以通過商業産品快速學習某一領域知識,再結合自身情況通過開源産品定制部分監控,如采用grafana定制監控大盤。
大型上市公司 有自建機房,業務求穩,而且在國内外有較強監管和合規需求。 考慮采用專有雲和混合雲的商業化服務為主,可以配合廠商嘗試開源産品,部分科技型公司可選型開源産品。