指标存储概述

最近更新时间:2024-08-08 15:20:21

我的收藏

基本概念

指标(Metric)

用于衡量系统和应用程序性能及运行情况的度量值,例如 CPU 利用率、内存使用率、访问吞吐量、响应耗时和响应成功率等。指标一般会定时产生,每一个时刻都会有一个值,随着时间变化形成一个序列,这个序列一般被称为时间序列(time series),简称时序。
日志服务(Cloud Log Service,CLS)兼容 Prometheus 指标数据模型,将相同指标名称(metric name)、相同维度(labels)的包含时间戳的指标数据保存为时间序列(time series)。在时间序列中每个数据点称为样本(sample),样本则由时间戳及样本值构成。
例如系统在2020/12/30 15:35:23.123时某一接口的请求总量就是一个样本,其数据如下:
requests_total{method="POST", handler="/messages"} 217
其由如下几部分构成:
指标名称:requests_total
维度:{method="POST", handler="/messages"} ,即接口名称为 messages,请求方式为 POST。
时间戳:2020/12/30 15:35.123
样本值:217
被监控系统实际上往往同时有多个指标,其在某一时刻具备大量不同的指标名称和维度,例如 Nginx 监控指标如下:
# HELP nginx_http_requests_total The total number of HTTP requests
# TYPE nginx_http_requests_total counter
nginx_http_requests_total 10234

# HELP nginx_http_requests_duration_seconds The HTTP request duration in seconds
# TYPE nginx_http_requests_duration_seconds histogram
nginx_http_requests_duration_seconds_bucket{le="0.005"} 2405
nginx_http_requests_duration_seconds_bucket{le="0.01"} 5643
nginx_http_requests_duration_seconds_bucket{le="0.025"} 7890
nginx_http_requests_duration_seconds_bucket{le="0.05"} 9234
nginx_http_requests_duration_seconds_bucket{le="0.1"} 10021
nginx_http_requests_duration_seconds_bucket{le="0.25"} 10234
nginx_http_requests_duration_seconds_bucket{le="0.5"} 10234
nginx_http_requests_duration_seconds_bucket{le="1"} 10234
nginx_http_requests_duration_seconds_bucket{le="2.5"} 10234
nginx_http_requests_duration_seconds_bucket{le="5"} 10234
nginx_http_requests_duration_seconds_bucket{le="10"} 10234
nginx_http_requests_duration_seconds_bucket{le="+Inf"} 10234
nginx_http_requests_duration_seconds_sum 243.56
nginx_http_requests_duration_seconds_count 10234

# HELP nginx_http_connections Number of HTTP connections
# TYPE nginx_http_connections gauge
nginx_http_connections{state="active"} 23
nginx_http_connections{state="reading"} 5
nginx_http_connections{state="writing"} 7
nginx_http_connections{state="waiting"} 11

# HELP nginx_http_response_count_total The total number of HTTP responses sent
# TYPE nginx_http_response_count_total counter
nginx_http_response_count_total{status="1xx"} 123
nginx_http_response_count_total{status="2xx"} 9123
nginx_http_response_count_total{status="3xx"} 456
nginx_http_response_count_total{status="4xx"} 567
nginx_http_response_count_total{status="5xx"} 65

# HELP nginx_up Is the Nginx server up
# TYPE nginx_up gauge
nginx_up 1
其中指标含义如下:
nginx_http_requests_total:Nginx 处理的 HTTP 请求总数。
nginx_http_requests_duration_seconds:HTTP 请求的持续时间,使用 Histogram 类型提供不同区间的请求数量。
nginx_http_connections:当前 Nginx 的 HTTP 连接数,分为 active、reading、writing 和 waiting 状态。
nginx_http_response_count_total:Nginx 返回的 HTTP 响应总数,按状态码分类。
nginx_up:Nginx 服务器的运行状态。1表示运行中;0表示未运行。

指标主题

是指标数据在日志服务平台进行采集、存储、检索和分析的基本单元,采集到的指标数据以指标主题为单元进行管理,包括保存时间配置及检索分析等。指标主题兼容 Prometheus 指标数据模型及指标查询接口,相当于一个 Prometheus 实例,不同应用/服务的指标只要指标名称不发生冲突,且数据量未超过产品规格与限制,就可以存储在一个指标主题中。实际应用中,一般将业务系统生产环境、测试环境、开发环境的指标分别存储在不同的指标主题中。
说明:
指标主题已于2024年7月1日结束公测并正式收费,详见 计费概述

功能特性

指标采集:
指标上报:支持 Prometheus Remote Write 协议,可使用兼容该协议的各类采集器采集指标并上报至指标主题,例如 vmagent 及 telegraf。
日志转指标:可通过定时 SQL 将日志主题中的日志转化为指标,适用于长期低成本存储系统关键指标,且基于指标进行可视化分析时性能往往更高。
云产品指标订阅:支持主动订阅 腾讯云可观测平台(原云监控)的云产品指标,在 CLS 中集中存储及查询,可更灵活的对云产品指标进行统计分析。
指标查询:使用 PromQL 查询指标。
指标可视化:可使用 仪表盘 可视化展示指标数据,支持表格、时序图、单值图和计量仪等形式。也可直接 使用 Grafana 展示指标数据
监控告警:可为指标主题配置 告警策略,指标发生异常时通过短信、微信、电话、邮件和企业微信等多种渠道通知用户。

产品优势

指标主题兼容 Prometheus 指标数据模型及指标查询接口,可无缝与各类兼容 Prometheus 的开源项目对接,例如 Grafana。
相比自建 Prometheus,无需部署及维护,能够降低大量人力成本。
可与日志结合使用,集中采集、存储、分析指标及日志数据,搭建统一监控平台,提升运维效率。

费用说明

详见 计费概述

规格与限制

限制项
说明
指标名称(metric name)
支持英文字母、数字、下划线及冒号,即需符合正则表达式[a-zA-Z_:][a-zA-Z0-9_:]*
维度名称(label name)
支持英文字母、数字、下划线,即需符合正则表达式[a-zA-Z_][a-zA-Z0-9_]*
维度值(label value)
无特殊限制,支持各类 Unicode 字符
样本值(sample value)
float64类型数值
样本时间戳(sample timestamp)
毫秒精度
查询并发
单个指标主题支持15并发
查询数据量
单次查询涉及 time series 不超过20万,查询结果中单个 time series 最大1.1万个时间点
指标上传频控
25000QPS
指标上传流控
250MB/s