聚焦媒體

    Prometheus+Grafana為IPLOOK核心網(wǎng)插上酷炫的翅膀

    更新時(shí)間 : 2021-04-13 19:13:56

    IPLOOK 核心網(wǎng)產(chǎn)品除了通過(guò)核心網(wǎng)網(wǎng)管中心這種方式進(jìn)行性能采集和統(tǒng)計(jì)分析。還支持使用Prometheus+Grafana的方案進(jìn)行性能采集和統(tǒng)計(jì)分析。下面讓我們看看Prometheus+Grafana究竟如何和IPLOOK核心網(wǎng)一起翩翩起舞!

     

    什么是Prometheus?
     

    Prometheus是由SoundCloud開(kāi)發(fā)的開(kāi)源監(jiān)控報(bào)警系統(tǒng)和時(shí)序列數(shù)據(jù)庫(kù)(TSDB)。Prometheus使用Go語(yǔ)言開(kāi)發(fā),是Google BorgMon監(jiān)控系統(tǒng)的開(kāi)源版本。

    2016年由Google發(fā)起Linux基金會(huì)旗下的原生云基金會(huì)(Cloud Native Computing Foundation), 將Prometheus納入其下第二大開(kāi)源項(xiàng)目。

    Prometheus目前在開(kāi)源社區(qū)相當(dāng)活躍。

    Prometheus和Heapster(Heapster是K8S的一個(gè)子項(xiàng)目,用于獲取集群的性能數(shù)據(jù)。)相比功能更完善、更全面。Prometheus性能也足夠支撐上萬(wàn)臺(tái)規(guī)模的集群。

    Prometheus架構(gòu)

                                                          圖 1 Prometheus架構(gòu)

     

     Prometheus有哪些特點(diǎn)?

     

     多維度數(shù)據(jù)模型。

     靈活的查詢(xún)語(yǔ)言。

     不依賴(lài)分布式存儲(chǔ),單個(gè)服務(wù)器節(jié)點(diǎn)是自主的。

    ⇒ 通過(guò)基于HTTP的pull方式采集時(shí)序數(shù)據(jù)。

     可以通過(guò)中間網(wǎng)關(guān)進(jìn)行時(shí)序列數(shù)據(jù)推送。

    ⇒ 通過(guò)服務(wù)發(fā)現(xiàn)或者靜態(tài)配置來(lái)發(fā)現(xiàn)目標(biāo)服務(wù)對(duì)象。

    ⇒ 支持多種多樣的圖表和界面展示,比如Grafana等。

     

    Grafana簡(jiǎn)介

     

    Grafana是一個(gè)開(kāi)源的度量分析與可視化套件。純 Javascript 開(kāi)發(fā)的前端工具,通過(guò)訪問(wèn)庫(kù)(如InfluxDB),展示自定義報(bào)表、顯示圖表等。大多使用在時(shí)序數(shù)據(jù)的監(jiān)控方面,如同Kibana類(lèi)似。Grafana的UI更加靈活,有豐富的插件,功能強(qiáng)大。

    Grafana支持許多不同的數(shù)據(jù)源。每個(gè)數(shù)據(jù)源都有一個(gè)特定的查詢(xún)編輯器,該編輯器定制的特性和功能是公開(kāi)的特定數(shù)據(jù)來(lái)源。

    官方支持以下數(shù)據(jù)源:

    Graphite, InfluxDB, OpenTSDB, Prometheus, Elasticsearch, CloudWatch和KairosDB。

    Grafana 頁(yè)面展示

                                                                    圖 2 Grafana 頁(yè)面展示

     

    IPLOOK 這套方案是怎么工作呢?
     

    IPLOOK?方案架構(gòu)

     

                                                                             圖 3 方案架構(gòu)

    這套方案適用于目前IPLOOK開(kāi)發(fā)的所有EPC以及5GC的網(wǎng)元產(chǎn)品。

    在這套方案中,我們的網(wǎng)元相當(dāng)于 Prometheus 的一個(gè) client 端,在 PrometheusServer 端配置需要抓取數(shù)據(jù)的目標(biāo)網(wǎng)元IP跟端口,以及抓取數(shù)據(jù)的間隔時(shí)間,就能定時(shí)從各網(wǎng)元中按照規(guī)定的格式抓取各項(xiàng)KPI數(shù)據(jù),在拿到數(shù)據(jù)后,按照時(shí)間存儲(chǔ)到TSDB數(shù)據(jù)庫(kù)中。

    同時(shí)Prometheus官方提供了一個(gè)名為Node Exporter的插件用于統(tǒng)計(jì)機(jī)器的CPU、內(nèi)存、磁盤(pán)I/O等的使用情況。

     Node Exporter統(tǒng)計(jì)的數(shù)據(jù)

                                                             圖 4 Node Exporter統(tǒng)計(jì)的數(shù)據(jù)

                                                                      以MME模板數(shù)據(jù)展示

    4G NAS移動(dòng)性管理流程

                                                                 圖5 4G NAS移動(dòng)性管理流程

    服務(wù)請(qǐng)求/尋呼流程

                                                                 圖6 服務(wù)請(qǐng)求/尋呼流程

    附著/去附著

                                                                   圖7 附著/去附著

    跟蹤區(qū)更新流程

                                                                    圖8 跟蹤區(qū)更新流程

    會(huì)話(huà)相關(guān)流程

                                                                    圖9 會(huì)話(huà)相關(guān)流程

     

    使用這套方案有哪些優(yōu)點(diǎn)?

     

    1.減少開(kāi)發(fā)的周期。在以前的PM統(tǒng)計(jì)都是使用我們自己開(kāi)發(fā)的系統(tǒng),從設(shè)計(jì)到整個(gè)項(xiàng)目代碼的編寫(xiě)耗費(fèi)了大量的時(shí)間,在使用這一套框架后我們可以極大縮短開(kāi)發(fā)周期,而且這套系統(tǒng)十分穩(wěn)定。

    2.更便捷的數(shù)據(jù)維護(hù)。在這套方案中,所有的PM數(shù)據(jù)都會(huì)放到PrometheusServer中進(jìn)行存儲(chǔ),使用PromQL語(yǔ)句可以對(duì)數(shù)據(jù)進(jìn)行一些相加、相減、求平均值等操作,我們的網(wǎng)元只需要把數(shù)據(jù)傳送到PrometheusServer中,而且可以讀歷史數(shù)據(jù)進(jìn)行導(dǎo)入跟導(dǎo)出。

    3.擁有酷炫的UI。Granfana提供多種多樣的圖表供開(kāi)發(fā)者選擇,可以根據(jù)個(gè)人喜好設(shè)計(jì)出非常漂亮的圖表。而且這些制作出來(lái)的模板可以進(jìn)行導(dǎo)出分享。

     

    IPLOOK 核心網(wǎng)使用Prometheus + Grafana的方案進(jìn)行性能采集和統(tǒng)計(jì)分析,不僅為我們的開(kāi)發(fā)者減少了開(kāi)發(fā)周期,其更便捷的數(shù)據(jù)維護(hù)和酷炫的UI界面更加方便了運(yùn)維人員。此方案為我們的核心網(wǎng)產(chǎn)品插上了酷炫的翅膀。

     

     

    通信解決方案提供商 · 核心網(wǎng)軟件開(kāi)發(fā)者
    聯(lián)系我們