Prometheus 是一套開源的系統監控報警框架。它啓發於 Google 的 borgmon 監控系統,由工做在 SoundCloud 的 google 前員工在 2012 年建立,做爲社區開源項目進行開發,並於 2015 年正式發佈。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,成爲受歡迎度僅次於 Kubernetes 的項目。html
強大的多維度數據模型:java
Java Hotspot虛擬機監控指標收集緩存
JVM緩衝區監控指標。
bufferPool指標是從MBean獲取的,BufferPoolsExports構造函數:服務器
public BufferPoolsExports() { try { final Class<?> bufferPoolMXBeanClass = Class.forName("java.lang.management.BufferPoolMXBean"); bufferPoolMXBeans.addAll(accessBufferPoolMXBeans(bufferPoolMXBeanClass)); getName = bufferPoolMXBeanClass.getMethod("getName"); getMemoryUsed = bufferPoolMXBeanClass.getMethod("getMemoryUsed"); getTotalCapacity = bufferPoolMXBeanClass.getMethod("getTotalCapacity"); getCount = bufferPoolMXBeanClass.getMethod("getCount"); } catch (ClassNotFoundException e) { LOGGER.fine("BufferPoolMXBean not available, no metrics for buffer pools will be exported"); } catch (NoSuchMethodException e) { LOGGER.fine("Can not get necessary accessor from BufferPoolMXBean: " + e.getMessage()); } }
collect()
方法返回buffer pool指標收集器收集的全部指標信息。架構
jvm緩衝區使用狀況,包括Code Cache(編譯後的代碼緩存,不一樣版本的jvm默認大小不一樣)、PS Old Gen(老年代)、PS Eden Space(伊甸園)、PS Survivor Space(倖存者)、PS Perm Gen(永久代)。
框架
給定jvm的估算緩衝區大小。這個metrics數據沒有收集到,可能和jvm的版本有關,部署服務器使用的是jdk 6。jvm
給定jvm的已使用緩衝區大小。這個metrics沒有收集到,可能和jvm的版本有關,部署服務器使用的是jdk 6。分佈式
提供jvm類加載指標。
jvm類加載指標數據由ClassLoadingMXBean
提供。函數
當前jvm已加載類數量。
測試
從jvm運行開始加載的類的數量,這是一個Counter指標,遞增。
jvm運行後卸載的類數量,這是一個Counter指標。生產環境一直是0。
提供jvm 垃圾收集器指標,指標數據有GarbageCollectorMXBean列表提供。
這是一個Summary指標,與Histogram相似,能夠對指標數據進行採樣。
內存分配狀況指標,這個指標因java版本不兼容而沒有作監控。
jvm 內存區域指標。
jvm已用內存區域。
Committed (bytes) of a given JVM memory area
jvm內存區域的最大字節數
jvm內存區域的初始化字節數
jvm內存池使用狀況
Committed bytes of a given JVM memory pool.
jvm內存池最大數
jvm內存池初始化數
jvm線程區域監控。
jvm當前線程數。
jvm後臺線程數。
jvm線程峯值
jvm總啓動線程數量,Counter指標。
死鎖線程數量
Cycles of JVM-threads that are in deadlock waiting to acquire object monitors
當前線程的狀態
jvm版本信息
版本信息,能夠看到生產環境使用的是:1.6.0.29-b11
全部prometheus 客戶端共有的標準指標。
用戶和系統的總cpu使用時間
Start time of the process since unix epoch in seconds
打開的文件描述符數量
看支持打開的最大文件描述符數量
todo
(190918:登陸發現有提醒,終於有個覺悟,全部的todo都是不可能完成的坑。。。。。。)