背景
随着 2015 年由谷歌牵头成立 CNCF (云原生计算基金会),云原生的概念逐步深入人心。云原生应用的三大特征:容器化封装,动态管理,面向微服务。
以一个典型的电商服务关键路径(登录 -> 浏览详情页 -> 下单)为例:
图中所有的服务和组件都运行在腾讯云上。
1. 下单关键路径上 3 个服务均为容器化服务,且通过微服务架构实现。
2. 服务均运行在 TKE (腾讯云容器服务) 上。
针对图中的云原生服务,CNCF (云原生计算基金会) 推荐的监控治理方案是可观测性建设。其三大支柱为:指标,链路,日志。如下图:
其中,指标监控推荐方案为 Prometheus。对比开源方案,腾讯云 Prometheus 监控服务的核心优势是什么呢?
1. 开箱即用,低成本。无需自行搭建,节省开发运维成本。
2. 高可靠性。依靠云存储服务,保证服务的高可靠性。
3. 可扩展性。水平可扩展。
当然,Prometheus 的开放性,兼容性也得到很好的继承,如下图所示。
接下来,我们以上述部署在 TKE 上的电商服务为例讨论业务关注的核心监控场景,以及在腾讯云 Prometheus 监控服务中的实现。
监控场景
01
业务关键指标监控
业务关键运营指标
关键业务运营指标监控。针对该路径(登录 -> 浏览详情页 -> 下单),梳理出核心的业务运营指标:登录用户数,订单数。
核心业务指标重点监控,告警的触发级别和响应优先级都最高。
业务关键性能指标
关键质量指标监控。关键路径(登录 -> 浏览详情页 -> 下单)的接口性能指标:
请求量,请求处理延时,成功率。
02
业务巡检一体化大盘监控
值班巡检大盘。可以一览从业务层 -> 组件层 -> 系统层的监控数据,从整体上把控业务质量,避免数据孤岛。
如何在腾讯云 Prometheus 监控服务中实现?
01
业务关键指标监控 (以请求延时指标为例)
关键业务指标监控通过 Prometheus 自定义指标监控来实现。这里以关键性能指标 请求延时 为例来说明落地的核心步骤:
1. 指标定义。定义要监控的指标,请求延时 http_request_latency。
2. 数据抓取。配置托管 Prometheus 抓取 请求延时 指标的数据。
3. 面板展示。在托管 Prometheus 集成的 Grafana 中配置 请求延时 指标的查询面板。
核心步骤 1 - 请求延时 指标定义
在业务侧定义好请求延时指标 (Go 语言):http_request_latency。为了分析不同接口的延时,增加接口路径的 TAG "path"。也可以增加更多的 TAG 信息,有助于问题的分析。
在 8080 端口暴露指标:
将指标上报服务部署在 TKE:
注:
1. Prometheus go client 提供了完善的指标接入库:
https://github.com/prometheus/client_golang
2. 更多语言 SDK 可参考:
https://cloud.tencent.com/document/product/1416/56027
核心步骤 2 - 请求延时 指标抓取
在腾讯云 Prometheus 监控服务上配置抓取任务。
抓取部署在 TKE 上暴露的服务。
核心步骤 3 - 请求延时 面板展示
在腾讯云 Prometheus 监控服务集成的 Grafana 上配置上报数据统计效果。可以根据分位数查看请求的整体延时情况。
02
业务巡检一体化大盘监控
值班巡检大盘可以从整体上把控业务质量,避免数据孤岛。这里以业务监控数据 (接口延时指标 http_request_latency) 和业务部署的 TKE 组件指标数据来说明。
一体化大盘 - 业务关键指标监控数据
在腾讯云 Prometheus 监控服务集成的 Grafana 上拉取接口的请求延时数据。
一体化大盘 - 业务基础资源监控数据
在腾讯云 Prometheus 监控服务集成的 Grafana 上拉取业务部署的 TKE 组件指标数据。
结语
本文讨论了云原生业务业务监控 & 一体化巡检大盘两个关键场景,并给出了腾讯云 Prometheus 监控服务下的解决方案。关注云原生,关注云监控,提升业务质量。
腾讯云 Prometheus 监控服务 618 限时促销,企业新用户低至 35 折,点击文末阅读原文立即购买。
如果您有任何疑问,欢迎添加云监控团队微信号,
备注 prometheus,加群讨论:)