全部產品
Search
文件中心

Simple Log Service:跨時序庫(Metricstore)查詢

更新時間:Nov 19, 2024

時序型資料集(StoreView) 支援時序庫(Metricstore)聯集查詢。本文介紹如何利用PromQL語句在StoreView中進行資料查詢、StoreView如何對接Grafana以及如何使用API介面擷取StoreView資訊。

使用前提

已建立Project和MetricStore。具體操作,請參見管理Project管理MetricStore

關聯時序庫(Metricstore)建立時序資料集(StoreView

1. 建立時序型資料集

  1. 登入Log Service控制台,在Project列表,單擊開啟目標Project。

  2. 在左側導覽列選擇資料集 > 時序型資料集,進入資料集頁面後單擊image建立時序型資料集。

    image

  3. 在建立資料集面板,參考下圖,輸入Storeview名稱,並添加關聯的Metricstore,然後單擊確定

    重要

    時序資料集(Storeview) 支援多Store聯集查詢分析能力,為保證查詢分析結果正確性,有以下兩個建議:

    • 不建議將存在重複時間軸的Metricstore關聯在同一個StoreView中。

    • 不建議將多個資料量龐大(例如,時序庫的Shard已大於64)的Metricstore關聯在一起執行計算。

    image

2. 使用PromQL語句查詢資料集

說明
  • 時序型資料集(Storeview)中關聯多個Metricstore後,在執行計算時將展示跨多個時序庫的計算處理結果。

  • 時序型資料集(Storeview)不支援使用SQL和預定義處理。支援直接在查詢方塊中輸入PromQL語句,後端計算引擎會自行完成跨多個時序庫的計算處理。

image

時序型資料集(StoreView)對接Grafana

  1. 安裝Grafana後登入Grafana。在左側導覽列,選擇Configuration > Data Sources

  2. Data Sources頁簽,單擊Add data source。然後選擇Prometheus,單擊Select

  3. Settings頁簽中,請參考如下說明配置資料來源。

    image

    配置資料來源參數說明

    參數

    說明

    Name

    請您自訂一個資料來源的名稱,例如Prometheus-1。

    HTTP

    • URL:Log ServiceStoreView的URL,格式為https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}。其中{sls-endpoint}為Project所在地區的Endpoint{project}{storeview}為您已建立的Log Service的Project和StoreView,請根據實際值替換。例如:https://sls-prometheus-test.cn-hangzhou.log.aliyuncs.com/prometheus/sls-prometheus-test/test

      說明

      為保證傳輸安全性,請務必設定為https

    • Whitelisted Cookies:添加訪問白名單,可選。

    Auth

    開啟Basic auth開關。

    Basic Auth Details

    • User為阿里雲帳號AccessKeyID。

    • Password為阿里雲帳號AccessKeySecret。

    建議您使用僅具備指定Project唯讀許可權的RAM使用者帳號,詳情請參見指定Project唯讀授權策略

  4. 單擊Save & Test

StoreView HTTP API介面

概述

Log Service提供多個用於查詢時序型資料集(StoreView)的API,這些API相容Prometheus開源協議。Prometheus所提供的介面都在/api/v1目錄下,StoreView相關的API同樣遵循此規則,其完整的URL為https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/。

變數

是否必填

說明

{project}

Log ServiceProject名稱,更多資訊,請參見管理Project

{sls-endpoint}

Project所在地區的Endpoint

{storeview}

建立的StoreView。

時序指標查詢API

Instant Queries API

Instant Queries API用於查詢指定時間範圍內多個時間點的指標資料。

GET https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/query
POST https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/query

參數說明如下表所示。

變數

是否必填

說明

query

具體的PromQL語句。更多資訊,請參見PromQL文法

time

執行查詢的時間點,Unix時間戳記格式,精確到秒。預設為最新時間。

timeout

執行查詢的逾時時間,單位:秒。

同時支援1s、2m、3h、4d等用法。更多資訊,請參見Time Durations

lookback-delta

可用於自訂設定query.lookback-delta這項flag參數值,僅對當次Query有效,該值需遵循Time Durations用法,更多資訊,請參見Time Durations。此參數表示PromQL計算中尋點過程的最大回溯區間,SLS時序庫中該值預設為"3m"。

Range Queries API

Range Queries API用於查詢指定時間範圍內多個時間點的指標資料。

GET https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/query_range
POST https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/query_range

參數說明如下表所示。

變數

是否必填

說明

query

具體的PromQL語句。更多資訊,請參見PromQL文法

start

查詢的起始時間點,Unix時間戳記格式,精確到秒。

end

查詢的截止時間點,Unix時間戳記格式,精確到秒。

step

執行查詢的間隔時間,單位:秒。

同時支援1s、2m、3h、4d等用法。更多資訊,請參見Time Durations

timeout

執行查詢的逾時時間,單位:秒。

同時支援1s、2m、3h、4d等用法。更多資訊,請參見Time Durations

lookback-delta

可用於自訂設定query.lookback-delta這項flag參數值,僅對當次Query有效,該值需遵循Time Durations用法,更多資訊,請參見Time Durations。此參數表示PromQL計算中尋點過程的最大回溯區間,SLS時序庫中該值預設為"3m"。

配置樣本,請參考時序指標查詢API

中繼資料查詢API

Query Series API

Query Series API用於查詢指定時間段內特定條件下的所有StoreView以及該StoreView下所有的Label數值對。

GET https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/series
POST https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/series

參數說明如下表所示。

變數

是否必填

說明

match[]

篩選條件,例如up{instance="demo.*"}。

您可以設定一個或多個值。

start

查詢的起始時間點,Unix時間戳記格式,精確到秒。

預設為目前時間的5分鐘之前。

end

查詢的截止時間點,Unix時間戳記格式,精確到秒。

預設為目前時間。

重要

如果startend參數都是自訂的,該API也只支援查詢end時間點之前5分鐘的資料,即查詢 (end - 5 minute, end) 區間內的資料

Query Label Names API

查詢指定時間段內特定條件下所有的LabelName。

GET https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/labels
POST https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/labels

參數說明如下表所示。

變數

是否必填

說明

match[]

篩選條件,例如up{instance="demo.*"}。

您可以設定零個、一個或多個值。

start

查詢區間的起始時間點,Unix時間戳記格式,精確到秒。

預設為目前時間的5分鐘之前。

end

查詢區間的截止時間點,Unix時間戳記格式,精確到秒。

預設為目前時間。

重要

如果startend參數都是自訂的,該API也只支援查詢end時間點之前5分鐘的資料,即查詢 (end - 5 minute, end) 區間內的資料

Query Label Values API

Query Label Values API用於查詢指定時間段內特定條件以及特定LabelName下所有的LabelValue資訊。

重要

該介面URL中的<label_name>需替換為具體的LabelName。

GET https://{project}.{sls-endpoint}/prometheus/{project}/{storeview}/api/v1/label/<label_name>/values

參數說明如下表所示。

變數

是否必填

說明

match[]

篩選條件,例如up{instance="demo.*"}。

您可以設定一個或多個值。

start

查詢的起始時間點,Unix時間戳記格式,精確到秒。

預設為目前時間的5分鐘之前。

end

查詢區間的截止時間點,Unix時間戳記格式,精確到秒。

預設為目前時間。

重要

如果startend參數都是自訂的,該API也只支援查詢end時間點之前5分鐘的資料,即查詢 (end - 5 minute, end) 區間內的資料

配置樣本,請參考中繼資料查詢API

相關文檔