如何做服務監控

來源:互聯網
上載者:User
服務端對每一次的介面調用次數,回應時間等這些資料進行監控,收集分析。
服務端類似給手機app提供的服務端介面。
能想到的方案如下:
1.最直接的方法肯定是在每一個方法裡面都加統計的代碼。
2.用aop,在不侵入原代碼的情況下,做統計
3.可以在程式記錄日誌,然後在分析日誌的方法。

希望有經驗者能講講利弊跟推薦一下到底用哪種合適。

回複內容:

服務端對每一次的介面調用次數,回應時間等這些資料進行監控,收集分析。
服務端類似給手機app提供的服務端介面。
能想到的方案如下:
1.最直接的方法肯定是在每一個方法裡面都加統計的代碼。
2.用aop,在不侵入原代碼的情況下,做統計
3.可以在程式記錄日誌,然後在分析日誌的方法。

希望有經驗者能講講利弊跟推薦一下到底用哪種合適。

1 2 都可以
3和1 2 不衝突

像你這種服務端統計介面調用情況的其實也不用aop,在統一的一個入口位置加一個統計代碼即可,這個入口能擷取到當前調用的介面名,然後計時,等介面返回後停止計時得到耗時資料以及是否成功及失敗的錯誤記錄檔,然後上報(可以UDP上報[不阻塞業務,推薦],TCP上報[可能阻塞,不推薦],寫日誌[有大量磁碟IO,不推薦])

發你個寫好的統計服務端,包含了上報介面,udp上報,web頁面展示
https://github.com/walkor/workerman-statistics
這個是個php的json-rpc ,整合了這個統計系統
https://github.com/walkor/workerman-JsonRpc

系統層面: cacti zappix 等久可以監控起來 當然可以做到郵件手機簡訊閥值警示
業務應用程式層面: 使用goaccess 可視化分析nginx日誌 的確終端下亮瞎眼... goaccess官網

如果前端是nginx可以用工具分析access.log做統計,寫個指令碼隔一段時間統計然後寫入資料庫即可

寫個統計的interceptor,通過kafaka或寫入日誌,通過flume同步到資料平台分析

直接在API介面處理請求的時候非同步寫log,再使用另外的解析系統來分析,並提供介面展示或者提供API介面給原來的程式調用查看

tomcat 內建的訪問日誌可以列印調用某個url的時間,然後基於這個訪問日誌統計就可以了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.