以前配置的ELK進行了日誌的監控,而且對elasticsearch瞭解了一些。此次配置grafana進行訪問統計的時候,發現數據源也能夠進行elasticsearch的配置,因此就使用了一下,可是發現不能按照metrics
進行分類選取。後來發現原來若是要使用這種選擇度量的方式的查詢要使用graphite
。html
若是要是爲了達到統計某個接口的訪問量圖形記錄,須要在接口處和數據源中間搭建一箇中間層,用於count接口調用次數,而後每隔固定時間打入到數據源中。java
《using-graphite-in-grafana官方文檔》git
《Graphite 系列 #2:Carbon 和 Whisper》github
《安裝和配置Graphite》是按照這個安裝的,方便快捷web
《第三十三章 metrics(1) - graphite搭建 + whisper存儲模式 + 高精度向低精度聚合方式 + 集成StatsD + 集成grafana》 主要介紹了whisper 時間精度的調整vim
此處再也不進行說明,只說明一些注意事項segmentfault
必須安裝carbon、whisper、graphite-webapp
接入grafana的時候,須要graphite-web的接口支持,因此不管是否使用graphite-web
的監控界面,都須要進行安裝dom
啓動的時候須要指定一個端口webapp
root@debian:/opt/graphite# PYTHONPATH=`pwd`/storage/whisper ./bin/run-graphite-devel-server.py --port=8085 --libs=`pwd`/webapp /opt/graphite 1>/opt/graphite/storage/log/webapp/process.log 2>&1 &
接入grafana的時候,數據源的驗證要填寫proxy
,而且用戶名和密碼是在安裝graphite的過程當中輸入的,並不是你的系統帳戶,而是要登錄graphite-web的用戶名和密碼。以下圖
經過一條命令能夠簡單地向數據源中打入數據
PORT=2003 // 這個是數據源的寫入地址 SERVER=http://192.168.186.136 echo "local.metric.random 4 `date +%s`" | nc -q0 ${SERVER} ${PORT}
第一個參數就是表明了metrics的鏈路,第二個參數表明當前這個監控鏈路的值,第三個參數表明時間。
由於在圖形上,咱們發現,在1分鐘內修改的值最終都會被聚合爲最後一個值,因此圖形上都是按照每一分鐘來打點的。咱們要提升精度,找到文件
sudo vim /opt/graphite/conf/storage-schemas.conf
# 按順序來掃描的,第一個匹配到的配置爲準,這個文件每隔60秒會被掃描一次。 # Schema definitions for Whisper files. Entries are scanned in order, # and first match wins. This file is scanned for changes every 60 seconds. # # [name] # pattern = regex # retentions = timePerPoint:timeToStore, timePerPoint:timeToStore, ... # Carbon's internal metrics. This entry should match what is specified in # CARBON_METRIC_PREFIX and CARBON_METRIC_INTERVAL settings # 這個地方我把原來的carbon的配置刪掉了,具體能夠看.example的配置 [default_1min_for_1day] pattern = .* # 這裏是每隔2s統計一次數據,保存1天 retentions = 2s:1d
修改完後保存,可是60s事後我發現沒有生效,關聯的grafana裏面的數據仍是60s的精度,執行命令來查看wsp文件的信息,發現secondsPerPoint
的值仍是60,因而果斷把這個文件刪除了。。。,而後從新打入數據,新生成的文件就變成2s了。
sunhuajie@debian:/opt/graphite/storage/whisper/local/sun$ whisper-info.py random.wsp maxRetention: 86400 xFilesFactor: 0.5 aggregationMethod: average fileSize: 518428 Archive 0 retention: 86400 secondsPerPoint: 60 points: 43200 size: 518400 offset: 28
果斷刪除後從新生成
sudo rm random.wsp
sunhuajie@debian:/opt/graphite/storage/whisper/local/sun$ whisper-dump.py random.wsp | more
打印結果以下,能夠看到每次更新數據的時候時間戳是每隔2s打點的
Meta data: aggregation method: average max retention: 86400 xFilesFactor: 0.5 Archive 0 info: offset: 28 seconds per point: 2 points: 43200 retention: 86400 size: 518400 Archive 0 data: 0: 1487747056, 122 1: 0, 0 2: 0, 0 3: 0, 0 4: 0, 0 5: 0, 0 6: 0, 0 7: 0, 0 8: 0, 0 9: 0, 0 10: 0, 0 11: 0, 0 12: 0, 0 13: 0, 0 14: 0, 0 15: 0, 0 16: 1487747088, 122 17: 1487747090, 122 18: 1487747092, 122 19: 1487747094, 122 20: 0, 0 21: 1487747098, 22 22: 1487747100, 22 23: 0, 0 24: 0, 0 25: 1487747106, 52 26: 1487747108, 52 27: 1487747110, 52 28: 0, 0 29: 0, 0 30: 0, 0 31: 1487747118, 52 32: 0, 0 33: 1487747122, 52 34: 0, 0