全托管文章智能采集系统(腾讯云监控产品经理谢莹莹:如何使用托管Prometheus监控)
优采云 发布时间: 2022-04-02 22:04全托管文章智能采集系统(腾讯云监控产品经理谢莹莹:如何使用托管Prometheus监控)
谢莹莹
腾讯云监控产品经理,毕业于哈尔滨工业大学,硕士。目前主要负责腾讯云Prometheus监控服务和Grafana可视化服务的产品工作,在to B商业产品领域有丰富的经验。
前言
Prometheus 是最受欢迎的开源监控系统,更新迭代速度最快,社区最活跃。相信大部分人或多或少都听说过,也有不少人跃跃欲试。本文将带你用最少的时间打开普罗米修斯新世界的大门。
本文由三部分组成:
1. 普罗米修斯介绍。
2. 自建还是托管,如何选择?
3. 简单演示如何使用托管 Prometheus 监控。
普罗米修斯简介
什么是普罗米修斯?
Prometheus 是一个开源的监控系统,类似于 Kubernetes,Prometheus 的灵感来自 Google 的 Borgman 监控系统,Kubernetes 也是从 Google 的 Borg 演变而来的。Prometheus 于 2012 年启动,由 SoundCloud 内部工程师开发,于 2015 年 1 月发布。2016 年 5 月,成为继 Kubernetes 之后第二个正式加入云原生计算基金会(CNCF)的项目。在最常见的 Kubernetes 容器管理系统中,Prometheus 通常用于监控。
Prometheus的应用场景?
可观测性监控分为:指标、链接、日志。Prometheus 提供的是指标监控。
从监控层来看,Prometheus 几乎涵盖了业务监控/应用层监控/中间件监控/系统层监控。结合告警和Grafana,提供一站式全方位监控系统,帮助企业快速发现和定位问题,缓解故障对业务的影响。
如何选择托管或自建?
基于开源系统的自建Prometheus,学习成本、使用成本和后期维护成本都比较高。近两年,以AWS、腾讯、阿里巴巴为代表的云厂商纷纷出现在市场上提供托管的Prometheus监控服务,不仅给企业带来了更多的选择,同时也增加了前期研究和后期决策的成本在某种程度上。自建和托管的优缺点是什么?哪种解决方案适合我的业务?
一、自己搭建Prometheus会遇到什么问题
自建Prometheus的优势在于可以根据公司自身情况灵活配置定制化的监控方案。然而,随着越来越多的企业开始构建自己的 Prometheus 监控解决方案,一些无法回避的突出问题也逐渐浮现。麻烦的生意。
1. 对于中小企业来说,使用成本高
自建Prometheus的使用成本包括机器资源成本和人工成本,其中最重要的是人工成本。人工成本包括:
由于中小企业的运维团队规模较小,一般不超过5人,有的甚至只有一两个人,构建和维护一套Prometheus监控服务显然难度很大。
2. 针对大型企业,扩展性差,容易出现性能瓶颈,大型企业或快速成长的中型企业,在业务发展初期,自建Prometheus监控,但随着快速增长业务量越大,资源越多,投入越多,对监控的要求也越高。自建的 Prometheus 开始暴露出可扩展性差、性能瓶颈的问题,让企业运维面临巨大挑战。
二、托管Prometheus相对于自建的优势
1. 开箱即用
2. 低成本
3. 更具可扩展性
数据存储容量不受限制,不限于本地磁盘。可以结合腾讯云自研的分片调度技术,实现动态伸缩,满足用户弹性需求,支持负载均衡。解决开源 Prometheus 无法横向扩展的痛点。
4. 高性能
轻量级、低资源消耗,Agent只占用不到1G的内存即可完成数据采集。
5. 更可靠
结合腾讯云的云存储服务和自身的复制能力,可用性更强,系统中断次数减少。
6. 主动服务
多种开源增强监控和操作能力,如健康检查、代理管理等。
如何使用托管普罗米修斯?
一、先决条件:
1. 购买一个Prometheus实例(需要和被监控的云服务器在同一个vpc下,可以实现网络互通) i. 新建 Prometheus 实例 登录 Prometheus 监控服务控制台:新建 Prometheus 实例。
[点击查看大图]
ii. 实例规格、网络选择
选择同一个vpc网段,保证Prometheus可以和需要采集的云服务器网段一致,这样数据就可以采集了。可根据业务上报量选择实例规格。
[点击查看大图]
Prometheus 实例价目表:
[点击查看大图]
2. 安装代理 i。在 Prometheus 控制台中创建一个新的 Agent
Prometheus Monitoring --> Agent Management --> 在Agent中新建,输入Agent名称并保存。
[点击查看大图]
ii. 根据命令在云服务器上安装Agent
Prometheus 监控 --> 代理管理 --> 进入代理 --> 安装指南
根据页面上的安装指南,运行命令将Agent安装在上报数据的同一个云服务器上。
[点击查看大图]
安装成功后,执行以下命令查看Agent状态
systemctl status prometheus
[点击查看大图]
二、访问云服务器的基本指标
1. 下载并安装 node_expoter
在要上报的云服务器上,下载安装node_expoter(采集exporter为基础指标数据)
可以从 Prometheus 开源官网下载:
#node_exporter
也可以直接执行以下命令下载解压:
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gztar -xvf node_exporter-1.3.1.linux-amd64.tar.gz
文件目录如下:
2. 运行node_exporter 采集基本监控数据
一世。执行 node_exporter
./node_exporter
如下图所示,基本监控数据已经成功到达采集。
[点击查看大图]
ii. 基本监控数据可以通过如下命令暴露在9100端口
curl 127.0.0.1:9100/metrics
如下图为执行命令后看到的暴露出来的指标监控数据。
[点击查看大图]
3. 添加爬取任务
进入 Prometheus 监控 --> 代理管理 --> 抓取任务 --> 新建
在爬取任务管理页面新建爬取任务。如下所示:
[点击查看大图]
爬取任务的参考配置如下:
job_name: cvm_node_exporterhonor_timestamps: falsescrape_interval: 30smetrics_path: /metricsscheme: httpstatic_configs:- targets: - 114.132.244.109:9100注意:targets 下的 IP 地址要改成自身 CVM 监控数据的地址。
4. 检查数据是否上报成功
Prometheus 控制台 --> Grafana 图标,点击进入 Grafana。
[点击查看大图]
如上图,去探索搜索{job="cvm_node_exporter"}看看有没有数据。如果有数据,则报告成功。
5. 配置仪表板界面
Dashboard界面中的每个产品都会有一些现成的json文件,可以直接导入。
官网地址:
一世。下载仪表板文件
然后点击搜索node_exporter,选择最新的Dashboard。
[点击查看大图]
ii. 导入Dashboard的json文件
Prometheus 控制台 --> 基本信息 --> Grafana 地址,点击进入 Grafana。
Grafana 控制台 --> 创建 --> 导入 --> 在上传 JSON 文件中上传仪表板文件。
[点击查看大图]
三、访问云服务器业务层指标
Prometheus根据不同的监控场景提供了四种指标类型:Counter、Gauge、Historgram和Summary。Prometheus 社区提供多种开发语言的 SDK。每种语言的使用方法基本相似,主要是开发语言语法不同。下面主要以Go为例,使用Counter指标类型上报自定义监控指标数据。
柜台
count类型,数据是一个单调递增的指标,服务重启后会重置。计数器可用于监控请求/异常/用户登录/订单的数量等。
如何通过Counter监控订单数量:
package order
import ("github.com/prometheus/client_golang/prometheus""github.com/prometheus/client_golang/prometheus/promauto")
// 定义需要监控 Counter 类型对象var ( opsProcessed = promauto.NewCounterVec(prometheus.CounterOpts{ Name: "order_service_processed_orders_total", Help: "The total number of processed orders", }, []string{"status"}) // 处理状态)
// 订单处理func makeOrder() { opsProcessed.WithLabelValues("success").Inc() // 成功状态// opsProcessed.WithLabelValues("fail").Inc() // 失败状态
// 下单的业务逻辑}
例如,使用 rate() 函数获取订单的增长率:
rate(order_service_processed_orders_total[5m])
采集数据
完成相关业务自定义监控跟踪点后,发布应用,通过Prometheus即可抓取监控指标数据。采集完成后等待几分钟,即可在集成Prometheus监控服务的Grafana中查看业务指标监控数据。
[点击查看大图]
看完这篇文章,我对自建平台的性能和功能深感困扰,或者你早就想拥有一个功能齐全的托管Prometheus平台。你想自己试试吗?试一试搭建的全过程,也试一试腾讯云托管 Prometheus 的出色性能?
在腾讯云春季采购大促之际,Prometheus托管服务为您提供了阅读文章并跃跃欲试后体验服务的绝佳机会:
本次大促,Prometheus新用户首月可配置基础1包,价格低至30折!也就是说,以 200 出头的价格,你就可以拥有一个高可用、高可靠的 Prometheus 平台。
当然,我们也没有忘记一直支持和喜爱我们的老用户。所有实例包均可配置 20% 的折扣,使用期限为 1 至 12 个月。为您的运维平台在来年的顺利运行打下坚实的基础。
我们的活动仅在 3 月 31 日结束。在这温暖的春日里,你还在等什么?点击【阅读原文】详细了解我们的特价优惠!
希望我们的服务能给您的系统带来稳定良好的体验!
联系我们
如有任何问题,欢迎加入云监控技术交流群~