日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

日志服务Dashboard加速

發布時間:2024/8/23 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日志服务Dashboard加速 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:?阿里云日志服務致力于為用戶提供統一的可觀測性平臺,同時支持日志、時序以及Trace數據的查詢存儲。用戶可以基于收集到的各類數據構建統一的監控以及業務大盤,從而及時發現系統異常,感知業務趨勢。但是隨著收集到的數據量不斷增長,特別是遇到業務峰值的時候,大盤報表展示會產生明顯的延遲,無法及時查看重要數據。Scheduled SQL支持定時分析數據、存儲聚合數據、投影與過濾數據,并將執行的分析結果存入用戶指定的日志庫或者時序庫中,供用戶后續分析使用。由于在聚合后數據量將大大小于之前,因而非常適合進行即時數據分析以及大盤展示。

背景

阿里云日志服務致力于為用戶提供統一的可觀測性平臺,同時支持日志、時序以及Trace數據的查詢存儲。用戶可以基于收集到的各類數據構建統一的監控以及業務大盤,從而及時發現系統異常,感知業務趨勢。但是隨著收集到的數據量不斷增長,特別是遇到業務峰值的時候,大盤報表展示會產生明顯的延遲,無法及時查看重要數據。Scheduled SQL支持定時分析數據、存儲聚合數據、投影與過濾數據,并將執行的分析結果存入用戶指定的日志庫或者時序庫中,供用戶后續分析使用。由于在聚合后數據量將大大小于之前,因而非常適合進行即時數據分析以及大盤展示。下面我們以服務的請求成功率為例,介紹下如何基于Scheduled SQL加速大盤報表。

方案

假如我們需要查看以一分鐘為粒度,一小時內的請求成功率。在構建報表的時候,需要基于當前不足一分鐘的部分數據配置實時報表,而針對之前已滿一分鐘的歷史數據配置歷史報表。當然,如果用戶覺得一分鐘的數據延遲是可以接受的,就可以只配置歷史報表,而不需要實時報表。假如當前時間為11:09:47,需要查看10:11:00一直到11:09:00的分鐘級請求成功率,以及11:09:00到11:09:47的秒級成功請求率。

日志內容

字段名稱

示例

描述

receive_time

1636616663654

時間戳,毫秒級

status

500

http狀態碼,200表示成功,其余表示失敗

error_code

2001

錯誤碼,標識錯誤原因

message

server?is?busy

錯誤描述

action_name

list_shop_product

訪問的服務接口

user_agent

chrome

客戶瀏覽器

歷史報表

如圖所示展示了分鐘級的請求成功率,可以通過配置分鐘級的ScheduledSQL任務,計算每分鐘的成功率,并通過歷史報表直接展示。因為只需要直接拉取聚合結果,不需要即時計算,所以展示速度大大提升。

實時報表

如圖所示展示了秒級的請求成功率,因為只需要計算不到一分鐘的數據,而不是1小時的數據,因而速度也得到的提升。

配置

下面仍然以請求成功率為例,向大家介紹下如何實現通過ScheduledSQL加速報表。

創建目標時序庫

首先需要創建目標時序庫存儲ScheduledSQL的聚合數據。

創建Scheduled SQL任務

在存儲服務請求的數據logstore查詢界面,輸入查詢語句,點擊查詢/分析按鈕,在成功執行查詢分析之后,點擊創建Scheduled SQL按鈕。

*| select (__time__ - __time__ % 60) as time , sum(IF(status = 200, 1, 0)) * 1.0 / count(*) AS success_ratio from log group by time order by time

計算配置

  • 填入對應的作業名以及作業描述,寫入模式選擇日志庫導入時序庫
  • 指標列指選擇結果中的一列作為時序結果,此處選擇success_ratio;
  • Labels指選擇結果中的哪幾列作為時序數據的標簽,此處留空即可;
  • 時間列指時序數據的時間,此處選擇time;
  • 目標庫選擇剛剛創建的目標時序庫;
  • 調度配置

    因為我們需要查看分鐘級別的服務請求成功率,所以調度間隔還有SQL時間窗口均需要以分鐘為粒度。用戶也可以根據自己的需求進行調整。

  • 調度間隔選擇1分鐘;
  • SQL時間窗口填入@m - 1m ~ @m;
  • 點擊確認創建任務
  • 查看任務詳情

    在作業菜單中點擊Scheduled SQL,即可查看Scheduled SQL任務列表。點擊剛剛創建的任務名稱即可查看任務執行詳情。在任務執行成功之后,我們就可以創建歷史報表了。

    配置歷史報表

    在目標時序庫查詢界面,執行查詢語句,點擊添加到儀表盤,即可創建歷史報表。

    * | select promql_query_range('success_ratio') from metrics limit 1000

    配置實時報表

    在存儲服務請求的數據logstore查詢界面,輸入查詢語句,并選擇時間范圍為1分鐘,點擊添加到儀表盤創建實時報表:

    *| select __time__ as time , sum(IF(status = 200, 1, 0)) * 1.0 / count(*) AS success_ratio from log group by time order by time

    總結

    Scheduled SQL為用戶周期性的進行分析數據、存儲聚合數據、投影與過濾數據提供了較大的便利。用戶還可以使用Scheduled SQL定時執行聚合任務,減少即時查詢所需要的數據量,從而加速大盤展示。

    原文鏈接
    本文為阿里云原創內容,未經允許不得轉載。?

    總結

    以上是生活随笔為你收集整理的日志服务Dashboard加速的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。