- 深入淺出Prometheus:原理、應用、源碼與拓展詳解
- 陳曉宇 楊川胡 陳嘯編著
- 486字
- 2019-06-19 15:57:26
1.3 中間件監控
中間件指系統軟件和應用軟件之間的連接軟件,無論是在分布式系統中還是在單體系統中,中間件都發揮著重要的作用。
常用的中間件主要有以下幾類。
◎ 消息中間件,例如RabbitMQ、Kafka。
◎ Web服務中間件,例如Tomcat、Jetty。
◎ 緩存中間件,例如Redis、Memcached。
◎ 數據庫中間件,例如MySQL、PostgreSQL。
中間件的運行狀態會直接影響服務程序的運行狀態,很多系統的性能都受中間件的限制。Web 服務的并發上限在很大程度上取決于數據庫的并發能力,所以中間件監控既可以用于應用調優,也可以在高并發或者大流量的情況下及時反饋。
中間件監控需要針對不同中間件的特點和屬性分別監控,目前并沒有統一的標準和規范。例如,針對 Kafka 的性能監控通常需要采集 Kafka 集群的 Topic 個數、Broker 數據分區數量、日志 Offset值和生產消費流量等指標;針對 Redis的性能監控通常需要采集 Redis 的內存使用量、連接數和緩存命中率等指標。解決方案通常是分別開發一個數據收集 Agent,該 Agent 將采集中間件的性能指標并將其統一轉化成 JSON、文本或者其他監控系統能識別的數據格式,然后匯總到監控中心。Prometheus針對不同的中間件開發了對應的監控代理,例如Kafka exporter、MySQL server exporter、Apache exporter、Redis exporter等exporter,它們負責采集這些中間件的特定指標,并提供HTTP查詢接口。
推薦閱讀
- Java語言程序設計
- ASP.NET Core:Cloud-ready,Enterprise Web Application Development
- 小程序實戰視頻課:微信小程序開發全案精講
- Rust編程從入門到實戰
- Julia機器學習核心編程:人人可用的高性能科學計算
- MySQL數據庫基礎實例教程(微課版)
- JavaCAPS基礎、應用與案例
- Creating Stunning Dashboards with QlikView
- Python Interviews
- Mastering Docker
- Professional JavaScript
- Java程序設計
- 計算機常用算法與程序設計教程(第2版)
- HTML5+CSS+JavaScript深入學習實錄
- Learning Zimbra Server Essentials