一文搞懂PrometheusGrafana(含腾讯云上实战)腾讯云开发者社区

用开车作为例子:车子本身是一个极其复杂的系统,而当你的车在高速上以120公里的速度狂奔时出现了噪音,你是不可能这时候边开车边打开发动机盖子来查原因的。通常来说,好一点的车会有内置电脑,在车子出问题时,告诉你左边轮胎胎压有问题,或是发动机缺水了之类。而这些检测,就是系统监控的一个例子。

对于车辆本身,驾驶员关心的指标如下:

通过仪表盘,你不一定能清楚地了解车子出问题的具体原因,但至少可以给你一个大概的方向。比如说,如果水温很高时出现了问题,你大概率可以尝试加点水降温来尝试是否解决问题。

是一个监控仪表系统,由GrafanaLabs公司开源的的一个系统监测(SystemMonitoring)工具。帮助用户简化监控的复杂度,用户只需要提供需要监控的数据,它就可以生成各种可视化仪表。同时它还支持报警功能,可以在系统出现问题时通知用户。并且Grafana不仅仅只支持Prometheus作为查询的数据库,它还支持如下:

虽然Grafana可以从多种数据(如Prometheus、MySQL/PostgreSQL、OpenTSDB)等等中获取数据,不过Prometheus天生就是为了监控而生,所以我们用的最多的还是Prometheus。这也是我们的标配哦~

在Prometheus的架构设计中,Prometheus并不直接服务监控特定的目标,就比如我们监控linux系统,Prometheus不会自己亲自去监控linux的各项指标。其主要任务负责数据的收集,存储并且对外提供数据查询支持。

因此为了能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Exporter是一个相对开放的概念,不是专门指某一个程序。它可以是一个独立运行的程序,独立于监控目标以外(如NodeExporter程序,独立于操作系统,却能获取到系统各类指标)。也可以是直接内置在监控目标中的代码(如在项目代码层面接入普罗米修斯API,实现指标上报)。总结下来就是,只要能够向Prometheus提供标准格式的监控样本数据,那就是一个Exporter。

而Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

看完本图,大家肯定还是对图中的各种内容比较疑惑。不过大家不用着急,我会在下一个章节给大家解释~

现在我们有了以下3个部分:

在上一节中,我们访问NodeExporter暴露的HTTP服务,获取到了一系列的监控指标。而这些监控指标便是Prometheus可以采集到当前主机所有监控指标的样本数据。这里再把图放一遍,并进行解释。

即样本可表示为:

在形式上,所有的指标(Metric)都通过如下格式标示:

标签反映了当前样本的特征维度,通过这些维度Prometheus可以对样本数据进行过滤,聚合等。标签的名称只能由ASCII字符、数字以及下划线组成并满足正则表达式a-zA-Z_*。

其中以_作为前缀的标签,是系统保留的关键字,只能在系统内部使用。标签的值则可以包含任何Unicode编码的字符。

完全匹配:

PromQL支持使用=和!=两种完全匹配模式:

不完全匹配:

例如,通过以下表达式可以选择最近5分钟内的所有样本数据:

支持的聚合函数有:

sum(求和)min(最小值)max(最大值)avg(平均值)stddev(标准差)stdvar(标准方差)count(计数)count_values(对value进行计数)bottomk(后n条时序)topk(前n条时序)quantile(分位数)使用聚合操作的语法如下:

([parameter,])[without|by()]根据上面的函数,我们就可以通过聚合函数进行如下查询:

登陆腾讯云,在“云产品”处搜索“普罗米修斯”,进入Prometheus服务页面购买服务。特别注意单个普罗米修斯服务只能在单个vpc(私有网络)下使用的,所以购买时一定要确认清楚自己需要监控的服务所在的vpc,即对应下图框内“网络”的第一个下拉框。而第二个“子网”下拉框,则描述了新购买的普罗米修斯服务所安装的子网。

Grafana密码按照平台要求设置并牢记,这个密码在后面登陆Grafana用户界面用得上。

在部署我们的TSF服务时,需要注意将普罗米修斯上报端口(即容器端口)映射到主机端口上,这样普罗米修斯才能获取到对应的上报数据。

接下来就需要到容器中安装监控组件啦。

第一步,进入腾讯云”控制台“,在“云产品”处搜索tke(容器服务),进入容器服务集群列表。这时候找到在TSF(腾讯微服务平台)上创建的集群对应的同名容器集群,点击集群名称,再点击“基本信息”,往下找到“内网访问”,开启它,并按照描述在访问机上配置域名。

第二步,回到普罗米修斯控制台,点击新购买的Prometheus服务的名称,进入到服务详情。点击“集成容器服务“,找到和之前在TSF服务中创建的“集群”同名的“容器集群”,点击任务栏右侧的“安装”按钮,安装监控服务。

ps:这一步就相当于在安装数据源,也就相当于前文提到的NodeExporter这个角色。不过在腾讯云上,安装的东西会更多,让我们能监控更多内容~

第二步,在新版本里,我们只需要在“容器服务”-“Prometheus监控”-“集群监控”里将我们的集群与Prometheus进行关联即可。这里要注意的是集群与Prometheus需要在同一个VPC(私有网络)之下,如果不同的私有网络可能会有额外费用,需要额外设置等。

在上面的步骤执行完后,我们的集群”监控状态“变成了“已安装”,继续点击集群名称,在“服务发现”Tab页点击“新建”按钮。接下来按下图提示来新建服务发现吧。服务发现的上报端口,也就是我们在“TSF服务部署”那一步中开放的容器端口。

在新版本里,集群监控不仅支持yaml方式,还支持了简单版的采集配置,yaml方式依旧可以按照上面的方式类似,这里再介绍一下配置的方式。如下图,点击“数据采集配置”。

选择“自定义监控”-“新增”按钮,就可以通过简单的配置实现自定义的监控啦~

至此,只要对应部署组的服务中上报了metrics(基于golang代码里接入普罗米修斯,代码层面实现指标上报),且容器创建时,开放了上报端口,则数据就会被采集到Prometheus。后续我们在Grafana上选择Prometheus作为数据源,便能获取到服务的监控信息。

在Prometheus服务页面点击下图红框内按钮,进入Grafana。账号为admin,密码为之前购买普罗米修斯时设置的Grafana密码。

进入Grafana后,按照以下步骤建立数据源:

首先明确一下Grafana中的几个组件:

它们之间的关系如下图所示:

在理解了这几个基本概念后,加上我们之前学习到的PromQL,我们就可以开始创建仪表盘啦~

在Dashboards上点击“addnewpannel”进入仪表盘编辑模式,在这里我们找到自己服务,并找到下挂的Metrics(指标),选择后即可在pannel上展示出对应的数据,如果还需要展示别的指标,可以点击下方的“+Query”按钮,即可继续添加指标。如果需要对指标进行操作,比如聚合计算,那么我们只需要在Metrics后的文本栏中对内容进行修改。编辑完成后,点击保存,即得到了一个仪表盘~

THE END
1.仪表盘图标全解析,安全驾驶必备知识!? 定期检查 :养成定期检查仪表盘的习惯,确保车辆状态良好。 ? 手册对照 :遇到不认识的图标,不妨查阅车辆使用手册,快速了解含义。 掌握这些仪表盘图标,让你的驾驶更加安心、顺畅!记得分享给身边的朋友,一起成为驾驶小达人吧!https://www.yoojia.com/article/9095425274478070186.html
2.汽车仪表盘上这么多故障灯,到底都是什么意思?你真的了解吗?加载中… 评论 赞同 收藏分享 加载中… 接下来播放 自动播放 02:15 上飞车台,下深水池,用遥控开风神L7靠谱吗? 零炭计划1.9万次播放 14:43 一百多万,买飞机! 袁启聪9.5万次播放 12:46 极氪7X、智界R7拆车挑战Model Y!30万级新王能否翻盘? 懂车帝原创236万次播放 01:06 仰望U8这回又出息了 #仰望U8挑战刀锋https://www.dongchedi.com/ugc/article/7188053023758189094
3.仪表盘上有哪些报警标识?近日更新汽车仪表盘上的各种报警标识对于确保行车安全至关重要。以下是常见的几种报警标识及其含义: 1、发动机自检提示灯:仪表盘上出现的黄色图标就是发动机自检指示灯。它的主要功能是显示发动机的工作状态。在您启动汽车时,该指示灯会自动亮起,并在汽车启动后熄灭。这个指示灯对于确保发动机正常运行非常重要。 http://www.jueerxing.com/news/307205.html
4.汽车仪表盘上符号的含义车门状态指示灯,显示车门是否完全关闭的指示灯,车门打开或未能关闭时,相应的指示灯亮起,提示车主车门未关好,车门关闭后熄灭。注意:行车时关好车门。开车前检查车门报警灯是否熄灭。 释疑:行车中ABS标识灯尽量不要亮 有着多年驾车经验的车友王先生介绍,打火前车辆仪表盘出现常亮的ABS信号灯,那是电脑检测ABS刹车系统正https://www.360doc.cn/article/1627471_485815636.html
5.科学网—机动车仪表盘灯及汽车开关符号为了让更多的用车朋友能够清楚了解相关图标所代表的功能,我们将从汽车主要的5个系统给大家介绍常见的仪表盘标识信息。5个系统分别为: 1、车辆基本情况提示标识, 2、灯光信息提示标识, 3、变速箱/车辆行驶状态提示标识, 4、电子安全装置/四驱系统标识, 5、智能钥匙提示标识。 https://wap.sciencenet.cn/home.php?mod=space&do=blog&id=678409
6.最新汽车仪表盘指示灯图标大全(图解)即使是老司机开车好几年了,如果让他开一辆现在科技的新车,往往很多汽车上的表盘图标看不懂是什么意思,更不用说是什么功能了。新司机就更加迷糊了,连常用的也不知道,所以汽车维修技术网整理了一下最新汽车仪表盘图标大全,汽车仪表盘图标基本上都齐全了,大家如果觉得有用就收藏起来吧。 http://www.qcwxjs.com/qicheyibiao/7121.html