国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Grafana 流程圖插件使用場景研究

IT那活兒 / 4310人閱讀
Grafana 流程圖插件使用場景研究

點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。。?/strong> 


  

Grafana 是一個使用 GO 語言編寫的監(jiān)控可視化的開源平臺,他提供了強大和優(yōu)雅的方式去創(chuàng)建、共享、瀏覽數(shù)據(jù)。

客戶的需求是基于Grafana 配置流程圖,Grafana 官方庫中并沒有可以支持流程圖配置的儀表盤插件,需要另行下載安裝第三方插件才能實現(xiàn),其中 DiagramFlowCharting 兩個插件是 Grafana 上最為常用的兩個流程圖插件,本文以這兩個流程插件舉例配置說明,并且對比這兩個插件優(yōu)劣勢。V


插件下載

Grafana 下載插件極為便捷,只需在設(shè)置的 Plugins 中搜索對應(yīng)的插件名稱,然后點擊下載即可。

新建面板

在儀表板中添加一個空白面板:

新建的空白面板大致可以分為三個區(qū)域,分別為:

  • 數(shù)據(jù)展示區(qū)
  • 數(shù)據(jù)源配置區(qū)
  • 插件配置區(qū)

Diagram插件

Diagram 提供了一種利用 mermaid.js 庫創(chuàng)建流程圖,序列圖和甘特圖的方法。
可以使用 Mermaid JS 語法定義圖表。
公制系列用于為形狀/節(jié)點的文本或背景著色。
系列的目標或“別名”與圖表節(jié)點的 ID 進行比較以找到匹配項,然后將樣式應(yīng)用于形狀。
組合可用于聚合單個節(jié)點的多個系列,每個系列都有自定義閾值。
注意:別名中的特殊字符將替換為下劃線。請參閱下面的字符替換。

1. Mermaid 語法

詳細的語法介紹可以查看官網(wǎng):https://mermaid-js.github.io/mermaid/#/,這里只做和流程圖相關(guān)的簡單說明:
graph:定義為流程圖;

流程圖展示方向:

  • TB:從上到下
  • TD:自上而下(和 TB 效果相同)
  • BT:自下而上
  • RL:從右到左
  • LR:從左到右
各類節(jié)點形狀和鏈接演示:A(a) -- AToB --> B[b] -- BToC --> C{c} -.-> D([d]) -. DToE .-> E[[e]] ==> F[(f)] == FToG ==> G((g)) --> H>h] --> I{{i}} --> J[/j/] --> K[k] --> L[/l] --> M[m/]
多鏈接 1:a --> b & c --> d
多鏈接 2:A & B --> C & D
    ??????????????????????????????????

    2. 新建流程圖

    在新建面板之后,選擇對應(yīng)的插件進行配置。
    本次我們需要使用 Diagram 進行流程圖配置,則需要在插件配置區(qū)選擇 Diagram 插件,選中后,插件配置區(qū)就會自動轉(zhuǎn)換為 Diagram 插件的配置頁。
    通過 Mermaid 語法配置流程圖:
    graph LR
         LB[A] -- AToB --> B
         LB[A] --> C
         B --> D(fa:fa-check app1)
         B ==> E
         C ==> E(fa:fa-ban app2)
         C --> D
         D --> F[(database)]

    3. 數(shù)據(jù)綁定 + 樣式配置

    在數(shù)據(jù)源配置區(qū),配置各項指標,并通過 Legend 參數(shù)綁定到對應(yīng)的節(jié)點:
    在 Thresholds 中可以配置展示的樣式,如下圖,當節(jié)點的值大于 10 時,該節(jié)點展示為黃色:
    在 Value mapping 中,可以將展示的指標數(shù)據(jù)映射為其它信息進行展示,如下圖所示:

Value mapping 中,支持三種映射方式:

  • Value:值映射,輸入一個精確的值,該值會進行映射;
  • Range:范圍映射,選定一個范圍,該范圍內(nèi)的值都會進行映射;
  • Special:特定的值映射,比如 Null、NaN、True、False 等。
  • FlowCharting 插件

    Flowcharting 是借助于 drawio(類似 viso 的開源繪圖工具)來實現(xiàn)動態(tài)可感知的網(wǎng)絡(luò)拓撲,所以在使用 Flowcharting 前,我們先要會使用 drawio 工具繪圖。當然,F(xiàn)lowcharting 不只是借助 drawio 來展示網(wǎng)絡(luò)拓撲,各種流程圖、拓撲圖、組織架構(gòu)圖等等,只要是需要在圖上展示度量值,均可以實現(xiàn)。

    1. 新建流程圖

    選擇 FlowCharting 插件進行配置:
    相對于 Diagram 插件而言,F(xiàn)lowCharting 的使用更容易上手,它不需要學習 Mermaid 語法,而是直接使用 drawio 新建圖表即可。
    點擊 Edit Draw 后,會跳轉(zhuǎn)到 drawio 的編輯界面,在該頁面編輯并保存后,效果就會在 Grafana 上進行呈現(xiàn),并且編輯的內(nèi)容會以 xml 數(shù)據(jù)的方式保留,如果在內(nèi)網(wǎng)環(huán)境,無法連接外網(wǎng)打不開 drawio 的情況下,可以在外網(wǎng)完成,在內(nèi)網(wǎng)通過修改 xml 的值進行調(diào)整。
    <mxGraphModel dx="756" dy="533" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="1">
       <root>
           <mxCell id="0"/>
           <mxCell id="1" parent="0"/>
           <object label="" id="40">
               <mxCell style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="32" target="33">
                   <mxGeometry relative="1" as="geometry"/>
               mxCell>
           object>
           <mxCell id="42" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="32" target="34">
               <mxGeometry relative="1" as="geometry"/>
           mxCell>
           <mxCell id="32" value="A" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
               <mxGeometry x="110" y="200" width="80" height="60" as="geometry"/>
           mxCell>
           <mxCell id="39" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="33" target="35">
               <mxGeometry relative="1" as="geometry"/>
           mxCell>
           <mxCell id="45" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="33" target="36">
               <mxGeometry relative="1" as="geometry"/>
           mxCell>
           <mxCell id="33" value="B" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
               <mxGeometry x="230" y="120" width="80" height="60" as="geometry"/>
           mxCell>
           <mxCell id="43" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="34" target="36">
               <mxGeometry relative="1" as="geometry"/>
           mxCell>
           <mxCell id="44" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="34" target="35">
               <mxGeometry relative="1" as="geometry"/>
           mxCell>
           <mxCell id="34" value="C" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
               <mxGeometry x="230" y="270" width="80" height="60" as="geometry"/>
           mxCell>
           <mxCell id="38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="35" target="37">
               <mxGeometry relative="1" as="geometry"/>
           mxCell>
           <mxCell id="35" value="app1" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
               <mxGeometry x="380" y="120" width="100" height="60" as="geometry"/>
           mxCell>
           <mxCell id="36" value="app2" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
               <mxGeometry x="380" y="270" width="100" height="60" as="geometry"/>
           mxCell>
           <mxCell id="37" value="databases" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
               <mxGeometry x="560" y="115" width="100" height="70" as="geometry"/>
           mxCell>
       root>
    mxGraphModel>

    2. 數(shù)據(jù)綁定 + 樣式配置

    在數(shù)據(jù)源配置區(qū)配置相關(guān)數(shù)據(jù)并設(shè)置 Legend 參數(shù)的值。
    在右側(cè)的插件配置區(qū) Mpping 中新增一個規(guī)則,在規(guī)則中的 Apply to metrics 參數(shù)填寫該值,即表示該規(guī)則適用于指標數(shù)據(jù) value_a(Apply to metrics 的值可以是具體的某一個,也可以通過正則表達式進行匹配,當匹配到多個時,表示多個指標數(shù)據(jù)共用該規(guī)則。)
    如圖所示,綁定數(shù)據(jù)的值默認顯示為綠色,當值大于 50 小于 80 時,節(jié)點顯示為橙色,大于 80 時,節(jié)點顯示為紅色。

以展示顏色綁定為例,綁定方式有兩種:

  • 通過每個節(jié)點的 id 進行綁定,需要到 xml 中查詢才能知道對應(yīng)節(jié)點的 id 是什么,一般情況下不推薦使用;
  • 通過節(jié)點的 label 進行綁定,較為直觀,一般情況下建議使用此種綁定方式,不過要注意的是,節(jié)點的值可能存在相同的情況。
  • 通過 label 綁定對應(yīng)的節(jié)點后,展示效果如下:
    綁定多個節(jié)點:

    FlowCharting 還支持綁定文本標簽(綁定后對應(yīng)節(jié)點展示指標數(shù)據(jù))、綁定鏈接以及綁定動畫,綁定方法和顏色綁定類似,在此不再贅述。

    插件比較

    使用 Diagram 進行流程圖構(gòu)建,需要掌握 Mermaid 語法,相對而言,FlowCharting有更便捷的構(gòu)建流程圖的方式,但是如果在內(nèi)網(wǎng)環(huán)境,使用 FlowCharting 就不太方便了。
    FlowCharting 擁有比 Diagram 更精確且種類更多的匹配方式,可以對每個節(jié)點、每個指標數(shù)據(jù)制定不通的匹配規(guī)則,而 Diagram 就只能配置全局的匹配規(guī)則。
    因此,一般情況下,更推薦使用 FlowCharting 在 Grafana 上進行流程圖配置。

    本文作者:長研架構(gòu)小組(上海新炬王翦團隊)

    本文來源:“IT那活兒”公眾號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/129301.html

相關(guān)文章

  • 朱曄的互聯(lián)網(wǎng)架構(gòu)實踐心得S1E4:簡單好用的監(jiān)控六兄弟

    摘要:還可以初步判斷出問題的原因是異常導(dǎo)致還是突增的壓力所致。通過面板配置的服務(wù)調(diào)用量和業(yè)務(wù)進出量,排除上下游問題,定位出問題的模塊。 這里所說的六兄弟只指ELK套件(ElasticSearch+Logstash+Kibana)以及TIG套件(Telegraf+InfluxDb+Grafana)。 showImg(https://segmentfault.com/img/bVbhS81?w=...

    xiaoxiaozi 評論0 收藏0
  • FastD 最佳實踐四: 構(gòu)建系統(tǒng)可視化監(jiān)控

    摘要:的展示非常炫酷,絕對是運維提升逼格的一大利器。另外的可視化功能比強得多,而且以上版本將集成報警功能。它由寫成,著力于高性能地查詢與存儲時序型數(shù)據(jù)。被廣泛應(yīng)用于存儲系統(tǒng)的監(jiān)控數(shù)據(jù),行業(yè)的實時數(shù)據(jù)等場景。 原有監(jiān)控系統(tǒng) showImg(https://segmentfault.com/img/remote/1460000011082384); 整個系統(tǒng)以 Graphite (carbon ...

    khlbat 評論0 收藏0
  • 安利一個grafana插件grafana-influx-dashboard

    摘要:在這安利一個的監(jiān)控插件使用方法直接在主頁就能看到利用快速搭建監(jiān)控系統(tǒng)是很多創(chuàng)業(yè)公司采用的一個方案,網(wǎng)上也有很多相關(guān)教程。提供了相應(yīng)的編程方式。 在這安利一個grafana的監(jiān)控插件grafana-influx-dashboard 使用方法直接在github主頁就能看到 利用grafana+collectd+influxdb快速搭建監(jiān)控系統(tǒng)是很多創(chuàng)業(yè)公司采用的一個方案,網(wǎng)上也有很多相關(guān)教...

    CODING 評論0 收藏0
  • 一些小團隊的自動化運維實踐經(jīng)驗

    摘要:行業(yè)內(nèi)各巨頭的自動化運維架構(gòu)都各種功能各種酷炫,如下圖,讓人可望不可及。面對這么多問題,我就想啊,如何在低成本情況下實現(xiàn)自動化運維。自動擴縮容通過配置告警規(guī)則,調(diào)用相應(yīng)就可以實現(xiàn)實戰(zhàn)以上就是筆者關(guān)于自動化運維的一些實踐。 行業(yè)內(nèi)各巨頭的自動化運維架構(gòu)都各種功能各種酷炫,如下圖,讓人可望不可及。現(xiàn)在最終的樣子大家都知道了,但問題是如何根據(jù)自己團隊當前的情況一步步向那個目標演進?筆者所在團隊,三...

    princekin 評論0 收藏0
  • 容器監(jiān)控實踐-Grafana

    摘要:基于友好的開源協(xié)議,目前是監(jiān)控展示的首選。配置報警的收件組和詳細內(nèi)容。而報警收件人的配置在專門的頁面上已經(jīng)配置的報警規(guī)則,并展示其觸發(fā)狀態(tài)。借用的一句話哈哈哈本文為容器監(jiān)控實踐系列文章,完整內(nèi)容見 概述 Grafana 是一個開源的,可以用于大規(guī)模指標數(shù)據(jù)的可視化項目,甚至還能對指標進行報警?;谟押玫?Apache License 2.0 開源協(xié)議,目前是prometheus監(jiān)控展示...

    trigkit4 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<