全部產品
Search
文件中心

Simple Log Service:桑基圖

更新時間:Jun 30, 2024

本文介紹桑基圖操作步驟及案例。

簡介

桑基圖 (Sankey Diagram),是一種特定類型的流圖,用於描述一組值到另一組值的流向。適合網路流量等情境,通常包含3組值sourcetarget以及valuesourcetarget描述了節點的關係,而value描述了該sourcetarget之間邊的關係。

基本構成如下:

  • 節點

桑基圖具有以下特點:

  • 初始流量和結束流量相同,所有主邊寬度的總和與所有分出去的分邊寬度總體和近似值,保持流量的平衡。

  • 兩列之間邊的寬度代表了特定狀態下的流量大小,不同的邊代表了不同的流量分流情況,它的寬度成比例地顯示此邊佔有的流量。

  • 節點不同的寬度代表了特定狀態下的流量大小。

例如以下資料可以用桑基圖表示。

source

target

value

node1

node2

14

node1

node3

12

node3

node4

5

..

使用如下桑基圖描述上述資料的關係。桑基圖的資料關係

操作步驟

  1. 登入Log Service控制台

  2. 在Project列表地區,單擊目標Project。

    image

  3. 日誌儲存 > 日誌庫頁簽中,單擊目標Logstore。

  4. 輸入查詢和分析語句,然後單擊最近15分鐘,設定查詢和分析的時間範圍。

    更多資訊,請參見步驟一:輸入查詢和分析語句

  5. 單擊屬性配置桑基圖-001,進入桑基圖展示頁面。

  6. 屬性配置頁簽中,配置圖表屬性。

    配置項

    說明

    起點列

    描述起始節點。

    終點列

    描述終點節點。

    數值列

    起始節點和終點節點之間流量值。

    邊距

    座標軸距離圖表邊界距離,包括上邊距下邊距右邊距左邊距

普通桑基圖樣本

如果日誌欄位包含了sourcetargetvalue,即每條日誌本身就是節點和邊的關係,可以通過嵌套子查詢擷取到steamValue的總和。

* | select sourceValue, targetValue, sum(streamValue) as streamValue from (select sourceValue, targetValue,
 streamValue, __time__ from log group by  sourceValue, targetValue, streamValue, __time__ order by __time__ desc) group by sourceValue,
 targetValue

普通桑基圖

負載平衡7層訪問日誌情境

Log Service支援使用前須知,可以直接通過訪問日誌繪製桑基圖。

* | select COALESCE(client_ip, slbid, host) as source, COALESCE(host, slbid, client_ip) as dest, sum(request_length) as inflow group by grouping sets( (client_ip, slbid), (slbid, host))嵌套子查詢