grafana 入門

grafana是什麼

Grafana 是基於JS開發的,功能齊全的度量儀表盤和圖形編輯器,幫助開發人員發現問題的工具html

如何使用

安裝

docker

#下載並運行容器
#可是這樣啓動的容器數據會由於重啓而丟失因此官方推薦下面的方式來啓動
docker run -d --name=grafana -p 3000:3000 grafana/grafana

#建立持久化volume
docker run -d -v /var/lib/grafana --name grafana-storage busybox:latest

#從volume得到數據啓動
docker run \
  -d \
  -p 3000:3000 \
  --name=grafana \
  --volumes-from grafana-storage \
  grafana/grafana

deb

wget https://grafanarel.s3.amazonaws.com/builds/grafana_3.1.0-1468321182_amd64.deb
sudo dpkg -i grafana_3.1.0-1468321182_amd64.deb
sudo update-rc.d grafana-server defaults 95 10

基本概念

  • datasource
    數據的存儲源,它定義了將用什麼方式來查詢數據展現在grafana上面,不一樣的datasource擁有不一樣的查詢語法,grafana支持多種類型例如es,influxdb,sql

  • dashboard
    row的集合chrome

  • row
    panel的集合docker

  • panel
    最小的可視化單位,支持多種數據展現方式,table,graphshell

  • playlist
    dashboard的集合,當控制檯數量太多時,用來快速在目標羣中切換json

建立一個datasource

clipboard.png

這個的time field有些坑。。。在設置_mapping的時候須要注意必需要date類型(date類型的默認值爲strict_date_optional_time||epoch_millis),由於grafana會使用epoch_millis做爲默認格式去查詢 time fieldapi

epoch_millis 最長13位的時間戳
strict_date_optional_time 支持格式app

選擇panel

選擇合適的類型elasticsearch

query

使用query_string的查詢語法編輯器

{
  "_index" : "prestashop-2016.09.26",
  "_type" : "fluentd",
  "_id" : "AVdj0EsYixMKEZLuBfYW",
  "_score" : 1.0,
  "_source" : {
    "type" : "request",
    "app" : "en",
    "data" : {
      "clientip" : "108.162.215.126",
      "referer" : "https://www.easyacc.com/",
      "agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36",
      "http_method" : "get",
      "uri" : "/580-easyacc-grid-design-multi-functional-bluetooth-speaker.html",
      "os" : "mac",
      "browser" : "google chrome"
    },
    "@timestamp" : "2016-09-26T08:06:16+08:00"
  }
}

聚合

document
有兩個重要的概念 buckets 和metrics

  • buckets (桶)
    用來過濾出數據中的某一類集合,相似於sql中的group by和where的組合,例如找出班級中大於14歲的男學生這就是一個嵌套的buckets

  • metrics (指標)
    和sql中得count,max,avg同樣

grafana中默認的聚合:

date histogram 按照時間段來分桶

  • interval
    時間分段的單位,支持從年到分

  • min doc count
    es默認將不會顯示爲0數據的桶,這個參數能夠強制顯示

  • field
    通常是時間字段

time range

有時候可能出現數據源對了,query對了,可是就是沒數據的狀況,這個時候須要檢查時間設置。
這裏有一個全局時間(分左邊絕對時間範圍和右邊的相對時間範圍),能夠設置全部panel的時間查詢範圍

clipboard.png

若是設置的是相對,每一個panel能夠在Time Range裏面覆蓋dashbord的相對時間,不管dashbord裏面怎麼改,該panel的查詢範圍不變

若是dashbord設置的是絕對時間,則不能夠被覆蓋

panel建立完以後你的grafana就能夠啓程了~

相關文章
相關標籤/搜索