Grafana 是一個可視化儀表盤,它擁有美觀的圖標和佈局展現,功能齊全的儀表盤和圖形編輯器,默認支持 CloudWatch、Graphite、Elasticsearch、InfluxDB、Mysql、PostgreSQL、Prometheus、OpenTSDB 等做爲數據源。上一篇咱們經過Prometheus 自帶的 Web UI 展現 Prometheus 抓取的數據,本篇將利用 Grafana 更加直觀展現的出來。程序員
docker run -d --name=grafana -p 3000:3000 grafana/grafana
訪問 http://localhost:3000/ 帳號 admin 密碼 admin ,登陸後界面以下:sql
點擊 「Add data soure」 選擇 「Prometheus」 出現添加界面:docker
而後填寫 Name : prometheus-datasources , URL : prometheus server 地址 , 其餘配置缺省便可,而後保存。shell
點擊 「+」 圖標建立一個Dashbaordjson
點擊 「保存」 圖標保存Dashboard,使用缺省Folder,給Dashboard起名爲 「http-simulator」微信
點擊 「Add panel」 圖標,點擊 「Choose Visualization」 選擇可視化 圖表的類型。app
點擊 「Visualization」 選擇 「Graph」curl
調整 「Legend」 顯示度量標準查詢返回的全部值的 最小值、最大值、平均值、當前值、總計編輯器
點擊 「General」 修改 「Title」 爲 「Request Rate」 ,佈局
點擊 「Queries」 輸入 Prometheus 表達式
sum(rate(http_requests_total{job="http-simulator"}[5m]))
可看到已經展現出了請求率變化曲線圖,也顯示了最小值、最大值、平均值、當前值、總計。
點擊右上方的 「保存」 圖標,保存對 Dahsboard 的修改。
爲了展現數據明顯,把 http-simulator 服務的錯誤率改到40%
curl -H 'Content-Type: application/json' -X PUT -d '{"error_rate": 1}' http://127.0.0.1:8080/error_rate
有了上面配置經驗,這裏就不說的太細了。
點擊 「Add panel圖標」 ,添加一個新的 Pannel,點擊 「Choose Visualization」 選擇可視化 圖表的類型,點擊 「Singlestat」 圖標添加一個 Singlestat,修改 Panel Title 爲 Live Error Rate
點擊 「Queries」 輸入 Prometheus 表達式
sum(rate(http_requests_total{job="http-simulator", status="500"}[5m])) / sum(rate(http_requests_total{job="http-simulator"}[5m]))
調整顯示單位unit,設置爲None->percent(0.0-1.0),而後調整顯示值(目前爲平均)爲當前值(now):Options->Value->Stat,設置爲Current
添加閥值和顏色,在 Coloring 下,選中Value,將Threshold設置爲0.01,0.05,表示
添加測量儀效果,在 Gauge 下,選中Show,並將 Max設爲 1
最後別忘了 「Control + S」 或 點擊 右上方的 「保存」 圖標,保存修改後的Dashbaord。
添加一個新的 Pannel,點擊 「Choose Visualization」 選擇可視化 圖表的類型,點擊 「Table」 圖標添加一個 Table,修改 Panel Title 爲 Top requested
點擊 「Queries」 輸入 Prometheus 表達式
sum(rate(http_requests_total{job="http-simulator"}[5m])) by (endpoint)
減小表中數據項,選中Instant只顯示當前值
隱藏Time列,在 Column Sytle 下,Apply to columns named爲Time,將Type->Type設置爲Hidden
將Value列重命名,添加一個Column Style,Apply to columns named設爲Value,將Column Header設置爲Requests/s
點擊表中的 Requests/s header,讓其中數據根據端點活躍度進行排序。
保存修改後的Dashbaord。
歡迎掃碼或微信搜索公衆號《程序員果果》關注我,關注有驚喜~