Prometheus 与 Grafana 集成

码海织云使
• 阅读 3940
文章首发于公众号《程序员果果》
地址 : 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 与 Grafana 集成

添加Prometheus数据源

点击 “Add data soure” 选择 “Prometheus” 出现添加界面:

Prometheus 与 Grafana 集成

然后填写 Name : prometheus-datasources , URL : prometheus server 地址 , 其他配置缺省即可,然后保存。

配置

创建一个Dashboard

点击 “+” 图标创建一个Dashbaord

Prometheus 与 Grafana 集成

点击 “保存” 图标保存Dashboard,使用缺省Folder,给Dashboard起名为 “http-simulator”

Prometheus 与 Grafana 集成

展示请求率

点击 “Add panel” 图标,点击 “Choose Visualization” 选择可视化 图表的类型。

Prometheus 与 Grafana 集成

点击 “Visualization” 选择 “Graph

Prometheus 与 Grafana 集成

调整 “Legend” 显示度量标准查询返回的所有值的 最小值、最大值、平均值、当前值、总计

Prometheus 与 Grafana 集成

点击 “General” 修改 “Title” 为 “Request Rate” ,

Prometheus 与 Grafana 集成

点击 “Queries” 输入 Prometheus 表达式

sum(rate(http_requests_total{job="http-simulator"}[5m]))

Prometheus 与 Grafana 集成

可看到已经展示出了请求率变化曲线图,也显示了最小值、最大值、平均值、当前值、总计。

点击右上方的 “保存” 图标,保存对 Dahsboard 的修改。

Prometheus 与 Grafana 集成

展示实时错误率

为了展示数据明显,把 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

Prometheus 与 Grafana 集成

点击 “Queries” 输入 Prometheus 表达式

sum(rate(http_requests_total{job="http-simulator", status="500"}[5m])) / sum(rate(http_requests_total{job="http-simulator"}[5m]))

Prometheus 与 Grafana 集成

调整显示单位unit,设置为None->percent(0.0-1.0),然后调整显示值(目前为平均)为当前值(now):Options->Value->Stat,设置为Current

添加阀值和颜色,在 Coloring 下,选中Value,将Threshold设置为0.01,0.05,表示

  • 绿色:0-1%
  • 橙色:1-5%
  • 红色:>5%

Prometheus 与 Grafana 集成

添加测量仪效果,在 Gauge 下,选中Show,并将 Max设为 1

Prometheus 与 Grafana 集成

最后别忘了 “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)

Prometheus 与 Grafana 集成

减少表中数据项,选中Instant只显示当前值

Prometheus 与 Grafana 集成

隐藏Time列,在 Column Sytle 下,Apply to columns named为Time,将Type->Type设置为Hidden

Prometheus 与 Grafana 集成

将Value列重命名,添加一个Column Style,Apply to columns named设为Value,将Column Header设置为Requests/s

Prometheus 与 Grafana 集成

点击表中的 Requests/s header,让其中数据根据端点活跃度进行排序。

Prometheus 与 Grafana 集成

保存修改后的Dashbaord。

关注我

Prometheus 与 Grafana 集成

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Johnny21 Johnny21
4年前
Promtheus实战系列(一)之环境部署与搭建
一、部署prometheus,grafana和node\_exporterPrometheus开始教程:1.1环境(centos7)root@localhostprometheusunameaLinuxlocalhost.localdomain3.10
Stella981 Stella981
3年前
Prometheus 与 Grafana 集成
文章首发于公众号《程序员果果》地址:https://mp.weixin.qq.com/s/GImvM\_F2XlMjO0a5xnJuFg(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2FGImvM_F2XlMjO0a5xnJuFg)
Stella981 Stella981
3年前
Prometheus + Grafana +Alertmanager监控报警k8s集群
prometheus监控k8s集群具体版本Prometheus:v2.2.1kubernetes:v1.18.9Grafana:latestalertmanager:v0.14.0metrics:v1.3.0
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Easter79 Easter79
3年前
SpringBoot使用RedisTemplate操作Redis时,key值出现 -xac-xed-x00-x05t-x00-tb
原因分析原因与RedisTemplate源码中的默认序列化方式有关defaultSerializernewJdkSerializationRedisSerializer(classLoader!null?classLoader:this.getClass().getClassLoader()
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
码海织云使
码海织云使
Lv1
放下屠刀,立地成佛、救人一命,胜造七级浮屠。
文章
7
粉丝
0
获赞
0