Metrics實時監(jiān)控類庫

系統(tǒng)開發(fā)到一定的階段贱鼻,線上的機器越來越多,就需要一些監(jiān)控了滋将,除了服務器的監(jiān)控邻悬,業(yè)務方面也需要一些監(jiān)控服務。[Metrics](http://metrics.dropwizard.io/3.1.0/getting-started/)作為一款監(jiān)控指標的度量類庫随闽,提供了許多工具幫助開發(fā)者來完成自定義的監(jiān)控工作父丰。

Metrics的基本工具

Metrics提供了五個基本的度量類型:

  1. Gauges(度量)
  2. Counters(計數(shù)器)
  3. Histograms(直方圖數(shù)據(jù))
  4. Meters(TPS計算器)
  5. Timers(計時器)

MetricsMetricRegistry是中心容器,它是程序中所有度量的容器掘宪,所有新的度量工具都要注冊到一個MetricRegistry實例中才可以使用蛾扇,盡量在一個應用中保持讓這個MetricRegistry實例保持單例。

Meters TPS計算器

TPS計算器這個名稱并不準確魏滚,Meters工具會幫助我們統(tǒng)計系統(tǒng)中某一個事件的速率镀首。比如每秒請求數(shù)(TPS),每秒查詢數(shù)(QPS)等等栏赴。這個指標能反應系統(tǒng)當前的處理能力蘑斧,幫助我們判斷資源是否已經(jīng)不足。Meters本身是一個自增計數(shù)器须眷。

通過MetricRegistry可以獲得一個Meter

|

<pre style="margin: 0px; tab-size: 4; white-space: pre-wrap;">public Meter requestMeter(MetricRegistry metrics) {
return metrics.meter("request");
}</pre>

|

在請求中調(diào)用mark()方法,來增加計數(shù)沟突,我們可以在不同的請求中添加不同的Meter花颗,針對自己的系統(tǒng)完成定制的監(jiān)控需求。

|

<pre style="margin: 0px; tab-size: 4; white-space: pre-wrap;">@RequestMapping("/hello")
@ResponseBody
public String helloWorld() {
requestMeter.mark();
return "Hello World";
}</pre>

|

Counter 計數(shù)器

Counter的本質(zhì)就是一個AtomicLong實例惠拭,可以增加或者減少值扩劝,可以用它來統(tǒng)計隊列中Job的總數(shù)庸论。

通過MetricRegistry也可以獲得一個Counter實例。

|

<pre style="margin: 0px; tab-size: 4; white-space: pre-wrap;">public Counter pendingJobs(MetricRegistry metrics) {
return metrics.counter("requestCount");
}</pre>

|

在需要統(tǒng)計數(shù)據(jù)的位置調(diào)用inc()dec()方法棒呛。

|

<pre style="margin: 0px; tab-size: 4; white-space: pre-wrap;">// 增加計數(shù)
pendingJobs.inc();
// 減去計數(shù)
pendingJobs.dec();</pre>

|

Reporter 報表

Metrics通過報表聂示,將采集的數(shù)據(jù)展現(xiàn)到不同的位置,這里比如我們注冊一個ConsoleReporterMetricRegistry中,那么console中就會打印出對應的信息簇秒。

|

<pre style="margin: 0px; tab-size: 4; white-space: pre-wrap;">public ConsoleReporter consoleReporter(MetricRegistry metrics) {
return ConsoleReporter.forRegistry(metrics)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build();
}

</pre>

|

除此之外Metrics還支持JMX鱼喉、HTTPSlf4j等等趋观,可以訪問 http://metrics.dropwizard.io/3.1.0/manual/core/#reporters 來查看Metrics提供的報表扛禽,如果還是不能滿足自己的業(yè)務,也可以自己繼承Metrics提供的ScheduledReporter類完成自定義的報表類皱坛。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末编曼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子剩辟,更是在濱河造成了極大的恐慌掐场,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贩猎,死亡現(xiàn)場離奇詭異熊户,居然都是意外死亡,警方通過查閱死者的電腦和手機融欧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門敏弃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人噪馏,你說我怎么就攤上這事麦到。” “怎么了欠肾?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵瓶颠,是天一觀的道長。 經(jīng)常有香客問我刺桃,道長粹淋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任瑟慈,我火速辦了婚禮桃移,結果婚禮上,老公的妹妹穿的比我還像新娘葛碧。我一直安慰自己借杰,他們只是感情好,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布进泼。 她就那樣靜靜地躺著蔗衡,像睡著了一般纤虽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绞惦,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天逼纸,我揣著相機與錄音,去河邊找鬼济蝉。 笑死杰刽,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的堆生。 我是一名探鬼主播专缠,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼淑仆!你這毒婦竟也來了涝婉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤蔗怠,失蹤者是張志新(化名)和其女友劉穎墩弯,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寞射,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡渔工,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了桥温。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片引矩。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖侵浸,靈堂內(nèi)的尸體忽然破棺而出旺韭,到底是詐尸還是另有隱情,我是刑警寧澤掏觉,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布区端,位于F島的核電站,受9級特大地震影響澳腹,放射性物質(zhì)發(fā)生泄漏织盼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一酱塔、第九天 我趴在偏房一處隱蔽的房頂上張望沥邻。 院中可真熱鬧,春花似錦羊娃、人聲如沸谋国。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芦瘾。三九已至,卻和暖如春集畅,著一層夾襖步出監(jiān)牢的瞬間近弟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工挺智, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祷愉,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓赦颇,卻偏偏與公主長得像二鳄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子媒怯,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 系統(tǒng)開發(fā)到一定的階段订讼,線上的機器越來越多,就需要一些監(jiān)控了扇苞,除了服務器的監(jiān)控欺殿,業(yè)務方面也需要一些監(jiān)控服務。Metr...
    whthomas閱讀 34,310評論 12 47
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理鳖敷,服務發(fā)現(xiàn)脖苏,斷路器,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • Metrics是一個Java庫定踱,可以對系統(tǒng)進行監(jiān)控棍潘,統(tǒng)計一些系統(tǒng)的性能指標。 比如一個系統(tǒng)后臺服務崖媚,我們可能需要了...
    雨林木風博客閱讀 16,821評論 0 18
  • 本文章翻譯自http://www.rabbitmq.com/api-guide.html亦歉,并沒有及時更新。 術語對...
    joyenlee閱讀 7,636評論 0 3
  • 為期一周的江蘇銀行總行培訓轉瞬即逝至扰,這里留下了我們靜靜聆聽前輩教導的身影鳍徽,這里留下了我們最真最燦爛的笑容...
    ToTlllll閱讀 953評論 0 1