grafana 使用graphite metrics 來統計數據量採樣

以前配置的ELK進行了日誌的監控,而且對elasticsearch瞭解了一些。此次配置grafana進行訪問統計的時候,發現數據源也能夠進行elasticsearch的配置,因此就使用了一下,可是發現不能按照metrics進行分類選取。後來發現原來若是要使用這種選擇度量的方式的查詢要使用graphitehtml

說明

若是要是爲了達到統計某個接口的訪問量圖形記錄,須要在接口處和數據源中間搭建一箇中間層,用於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的用戶名和密碼。以下圖
    clipboard.png

  • 經過一條命令能夠簡單地向數據源中打入數據

    PORT=2003 // 這個是數據源的寫入地址
    SERVER=http://192.168.186.136
    echo "local.metric.random 4 `date +%s`" | nc -q0 ${SERVER} ${PORT}

    第一個參數就是表明了metrics的鏈路,第二個參數表明當前這個監控鏈路的值,第三個參數表明時間。
    clipboard.png

調整whisper的時間精度

由於在圖形上,咱們發現,在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

查看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
相關文章
相關標籤/搜索