精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

go-monitor: 服務質量統計分析告警工具

開發 開發工具
go-monitor基于golang開發,是一個輕量的,用于服務質量監控并實現分析告警的工具。

本文介紹了一款開源 Go 語言監控項目。

go-monitor基于golang開發,是一個輕量的,用于服務質量監控并實現分析告警的工具。go-monitor目前并不是一個獨立的服務,而是希望被大多數基于golang開發的項目如同引入一個日志組件一樣使用。

 go-monitor能做什么

通過上報接口、函數、或者是任意調用服務的耗時以及其成功狀態,go-monitor將按照設定的周期自動進行服務質量分析,統計,并輸出詳細的報告數據。

在服務質量達不到理想狀態時,go-monitor將觸發告警,并在服務質量回升時,觸發恢復通知。

go-monitor提供非常多靈活的配置,以使其在大多數場景下都可以通過參數調整來勝任服務監控的職責。

go-monitor采用無鎖隊列的方式避免并發鎖帶來的性能問題,MBP2012版本實測500萬次上報數據(go test bench)僅花費1.6s即完成所有分析統計(此前并發鎖方案為1.9s),強大的性能允許你像記錄日志一樣來使用它,并且不需要擔心IO壓力(大部分日志組件使用緩存寫盤的方式提升性能,大并發下IO壓力明顯)。

什么場景建議使用go-monitor

例如我們開發了一個web應用以對外提供服務,我們可以嵌入go-monitor,上報每一個訪問的耗時、狀態,以達到對我們整個web應用服務質量的監控,也可以在服務質量下滑甚至不可用時及時作出告警,更詳盡的,我們可以上報任何一個調用服務的狀態,例如我們所訪問的數據庫,所依賴的外部接口等,除了監控服務質量,事實上也可以通過go-monitor提供的統計數據了解任何一個服務的平均時延,大到一個完整的接口,小到一個數據庫查詢語句。而使用go-monitor的成本非常小,僅僅是在golang項目中引入go-monitor,像使用日志組件一樣,毫無負擔。

使用方法

安裝

go get github.com/blurooo/go-monitor

引入使用

go-monitor的使用非常簡單,只需調用其提供的Register函數即可注冊得到一個上報客戶端,上報客戶端暴露了Report方法用于上報服務的耗時指標:

import (
"github.com/blurooo/go-monitor"
"time"
)
// 注冊得到一個上報客戶端用于http服務質量監控
var httpReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "http服務監控",
StatisticalCycle: 100, // 每100ms統計一次服務質量
})
func main() {
t := time.NewTicker(10 * time.Millisecond)
for curTime := range t.C {
// 每10ms向http監控客戶端上報一條http服務數據,耗時0-100ms,狀態為200
httpReportClient.Report("GET - /app/api/users", uint32(curTime.Nanosecond() % 100), 200)
}
}

go-monitor將每個統計周期(100ms,默認1min)輸出一條服務質量分析報告,例如:

{"timestamp":"2018-01-24T09:10:55.190503145Z","clientName":"http服務監控","interfaceName":"GET - /app/api/users","count":10,"successCount":10,"successRate":1,"successMsAver":48,"maxMs":98,"minMs":9,"fastCount":10,"fastRate":1,"failCount":0,"failDistribution":{},"timeConsumingDistribution":{"100~150":0,"150~200":0,"200~250":0,"250~300":0,"300~350":0,"350~400":0,"400~450":0,"450~500":0,"<100":10,">500":0}}

默認的報告數據將輸出在控制臺,但允許我們定制,例如打印到日志文件或寫入數據庫等,只需傳入我們自己的OutputCaller即可:

import (
"github.com/Blurooo/go-monitor"
"time"
)
// 注冊得到一個上報客戶端用于http服務質量監控
var httpReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "http服務監控",
StatisticalCycle: 100, // 每100ms統計一次服務質量
OutputCaller: func(o *monitor.OutPutData) {
// 寫入數據庫等邏輯
...
},
})
func main() {
t := time.NewTicker(10 * time.Millisecond)
for curTime := range t.C {
// 每10ms向http監控客戶端上報一條http服務數據,耗時0-100ms,狀態為200
httpReportClient.Report("GET - /app/api/users", uint32(curTime.Nanosecond() % 100), 200)
}
}

go-monitor支持多實例,并鼓勵使用多實例。實例之間互不影響,例如在同個應用下,我們除了可以注冊一個http服務監控之外,還可以注冊一個函數耗時監控:

// 注冊得到一個上報客戶端用于http服務質量監控
var httpReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "http服務監控",
})
// 注冊得到一個上報客戶端用于函數耗時監控
var funcReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "函數耗時監控",
})

go-monitor除了分析統計之外,還幫助實現告警策略,這依賴于服務異常的判定規則。默認當上報code為200時,認為成功。當然,在大多數應用中,如此簡單的判定規則通常難以勝任各類復雜的場景。所以go-monitor允許我們使用白名單的方式定制自己的一套規則:

// 注冊得到一個上報客戶端用于http服務質量監控
var httpReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "http服務監控",
CodeFeatureMap: map[int]monitor.CodeFeature {
0: {
Success: true,
Name: "成功",
},
10000: {
Success: false,
Name: "服務不可用",
},
}
})

CodeFeatureMap中允許聲明該狀態碼是否成功,并指定其名稱(使用在統計報告中),除此之外的code都將認為失敗。

除了使用白名單機制來決斷code之外,go-monitor也提供了一個適應性更強的方式去判定(優先于CodeFeatureMap):

// 注冊得到一個上報客戶端用于http服務質量監控
var httpReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "http服務監控",
GetCodeFeature: func(code int) (success bool, name string) {
if code == 0 {
return true, "成功"
} else {
return false, "失敗"
}
},
})

在每個統計周期內,成功率達不到期望的值時,該條目將被標記,在連續標記若干個統計周期之后,go-monitor便會觸發成功率不達標告警,告警數據明確指明了具體的監控服務和告警條目,并附帶連續被標記為成功率不達標的幾次統計數據,默認打印到控制臺,但同樣允許我們定制,我們可以按照自己的意愿處理,例如發送郵件通知相關人等:

// 注冊得到一個上報客戶端用于http服務質量監控
var httpReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "http服務監控",
AlertCaller: func(clientName string, interfaceName string, alertType monitor.AlertType, recentOutputData []monitor.OutPutData) {
// 處理相關告警
}
})

除了成功率不達標告警,go-monitor也提供了耗時不達標告警,精確到每個監控條目都允許定制耗時達標參數。

// 一個上報客戶端全局的耗時達標值
var httpReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "http服務監控",
DefaultFastTime: 1000, // 設定http上報客戶端的默認耗時達標為1000ms內
})
// 具體到一個條目的耗時標準
httpReportClient.AddEntryConfig("GET - /app/api/users", monitor.EntryConfig {
FastLessThan: 100, // 設定接口"GET - /app/api/users"的耗時達標值為100ms以內
})

go-monitor同時也支持服務質量恢復通知,與告警的策略類似,當出現告警狀態時,后續若干次連續標記為服務達標的統計數據將觸發恢復通知,我們只需要定制RecoverCaller即可:

var httpReportClient = monitor.Register(monitor.ReportClientConfig {
Name: "http服務監控",
RecoverCaller: func(clientName string, interfaceName string, alertType monitor.AlertType, recentOutputData []monitor.OutPutData) {
// 處理恢復通知
},
})

還有更多靈活的配置在go-monitor中得到支持,歡迎大家在使用中發現它們,更歡迎有意向的開發人參與到這份工作來,在設想中,希望go-monitor可以脫胎為一個完善的獨立服務,以支持任何系統接入(包括前后端上報),并提供盡可能多的現成方案,例如統計數據輸出到數據庫,郵箱告警,接口通知等。在此拋磚引玉了:??https://github.com/blurooo/go-monitor??

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2019-09-18 09:05:58

技術SQLDevOps

2015-08-19 09:40:51

統計分析

2010-06-01 14:30:06

Mrtg教程

2010-06-07 17:26:41

Mrtg教程

2012-09-25 14:18:51

Linux桌面環境

2016-12-01 17:33:52

微信

2010-12-30 09:44:10

C#Attribute

2015-02-27 09:53:06

Countly

2016-12-26 09:49:39

httpstatcurl分析工具

2024-11-07 11:10:34

Python腳本統計分析

2009-06-29 15:25:21

SessionJSP

2015-01-05 17:28:02

JMP

2011-03-14 14:41:59

大數據數據中心

2011-05-27 13:56:04

網站流量

2014-06-04 09:42:41

工業控制系統APT

2016-10-18 14:13:21

數據統計模型

2014-10-28 14:59:42

手游付費行為數據統計分析

2013-09-10 14:50:12

數組面試題

2021-06-10 09:53:04

數據統計統計分析數據

2011-05-27 14:03:22

網站流量
點贊
收藏

51CTO技術棧公眾號

久久福利在线| 欧美日韩第一页| 欧美 国产 小说 另类| 熟女丰满老熟女熟妇| 永久免费毛片在线播放不卡| 久久99精品一区二区三区| 国产 日韩 欧美 综合| 日韩精品一卡二卡| 久久草在线视频| 欧美性感美女h网站在线观看免费| 久久久精品一区| 五月天开心婷婷| 9999在线视频| 国产精品免费久久| 精品国产福利| 国产精品久久久久久久久久久久久久久久久久 | 麻豆成人综合网| 久久久久久国产免费| 欧洲美熟女乱又伦| www国产精品| 欧美日韩成人高清| 日日橹狠狠爱欧美超碰| av在线官网| 国产精品午夜免费| 久久久久久欧美精品色一二三四| 久久精品国产亚洲av麻豆色欲| 成人全视频在线观看在线播放高清| 久久伊99综合婷婷久久伊| 91精品国产自产在线观看永久| 久久久久久亚洲中文字幕无码| 亚洲1234区| 午夜精品视频在线观看| 欧美xxxx吸乳| 调教视频免费在线观看| 国产亚洲制服色| 久久综合狠狠综合久久综青草| 九九九在线观看| 亚洲最大黄网| 最新91在线视频| 999热精品视频| 激情中国色综合| 色噜噜夜夜夜综合网| 亚洲 欧美 综合 另类 中字| 91亚洲天堂| 中文字幕一区二区三区色视频| 91免费综合在线| 中文av免费观看| 日韩国产成人精品| 国产成人一区二区三区小说| 国产精品视频久久久久久久| 99国产精品| 色综合五月天导航| 玖玖爱免费视频| 欧美在线网址| 欧美精品激情blacked18| 久久国产精品二区| 欧美午夜不卡影院在线观看完整版免费| 亚洲激情小视频| 中文字幕a在线观看| 美国成人xxx| 精品亚洲精品福利线在观看| www.久久av| 国产欧美日韩精品一区二区三区| 制服丝袜成人动漫| 久久6免费视频| 深夜福利一区| 亚洲精品99久久久久| 亚洲熟女一区二区三区| 加勒比色老久久爱综合网| 日韩精品欧美激情| 精品成人av一区二区三区| 成人久久久久| 久久亚洲电影天堂| xxxx 国产| 亚洲影视在线| 国产在线视频91| 精品国产999久久久免费| 丁香六月久久综合狠狠色| 黑人中文字幕一区二区三区| 六十路在线观看| 中文字幕一区二区在线播放| 日韩一级免费看| 欧美私密网站| 欧美日韩在线播放一区| www.51色.com| 久久香蕉网站| 在线视频日本亚洲性| www.av免费| 在线播放日韩| 国产欧美亚洲视频| 亚洲免费视频网| 国产亚洲欧洲一区高清在线观看| 国产精品一区二区三区观看| 日本不卡免费播放| 亚洲色图一区二区| 91丨porny丨探花| 偷拍视频一区二区三区| 日韩一二三区不卡| 非洲一级黄色片| 欧美.www| 奇门遁甲1982国语版免费观看高清 | 日韩一级片播放| 亚洲高清国产拍精品26u| 亚洲国产欧美一区二区三区同亚洲| 中文字幕成人免费视频| 日本欧美三级| 久久成人精品电影| 亚洲婷婷综合网| 国产91高潮流白浆在线麻豆| 水蜜桃亚洲精品| 欧美另类老肥妇| 日韩一区二区麻豆国产| 国产白嫩美女无套久久| 亚洲自拍偷拍网| 国产精品美女av| 污污网站在线免费观看| 亚洲乱码中文字幕| 在线观看国产一级片| 色婷婷狠狠五月综合天色拍| 欧美大片在线看免费观看| 最新黄色网址在线观看| 99综合电影在线视频| 中文字幕一区二区三区精彩视频| 激情成人四房播| 欧美中文字幕一二三区视频| 佐佐木明希电影| 日韩在线综合| 国产成人精品a视频一区www| 蜜桃av噜噜一区二区三区麻豆| 成人av免费在线| 99精品视频网站| 黄色成人在线观看网站| 亚洲欧美成人一区二区在线电影| 在线 丝袜 欧美 日韩 制服| 欧美二区不卡| 成人欧美一区二区三区在线湿哒哒| 国产精品视频一二区| 国产盗摄一区二区| 日本美女一区二区| 九9re精品视频在线观看re6| 青青草原国产在线| 51精品视频一区二区三区| av黄色在线免费观看| 久久激情视频| 你懂的视频在线一区二区| 高清电影在线免费观看| 欧美一区二区三区视频免费播放| 激情小说欧美色图| 91精品高清| 91九色视频导航| 米奇777四色精品人人爽| 欧美日本免费一区二区三区| 手机看片国产日韩| 免费在线一区观看| 亚洲国产欧美不卡在线观看 | 成人动漫视频在线| 欧美激情亚洲天堂| 影音先锋欧美激情| 欧美精品videossex性护士| 国产男男gay体育生白袜| 国产精品福利影院| 天天av天天操| 欧美日韩国产高清| 成人羞羞视频免费| a国产在线视频| 日韩精品视频免费在线观看| 亚洲国产成人无码av在线| 91麻豆123| 手机看片福利盒子久久| 日韩精品1区| 91视频国产高清| 羞羞的视频在线看| 欧美精品一区在线观看| 亚洲婷婷综合网| 国产精品久久午夜| 18深夜在线观看免费视频| 亚洲激情视频| 色爱区成人综合网| 96视频在线观看欧美| 欧美日韩成人在线播放| 欧美在线一卡| 91精品国产aⅴ一区二区| 日本高清www免费视频| 国产偷国产偷精品高清尤物| 999在线观看| 亚洲高清成人| 亚洲国产精品综合| 大桥未久女教师av一区二区| 日本久久久久久久| 直接在线观看的三级网址| 亚洲精品一区二区三区婷婷月| 久久久精品视频免费| 久久欧美中文字幕| 91亚洲一区二区| 欧美日韩综合| 亚洲国产成人不卡| 美女一区2区| 成人免费福利视频| 桃色av一区二区| 播播国产欧美激情| 日韩av免费观影| 在线综合亚洲欧美在线视频| www.日本精品| 亚洲久草在线视频| 色噜噜噜噜噜噜| 成人黄色在线视频| 天天色综合天天色| 亚洲乱码视频| 中文字幕在线观看一区二区三区| 精品国产美女a久久9999| 久久久视频精品| 在线观看二区| 亚洲黄色在线看| 一区二区三区免费在线视频| 天天影视网天天综合色在线播放| 国产传媒第一页| 国产在线不卡一区| 国产成人无码av在线播放dvd| 图片婷婷一区| 超碰97在线资源| 狂野欧美性猛交xxxx| 国产suv精品一区二区| 国产99re66在线视频| 精品少妇一区二区30p| 最新国产在线观看| 亚洲香蕉伊综合在人在线视看| 影音先锋国产资源| 日本高清视频一区二区| 日韩精品一区二区在线播放| 一区二区三区四区高清精品免费观看| 91欧美一区二区三区| 奇米精品一区二区三区在线观看一 | 99视频免费看| 欧美性xxxxxxxx| 国产成人无码专区| 日韩欧美国产成人| 国产又黄又猛又粗又爽| 天天影视网天天综合色在线播放| 少妇愉情理伦三级| 久久久青草青青国产亚洲免观| 一区二区三区入口| 免费黄网站欧美| 色国产在线视频| 久久99精品久久久久久久久久久久| xxxxxx在线观看| 欧美黄色aaaa| 欧美日韩dvd| 欧美视频不卡| 99色这里只有精品| 亚洲巨乳在线| 女人和拘做爰正片视频| 日韩午夜av| 国产中文字幕免费观看| 亚洲欧美成人| av无码精品一区二区三区| 久久一二三四| 国产又大又黄又猛| 久久99久久99精品免视看婷婷| 亚洲美免无码中文字幕在线| 亚洲激情一区| 国产美女三级视频| 日本欧美一区二区| www.欧美激情.com| 成人毛片在线观看| 97人妻天天摸天天爽天天| 久久只精品国产| 1024手机在线观看你懂的| 国产欧美日韩在线| 黄色精品视频在线观看| 亚洲亚洲人成综合网络| 国产成人免费观看视频| 日韩欧美在线一区| 中文字幕日韩国产| 精品少妇一区二区三区日产乱码| 在线观看免费观看在线| 欧美精品粉嫩高潮一区二区| 国产黄色大片网站| 亚洲精品动漫久久久久| 成人性生交大片免费看午夜| 久热国产精品视频| 高清毛片在线观看| 国产精品日韩专区| 超碰精品在线| 日韩精品一区二区三区四区五区 | 亚洲国产精品日韩| 欧美激情第10页| 天天摸天天碰天天添| 激情五月激情综合网| 精品少妇人妻av一区二区三区| 精品一区二区av| 影音先锋人妻啪啪av资源网站| 国产成人综合网| 91中文字幕永久在线| 综合在线观看色| 丰满人妻老熟妇伦人精品| 91精品国产综合久久精品麻豆 | 欧美高清性xxxxhdvideosex| 久久资源中文字幕| 国产精品12345| 青椒成人免费视频| 久久无码专区国产精品s| 国产亚洲午夜高清国产拍精品| 无码人妻一区二区三区一| 2020国产精品自拍| 国产成人久久久久| 日本韩国一区二区| 亚洲高清精品视频| 日韩中文字幕在线| 松下纱荣子在线观看| 99久久久久国产精品免费| 成人亚洲一区二区| 男人和女人啪啪网站| 国产成人精品一区二| 91成人精品一区二区| 一本色道a无线码一区v| 亚洲精品国产精品乱码不卡| xvideos国产精品| 国产成人精品123区免费视频| 国产精品永久免费| 精品一区免费| 久久久性生活视频| 国产福利一区二区三区视频 | 亚洲国产合集| 国产91porn| 国产在线视频不卡二| 免费黄色在线网址| 色94色欧美sute亚洲线路一久 | 亚洲精品永久免费视频| 亚洲精品欧美日韩专区| 日韩精品免费一区二区三区| 99999精品视频| 26uuu亚洲| 日韩手机在线观看| 亚洲电影免费观看| 成年网站在线视频网站| 99超碰麻豆| 国内精品久久久久久久影视麻豆 | 免费黄色网址在线| 亚洲国产精品一区二区三区| 欧美1234区| 国产精品日韩二区| 亚洲黑丝一区二区| 熟妇高潮一区二区| 亚洲一本大道在线| 六月丁香色婷婷| 77777亚洲午夜久久多人| 日韩mv欧美mv国产网站| 免费一级特黄毛片| 99re6这里只有精品视频在线观看| www..com.cn蕾丝视频在线观看免费版 | 欧美日本一道本| 国产区在线看| 亚洲最大成人免费视频| 欧美激情亚洲| 男女一区二区三区| 精品久久久久久亚洲国产300| 96亚洲精品久久久蜜桃| 久久天天躁狠狠躁夜夜av| 国产亚洲高清一区| 国产自产在线视频| 成人av电影在线网| 波多野结衣啪啪| 中文字幕亚洲欧美日韩在线不卡| 不卡专区在线| 精品一区二区视频| 日韩二区三区在线观看| 欧美亚洲色综久久精品国产| 欧美人与性动xxxx| 丁香花在线影院| 欧美精品亚洲| 久久国产精品免费| 久久久久久久久久99| 亚洲精品美女在线观看| 日本精品另类| 日韩不卡视频一区二区| av亚洲精华国产精华精| 中文字幕乱伦视频| 久久精品成人一区二区三区| 岛国成人av| 深夜黄色小视频| 亚洲国产美国国产综合一区二区| 一区二区三区亚洲视频| 久久久久久国产精品美女| 国产成人1区| 一级淫片在线观看| 欧美日韩国产丝袜美女| 麻豆视频在线观看免费网站| 国产精品一区二区三区在线| 日韩国产欧美一区二区三区| 欧美日韩免费做爰视频| 亚洲视频免费一区| 日韩最新av| 在线免费观看视频黄| 亚洲高清久久久| 91精品大全| 精品国产乱码久久久久久88av| 精品成人久久| 成人无码精品1区2区3区免费看 | 一级特黄aaa大片| 久久久这里只有精品视频|