详情页标题前

阿里云日志服务SLS时序数据查询和分析简介-云淘科技

详情页1

本文介绍时序数据查询和分析语法使用限制。

日志服务提供如下三种时序数据查询和分析方式:

  • PromQL语法:使用PromQL(Prometheus的查询语言)语法简化对时序数据的查询和分析。更多信息,请参见Prometheus官方文档。
  • SQL语法:根据时序数据的编码方式进行查询和分析。
  • SQL+PromQL语法:使用SQL语法与日志服务提供5个PromQL函数进行嵌套查询。使用PromQL语法的同时,您还可以使用日志服务机器学习语法。更多信息,请参见机器学习语法。

PromQL语法

PromQL语法示例如下所示。

  • 查询指标名为http_requests_total,job标签为apiserver,handler标签为/api/comments的时间序列。
    http_requests_total{job="apiserver", handler="/api/comments"}
  • 查询过去5分钟内,按照应用程序app和进程类型proc分组的前3个CPU用户。
    topk(3, sum by (app, proc) (rate(instance_cpu_time_ns[5m])))
  • 查找不健康的Pod。
    min_over_time(sum by (namespace, pod) (kube_pod_status_phase{phase=~"Pending|Unknown|Failed"})[15m:1m]) > 0
  • 查询K8s DaemonSet CPU 使用率。
    sum (rate (container_cpu_usage_seconds_total{pod=~"^x.*$",cluster=~".*",namespace=~".*"}[1m])) / sum (kube_pod_container_resource_limits_cpu_cores{pod=~"^null.*$",cluster=~".*",namespace=~".*"}) * 100

PromQL语法的更多信息,请参见Prometheus官方文档,查询示例。

SQL语法

SQL语法示例如下所示。

  • 查询和分析全部数据。
    *| SELECT * FROM "my_metric_store.prom" WHERE __name__ != '' 
  • 查询__labels__, ‘domain’值为www.example.com的数据,并对__value__字段进行求和计算。
    *| SELECT sum(__value__) FROM "my_metric_store.prom" WHERE element_at(__labels__, 'domain')='www.example.com' 
  • 查询__labels__, ‘domain’值为www.example.com的数据,并对__value__字段进行求和计算以及对数据按小时聚合。
    *| SELECT sum(__value__),date_trunc('hour', __time_nano__/1000000) as t
    FROM "my_metric_store.prom" 
    WHERE element_at(__labels__, 'domain')='www.example.com'
    GROUP BY t
    ORDER BY t DESC

SQL语法相关说明如下所示。

  • 时序数据的SQL语法与日志的SQL语法一致。更多信息,请参见分析语法。但在时序数据的SQL语法中,FROM的表名只能为{metrics_store_name}.prom,其中{metrics_store_name}为您已创建的MetricStore名称。 说明 请保留表名两端的双引号(””)。
  • __labels__可使用element_at()函数获取其中某个Key的值,例如element_at(__labels__, ‘key’)。
  • 表结构请参见编码方式。

SQL+PromQL语法

日志服务提供7个PromQL函数,其中promql_query、promql_labels、promql_label_values和promql_series函数只能在MetricStore的自定义查询分析页面中执行。详细说明如下表所示。

重要

  • 当使用SQL+PromQL语法查询和分析时序数据时,您FROM的表名固定为metrics。
  • PromQL函数的详细接口特性和说明,请参见Prometheus官方文档。
函数名 说明 样例
promql_query(string) 即时查询和分析。查询和分析离结束时间最近的数据。该函数对应Prometheus的/query API,参数为query=。 *| SELECT promql_query(‘up’) FROM metrics
promql_query_range(string, string) 查询和分析一定时间范围内的数据。对应Prometheus的/query_range API,参数为query=、step=。 *| SELECT promql_query_range(‘up’, ‘5m’) FROM metrics
promql_labels() 返回所有的Label Key。 *| SELECT promql_labels() FROM metrics
promql_labels(string) 支持添加match[]参数,用于返回对应的Label Key。

当前仅支持添加一个match[]参数值,例如 promql_labels(‘up’)。

*| SELECT promql_labels(‘up’) FROM metrics
promql_label_values(string) 返回某个Label的值。 *| SELECT promql_label_values(‘__name__’) FROM metrics
promql_label_values(string, string) 支持添加match[]参数,用于返回对应下特定Label的Value列表。

当前仅支持添加一个match[]参数值,需设置match[]参数在前,Label参数在后,例如promql_label_values(‘up’, ‘__label_name__’) 。

*| SELECT promql_label_values(‘up’, ‘__label_name__’) FROM metrics
promql_series(string) 返回匹配的时间序列。 *| SELECT promql_series(‘up’) FROM metrics

PromQL函数相当于UDTF,即返回一个表。

  • promql_query(string)、promql_query_range(string, string)函数返回的表的结构如下表所示。
    字段名 字段类型 说明
    metric varchar 时序名称。如果使用了Group By语法,那么该值可能为空。
    labels map Lables信息,Map类型。
    time bigint 时间。
    value double 某个时间点对应的值。

    查询示例如下:

    • promql_query(string)函数阿里云日志服务SLS时序数据查询和分析简介-云淘科技
    • promql_query_range(string, string)函数阿里云日志服务SLS时序数据查询和分析简介-云淘科技
  • promql_labels()、promql_labels(string)、promql_label_values(string)、promql_label_values(string, string)函数返回的表的结构如下表所示。
    字段 字段类型 说明
    label varchar Label Key

    查询示例如下:

    • promql_labels()函数阿里云日志服务SLS时序数据查询和分析简介-云淘科技
    • promql_labels(string)函数阿里云日志服务SLS时序数据查询和分析简介-云淘科技
    • promql_label_values(string)函数阿里云日志服务SLS时序数据查询和分析简介-云淘科技
    • promql_label_values(string, string)函数阿里云日志服务SLS时序数据查询和分析简介-云淘科技
  • promql_series(string)函数返回的表的结构如下表所示。
    字段 字段类型 说明
    series map 时间序列

    查询示例如下:阿里云日志服务SLS时序数据查询和分析简介-云淘科技

使用限制

  • MetricStore仅支持Prometheus查询和分析API(例如/query API、/query_range API等),其它API如/admin API、/alerts API、/rules API等均不支持。
  • 使用PromQL语法、SQL+PromQL语法时,最多返回11000个时间点对应的值。
  • 使用PromQL语法、SQL+PromQL语法时,您的Metric name和Label命名应符合命名规范。更多信息,请参见时序标识。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/160312.html

(0)
上一篇 2023年12月10日 上午2:18
下一篇 2023年12月10日 上午2:19
详情页2

相关推荐

  • 阿里云日志服务SLS数据加工-云淘科技

    本文介绍日志服务数据加工的使用限制。 任务配置 限制项 说明 任务数 1个Project中最多可创建100个数据加工任务。重要 数据加工任务处于停止或者运行完成状态时,依然会占用配额,建议及时清理停止或者运行完成状态、并且确认不再使用的数据加工任务,减少配额占用。更多信息,请参见管理数据加工任务。 如您有更大的使用需求,请提工单申请。 源数据Logstore…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS查询与分析语法-云淘科技

    本视频介绍日志服务的查询与分析语法。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家阿里云企业补贴进行中: 马上申请腾讯云限时活动1折起,即将结束: 马上收藏同尘科技为腾讯云授权服务中心。 购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

    阿里云日志服务SLS 2023年12月10日
  • 阿里云对象存储OSSOSS ON云盒快速入门-云淘科技

    通过OSS ON云盒,您可以对本地数据进行数据监控、数据处理等操作。OSS ON云盒适用于业务要求低延时、多分支机构统一管理等场景。本文介绍OSS ON云盒的基本操作,包括创建云盒Bucket、在Bucket中上传文件(Object)以及下载Object。 前提条件 仅华东1(杭州)、华南1(深圳)、华南2(河源)、华北2(北京)、西南1(成都)地域支持使用…

    阿里云对象存储 2023年12月10日
  • 阿里云日志服务SLS数据加工快速入门-云淘科技

    本文以网站访问日志为例,为您介绍完整的数据加工流程,帮助您快速熟悉数据加工功能及其操作。 前提条件 已创建名为web-project的Project。具体操作,请参见创建Project。 在Project(web-project)中创建名为website_log的源Logstore。具体操作,请参见创建Logstore。 已采集网站访问日志到源Logstor…

    阿里云日志服务SLS 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSSBrowser.js上传回调-云淘科技

    您只需要在发送给OSS的请求中携带相应的Callback参数,即可在完成文件(Object)上传时提供回调(Callback)给应用服务器。 注意事项 当您使用webpack或browserify等打包工具时,请通过npm install ali-oss的方式安装Browser.js SDK。 通过浏览器访问OSS时涉及跨域请求,如果未设置跨域规则,浏览器会…

    阿里云对象存储 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。