亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Grafana 流程圖插件使用場(chǎng)景研究

IT那活兒 / 4794人閱讀
Grafana 流程圖插件使用場(chǎng)景研究

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


  

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

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


插件下載

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

新建面板

在儀表板中添加一個(gè)空白面板:

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

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

Diagram插件

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

1. Mermaid 語(yǔ)法

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

流程圖展示方向:

  • TB:從上到下
  • TD:自上而下(和 TB 效果相同)
  • BT:自下而上
  • RL:從右到左
  • LR:從左到右
各類節(jié)點(diǎn)形狀和鏈接演示: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. 新建流程圖

    在新建面板之后,選擇對(duì)應(yīng)的插件進(jìn)行配置。
    本次我們需要使用 Diagram 進(jìn)行流程圖配置,則需要在插件配置區(qū)選擇 Diagram 插件,選中后,插件配置區(qū)就會(huì)自動(dòng)轉(zhuǎn)換為 Diagram 插件的配置頁(yè)。
    通過(guò) Mermaid 語(yǔ)法配置流程圖:
    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ū),配置各項(xiàng)指標(biāo),并通過(guò) Legend 參數(shù)綁定到對(duì)應(yīng)的節(jié)點(diǎn):
    在 Thresholds 中可以配置展示的樣式,如下圖,當(dāng)節(jié)點(diǎn)的值大于 10 時(shí),該節(jié)點(diǎn)展示為黃色:
    在 Value mapping 中,可以將展示的指標(biāo)數(shù)據(jù)映射為其它信息進(jìn)行展示,如下圖所示:

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

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

    Flowcharting 是借助于 drawio(類似 viso 的開源繪圖工具)來(lái)實(shí)現(xiàn)動(dòng)態(tài)可感知的網(wǎng)絡(luò)拓?fù)洌栽谑褂?Flowcharting 前,我們先要會(huì)使用 drawio 工具繪圖。當(dāng)然,F(xiàn)lowcharting 不只是借助 drawio 來(lái)展示網(wǎng)絡(luò)拓?fù)?,各種流程圖、拓?fù)鋱D、組織架構(gòu)圖等等,只要是需要在圖上展示度量值,均可以實(shí)現(xiàn)。

    1. 新建流程圖

    選擇 FlowCharting 插件進(jìn)行配置:
    相對(duì)于 Diagram 插件而言,F(xiàn)lowCharting 的使用更容易上手,它不需要學(xué)習(xí) Mermaid 語(yǔ)法,而是直接使用 drawio 新建圖表即可。
    點(diǎn)擊 Edit Draw 后,會(huì)跳轉(zhuǎn)到 drawio 的編輯界面,在該頁(yè)面編輯并保存后,效果就會(huì)在 Grafana 上進(jìn)行呈現(xiàn),并且編輯的內(nèi)容會(huì)以 xml 數(shù)據(jù)的方式保留,如果在內(nèi)網(wǎng)環(huán)境,無(wú)法連接外網(wǎng)打不開 drawio 的情況下,可以在外網(wǎng)完成,在內(nèi)網(wǎng)通過(guò)修改 xml 的值進(jìn)行調(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 中新增一個(gè)規(guī)則,在規(guī)則中的 Apply to metrics 參數(shù)填寫該值,即表示該規(guī)則適用于指標(biāo)數(shù)據(jù) value_a(Apply to metrics 的值可以是具體的某一個(gè),也可以通過(guò)正則表達(dá)式進(jìn)行匹配,當(dāng)匹配到多個(gè)時(shí),表示多個(gè)指標(biāo)數(shù)據(jù)共用該規(guī)則。)
    如圖所示,綁定數(shù)據(jù)的值默認(rèn)顯示為綠色,當(dāng)值大于 50 小于 80 時(shí),節(jié)點(diǎn)顯示為橙色,大于 80 時(shí),節(jié)點(diǎn)顯示為紅色。

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

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

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

    插件比較

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

    本文作者:長(zhǎng)研架構(gòu)小組(上海新炬王翦團(tuán)隊(duì))

    本文來(lái)源:“IT那活兒”公眾號(hào)

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/129301.html

相關(guān)文章

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

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

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

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

    khlbat 評(píng)論0 收藏0
  • 安利一個(gè)grafana插件grafana-influx-dashboard

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

    CODING 評(píng)論0 收藏0
  • 一些小團(tuán)隊(duì)的自動(dòng)化運(yùn)維實(shí)踐經(jīng)驗(yàn)

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

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

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

    trigkit4 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<