新聞中心
之前給研發(fā)團隊簡單做了一次技術(shù)分享,主要講了為什么我們要自己做監(jiān)控,監(jiān)控的指標(biāo)維度,監(jiān)控基本流程及常見監(jiān)控工具介紹,最后如何從零快速開始搭建一套自己的監(jiān)控工具。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、鎮(zhèn)原網(wǎng)站維護、網(wǎng)站推廣。
工具介紹
1. Statsd 是一個使用Node開發(fā)網(wǎng)絡(luò)守護進程,它的特點是通過UDP(性能好,及時掛了也不影響主服務(wù))或者TCP來監(jiān)聽各種數(shù)據(jù)信息,然后發(fā)送聚合數(shù)據(jù)到后端服務(wù)進行處理。常見支持的「Graphite」,「ElasticaSearch」,「InfluxDB」 等等 ,它集成了各種語言的客戶端API,這里我們使用了jsocol/pystatsd: A Python client for statsd進行數(shù)據(jù)收集。
2. Graphite 是一套Python寫的開源編程接口,主要是用來收集服務(wù)器的及時狀態(tài),在這里主要作為statsd的數(shù)據(jù)后端。分為了三個子項目
- carbon 守護進程,接收StatsD發(fā)送過來的原始統(tǒng)計數(shù)據(jù)。
- whisper 用來存儲統(tǒng)計數(shù)據(jù)的時間序列數(shù)據(jù)庫。
- graphite webapp 用來圖形化展示統(tǒng)計數(shù)據(jù)的web項目
3. Grafana 使用Go開發(fā),可以在界面上設(shè)計調(diào)整自己的統(tǒng)計圖表,支持多重報警,可定制化。
安裝
在這里我使用了[synthesize(https://github.com/obfuscurity/synthesize)進行快速安裝Graphite和Statsd包,這里面需要注意安裝數(shù)據(jù)在 **/opt/graphite ** 目錄下面。這里面我們安裝啟動了
- service carbon-cache start # statsd數(shù)據(jù)處理后會進入中轉(zhuǎn)
- service memcached start # 緩存
- service collectd start # 收集服務(wù)負(fù)載可選
- service apache2 start # 這可以通過使用nginx替換
- service statsite start # statsd的后端服務(wù)
這里面需要單獨啟動graphite-web應(yīng)用,端口啟動:0.0.0.0:8080,后面配置數(shù)據(jù)源需要使用。
- cd /opt/graphite/
- sudo ./run-graphite-devel-server.py /opt/graphite/
Grafana數(shù)據(jù)包可以通過手動下載安裝也可以通過apt-get 安裝
- sudo apt-get install grafana
啟動之后訪問3000端口就能看到這樣一個頁面,默認(rèn)的賬號密碼:admin,admin可以通過配置github或者google登錄。
login
數(shù)據(jù)收集
Python端我們使用statsd進行數(shù)據(jù)統(tǒng)一打點到到監(jiān)控服務(wù)器收集
- >>> import statsd
- >>> c = statsd.StatsClient('localhost', 8125)
- >>> c.incr('foo') # Increment the 'foo' counter.
- >>> c.timing('stats.timed', 320) # Record a 320ms 'stats.timed'.
- 這里面我們通過Python把數(shù)據(jù)收集到statsite,通過Graphite Web服務(wù)來進行展示。
配置Graphite
進入Grafana后臺,進行配置點擊 「Data Sources」進行配置Graphite的數(shù)據(jù)(來自前端statsd收集)。
data_source
接下來配置對應(yīng)的數(shù)據(jù)展示:
add-graph
到此基本的數(shù)據(jù)配置就完了,恭喜你擁有了一個完整的監(jiān)控系統(tǒng)。
為了方便理解這里我補充一下,數(shù)據(jù)從應(yīng)用內(nèi),添加agent,把應(yīng)用的時間性能數(shù)據(jù)通過statsd收集發(fā)送到服務(wù)端,通過carbon統(tǒng)計,whisper存儲最后展示在graphite,其中這里面我們用grafana來替代了graphite原生的UI展示,也就是我們題圖的效果。
新聞名稱:實用|從0到1搭建Web性能監(jiān)控系統(tǒng)
文章地址:http://www.dlmjj.cn/article/dhegcpi.html


咨詢
建站咨詢
