接近完美的监控系统—普罗米修斯腾讯云开发者社区

普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统。当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的监控系统,即普罗米修斯。

普罗米修斯(下称普罗)的作者MattT.Proud在2012年加入SoundCloud公司,他从google的监控系统Borgmon中获得灵感,与另一名工程师JuliusVolz合作开发了开源的普罗,后来其他开发人员陆续加入到该项目,最终于2015年正式发布。

普罗基于Go语言开发,其架构图如下:

其中:

要采集目标(主机或服务)的监控数据,首先就要在被采集目标上安装采集组件,这种采集组件被称为Exporter。prometheus.io官网上有很多这种exporter,比如:

Consulexporter(official)Memcachedexporter(official)MySQLserverexporter(official)Node/systemmetricsexporter(official)HAProxyexporter(official)RabbitMQexporterGrokexporterInfluxDBexporter(official)

不过,普罗也提供了Push模式来进行数据传输,通过增加PushGateway这个中间商实现,你可以将数据推送到PushGateway,普罗再通过Pull的方式从PushGateway获取数据。

这就是为什么你从架构图里能看到两个Pullmetrics的原因,一个是采集器直接被Server拉取数据(pull);另一个是采集器主动Push数据到PushGateway,Server再对PushGateway主动拉取数据(pull)。

采集数据的主要流程如下:

1.Prometheusserver定期从静态配置的主机或服务发现的targets拉取数据(zookeeper,consul,DNSSRVLookup等方式)

2.当新拉取的数据大于配置内存缓存区的时候,Prometheus会将数据持久化到磁盘,也可以远程持久化到云端。

3.Prometheus通过PromQL、API、Console和其他可视化组件如Grafana、Promdash展示数据。

4.Prometheus可以配置rules,然后定时查询数据,当条件触发的时候,会将告警推送到配置的Alertmanager。

5.Alertmanager收到告警的时候,会根据配置,聚合,去重,降噪,最后发出警告。

了解普罗米修斯的数据结构对于了解整个普罗生态非常重要。普罗采用键值对作为其基本的数据结构:

Key是指标名字,Value是该指标的值,此外Metadata(元信息)也非常重要,也可称之为labels(标签信息)。这些标签信息指定了当前这个值属于哪个云区域下的哪台机器,如果没有labels,数据有可能会被丢失。

普罗米修斯的监控指标有4种基本类型:

1.Counter(计数器):

计数器是我们最简单的指标类型。比如你想统计某个网站的HTTP错误总数,这时候就用计数器。

2.Gauges

这可能是最常见的指标类型,不过它也有一定缺点:如果系统每5秒发送一次指标,普罗服务每15秒抓取一次数据,那么这期间可能会丢失一些指标,如果你基于这些数据做汇总分析计算,则结果的准确性会有所下滑。

3.Histogram(直方图)

直方图是一种更复杂的度量标准类型。它为我们的指标提供了额外信息,例如观察值的总和及其数量,常用于跟踪事件发生的规模。

4.Summary(摘要)

摘要更高级一些,是对直方图的扩展。除了提供观察的总和和计数之外,它们还提供滑动窗口上的分位数度量。分位数是将概率密度划分为相等概率范围的方法。

对比直方图:

随着分布式架构的不断发展和云解决方案的普及,现在的架构已经变得越来越复杂了。

分布式的服务器复制和分发成了日常架构的必备组件。我们举一个经典的Web架构,该架构由3个后端Web服务器组成。在该例子中,我们要监视Web服务器返回的HTTP错误的数量。

使用普罗米修斯语言,单个Web服务器单元称为实例(主机实例)。该任务是计算所有实例的HTTP错误数量。

事实上,这甚至可以说是最简单的架构了,再复杂一点,实例不仅能是主机实例,还能是服务实例,因此你需要增加一个instance_type的标签标记主机或服务。

再再复杂一点,同样的IP,可能存在于不同云区域下,这属于不同的机器,因此还需要一个cloud标签,最终该数据结构可能会变为:

cpu_usage{job=”1″,instance=”128.0.0.1″,cloud=”0″,instance_type=”0″}

如果使用过基于InfluxDB的数据库,你可能会熟悉InfluxQL。普罗米修斯也内置了自己的SQL查询语言用于查询和检索数据,这个内置的语言就是PromQL。

我们前面说过,普罗米修斯的数据是用键值对表示的。PromQL也用相同的语法查询和返回结果集。

PromQL会处理两种向量:

如针对8核CPU的使用率:

知道怎么提取数据后,可视化数据就简单了。

通过配置数据源,Grafana会使用相应的SQL拉取并绘制图表,能直接看到普罗米修斯的各个指标数据图表:

更方便的是,Grafana有很多仪表盘模板供你使用,只要import模板进行简单的配置,就能得到以下效果:

普罗米修斯非常强大,可以应用到各行各业。

5.1DevOps

为了观察整个服务体系是否在正常运转,运维非常需要监控系统。在实例的创建速度和销毁速度一样快的容器世界中,灵活配置各类容器的监控项并迅速安装启动监控是非常重要的。

5.2金融行业

金融服务巨头NorthernTrust于2017年6月选择普罗米修斯,不是为了进行应用程序的监视,而是为了更好地了解其某些硬件的运作情况。NorthernTrust使用普罗米修斯监控其平台上的750多种微服务。

5.3汽车行业

Life360是一款用于定位、行车安全和家庭成员之间共享信息的移动应用程序,他们需要给用户提供稳定的定位服务,而原有的监控方案都非常局限,无法监视到所有组件的工作状态。

因此该公司使用普罗米修斯来监视其MySQL多主群集和一个12节点的Cassandra环,该环可容纳约4TB的数据。普罗米修斯在初步测试中表现良好。

在普罗米修斯的有限部署之后,Life360报告了监控方面的巨大进步,并设想在其数据中心基础架构的其他部分中使用它。

总而言之,普罗米修斯这样的分布式监控系统,在未来的世界中用处可能会越来越大,它或许将会成为监控领域寡头式的存在,希望我们能熟悉这个工具,并在以后的架构和实践中使用它解决系统和应用监控的问题。

有任何问题,可以在公众号后台回复:加群,回答相应红字验证信息,进入互助群询问。

原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

THE END
1.小型汽车报价哪个网站最准确?小型汽车报价哪个网站最准确? 要想获取准确的小型汽车报价,以下几个网站可供参考。 汽车之家是不错的选择,它是全球访问量较大的汽车网站,能为汽车消费者提供选车、买车、用车、换车等一站式服务,其拥有权威车型库、高清图片、视频、配置、口碑、评测等内容。 易车网也是一个靠谱的网站,它为汽车用户提供丰富的互联https://www.pcauto.com.cn/ask/536987.html
2.十大汽车网站汽车网站排名汽车网站大全最新排行→Maigoo十大汽车网站 汽车网站排名 汽车网站大全【最新排行】 买车之前,一定要先了解汽车的相关参数和事项,根据自己的预算正确进行选购,国内有不少知名的汽车网站都不错,上面有详细的各款汽车评测参数、价格等,汽车网站哪个好?买购网本文为大家介绍国内十大知名汽车网站。https://m.maigoo.com/goomai/163876.html
3.中国汽车网站排名懂车帝提供中国汽车网站排名的详细内容,懂车帝是一个汽车资讯平台,懂车更懂你。我们提供最新汽车报价,汽车图片,汽车价格大全,行情、评测、导购等内容,看车选车买车就上懂车帝。https://www.dongchedi.com/tag/pgc/10346397
4.买车网哪个网站好?买车看车app排行榜买车网哪个网站好?买车看车app排行榜 现在的买车的网站繁多,比如汽车之家、易车网、大平洋汽车网、懂车帝网等。各个网站都有其独特的运营文化及体验特点,好用与否大概率只是用户自身使用体验而已。 至于买车的APP排行榜,其实并不具有权威性,但可以为你推荐几款作为参考。https://www.yoojia.com/ask/3-11669208299591920966.html
5.汽车专业评测汽车导购汽车资讯网汽车焦点网是追求传媒集团旗下专业汽车垂直网站。汽车焦点以原创为导向,测评为重点,在新闻、导购、特色栏目、车友互动等方面均鲜明的网站特色;依托车友会及公众号平台形成了颇具规模的客户群体,拥有海量的线索库。http://www.mycar58.com/
6.京东(JD.COM)京东,多快好省 我的购物车 家用电器 手机 / 运营商 / 数码 电脑 / 办公 / 文具用品 家居 / 家具 / 家装 / 厨具 男装 / 女装 / 童装 / 内衣 美妆 / 个护清洁 / 宠物 女鞋 / 箱包 / 钟表 / 珠宝 男鞋 / 运动 / 户外 房产 / 汽车 / 汽车用品 母婴 / 玩具乐器 食品 / 酒类http://jd.com/
7.十大二手汽车交易平台二手车网站哪个好二手车之家、澳康达、天天拍车、车王、优信拍等,该名录是以大数据算法、人工智能、客观真实公正统计计算为基础,通过广泛收集整理汇编全球权威资料,综合多家机构媒体和网站公布的排行榜单数据,结合专业独立的调研测评以及人为根据市场和参数条件变化的分析研究,最终基于网络投票、评价评论、点赞口碑打分等因素在网站显示https://www.cnpp.cn/china/list_5025.html
8.汽车用品app软件哪个好买汽车用品用的app合集汽车用品app软件里面为大家提供了多种不同服务,像换轮胎、做保养和汽车美容等都是可以的,同时还有专业的汽车用品给到大家,让用户能获得良好的体验,随着汽车的保有量越来越高,已经有很多的朋友想要去购买汽车配件,在市面上大家所能去挑选的软件种类也非常多,包括配件的选择和购买也会方便许多,让大家能获得良好的http://www.downcc.com/k/qcypapprj/
9.飞车云网FeiCheYun.com会 员手机号加密,有权限的人才能看到,保证数据安全 会员详情会员明细、余额及消费充值记录 斐车云?微信小程序版 电脑、手机都能用 注册后都可以轻松使用斐车云,您的数据始终是同步的。 斐车云 FeiCheYun.com 做最专业的汽车行业软件服务商。 开始免费使用https://www.feicheyun.com/
10.网易【男式双肩包】32功能区格,商务出行方便好用! 【全价猫粮】多肉零谷物,升级低便臭配方 广告 约会 花田 冬有雪 163cm baby 160cm 小仙女 164cm 辩论爱情回头草,你会吃吗? 单女向往浪漫不平凡以结婚为目标 孙珍妮一身红装美艳动人 广东主场16分大胜北京 徐杰28+5+6 https://163.com/
11.校园治安防范基本知识科普知识学习园地犯罪分子事先获取到事主购买房产、汽车等信息后,以税收政策调整,可办理退税为由,诱骗事主到ATM机上实施转账操作,将卡内存款转入骗子指定账户。 (二十二)网络购物诈骗 犯罪分子开设虚假购物网站或淘宝店铺,一旦事主下单购买商品,便称系统故障,订单出现问题,需要重新激活。随后,通过QQ发送虚假激活网址,受害人填写好淘宝https://zsb.cdutetc.cn/c/39b58b4f-c7f8-43f8-ba30-c8a4b70dd114.html
12.苹果CarPlay和百度CarLife,哪个更好用流畅度,CarPlay也比CarLife会好上不少,无论是导航地图缩放,或是APP之间的切换,都是快的,过渡动画也更流畅。 CarLife反应慢一点,时不时有些还有卡顿的情况。 语音识别功能 车载系统最重要的一台功能,就是语音识别。 开的过程中如果可以用语音来实现打电话、换导航地址,相对不就更安全吗? CarPlay语音系统肯定是用https://wd.znds.com/119302.html
13.易客运首次接入,3个月免费使用,持续的贴心服务伴您成长 公众号订票系统 及时查看线路信息,提前订票,票款及时到帐 在线支付、在线预定、电话订票多种方式订票,库存同步 公众号粉丝积累,各类运营信息精准触达,为后续发展提供持续生命力 易客运 为巴士客运行业提供最好的互联网解决方案 http://www.transrouter.com/
14.亿路行最好用的城际班车巴士汽车客运微信公众号订票管理系统T+1固定结算周期,票款及时到帐,微信直接划帐 亿路行 为巴士客运行业提供最好的互联网解决方案 产品介绍 01 微信公众号订票系统 微信订票操作 1、站点、时间、价格一目了然 2、支持在线支付或线上预定上车支付 3、一键电话联系,确保准确乘坐 4、上车出示电子票凭证,凭二维码乘车 http://www.ylxweb.com/