共计 2003 个字符,预计需要花费 6 分钟才能阅读完成。
文章首发于公众号《程序员果果》
地址 : https://mp.weixin.qq.com/s/GI…
简介
Grafana 是一个可视化仪表盘,它拥有美观的图标和布局展示,功能齐全的仪表盘和图形编辑器,默认支持 CloudWatch、Graphite、Elasticsearch、InfluxDB、Mysql、PostgreSQL、Prometheus、OpenTSDB 等作为数据源。上一篇我们通过 Prometheus 自带的 Web UI 展示 Prometheus 抓取的数据,本篇将利用 Grafana 更加直观展示的出来。
安装 Grafana
通过 docker 容器安装 Grafana
docker run -d --name=grafana -p 3000:3000 grafana/grafana
访问 http://localhost:3000/ 账号 admin 密码 admin,登录后界面如下:
添加 Prometheus 数据源
点击“Add data soure”选择“Prometheus”出现添加界面:
然后填写 Name : prometheus-datasources , URL : prometheus server 地址 , 其他配置缺省即可,然后保存。
配置
创建一个 Dashboard
点击“+”图标创建一个 Dashbaord
点击“保存”图标保存 Dashboard,使用缺省 Folder,给 Dashboard 起名为“http-simulator”
展示请求率
点击“Add panel”图标,点击“Choose Visualization”选择可视化 图表的类型。
点击“Visualization”选择“Graph”
调整“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,表示
- 绿色:0-1%
- 橙色:1-5%
- 红色:>5%
添加测量仪效果,在 Gauge 下,选中 Show,并将 Max 设为 1
最后别忘了“Control + S”或 点击 右上方的“保存”图标,保存修改后的 Dashbaord。
展示 Top requested 端点
添加一个新的 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。
关注我