IPLOOK 核心網(wǎng)產(chǎn)品除了通過核心網(wǎng)網(wǎng)管中心這種方式進(jìn)行性能采集和統(tǒng)計(jì)分析。還支持使用Prometheus+Grafana的方案進(jìn)行性能采集和統(tǒng)計(jì)分析。下面讓我們看看Prometheus+Grafana究竟如何和IPLOOK核心網(wǎng)一起翩翩起舞!
什么是Prometheus?
Prometheus是由SoundCloud開發(fā)的開源監(jiān)控報(bào)警系統(tǒng)和時(shí)序列數(shù)據(jù)庫(kù)(TSDB)。Prometheus使用Go語言開發(fā),是Google BorgMon監(jiān)控系統(tǒng)的開源版本。
2016年由Google發(fā)起Linux基金會(huì)旗下的原生云基金會(huì)(Cloud Native Computing Foundation), 將Prometheus納入其下第二大開源項(xiàng)目。
Prometheus目前在開源社區(qū)相當(dāng)活躍。
Prometheus和Heapster(Heapster是K8S的一個(gè)子項(xiàng)目,用于獲取集群的性能數(shù)據(jù)。)相比功能更完善、更全面。Prometheus性能也足夠支撐上萬臺(tái)規(guī)模的集群。
圖 1 Prometheus架構(gòu)
Prometheus有哪些特點(diǎn)?
⇒ 多維度數(shù)據(jù)模型。
⇒ 靈活的查詢語言。
⇒ 不依賴分布式存儲(chǔ),單個(gè)服務(wù)器節(jié)點(diǎn)是自主的。
⇒ 通過基于HTTP的pull方式采集時(shí)序數(shù)據(jù)。
⇒ 可以通過中間網(wǎng)關(guān)進(jìn)行時(shí)序列數(shù)據(jù)推送。
⇒ 通過服務(wù)發(fā)現(xiàn)或者靜態(tài)配置來發(fā)現(xiàn)目標(biāo)服務(wù)對(duì)象。
⇒ 支持多種多樣的圖表和界面展示,比如Grafana等。
Grafana簡(jiǎn)介
Grafana是一個(gè)開源的度量分析與可視化套件。純 Javascript 開發(fā)的前端工具,通過訪問庫(kù)(如InfluxDB),展示自定義報(bào)表、顯示圖表等。大多使用在時(shí)序數(shù)據(jù)的監(jiān)控方面,如同Kibana類似。Grafana的UI更加靈活,有豐富的插件,功能強(qiáng)大。
Grafana支持許多不同的數(shù)據(jù)源。每個(gè)數(shù)據(jù)源都有一個(gè)特定的查詢編輯器,該編輯器定制的特性和功能是公開的特定數(shù)據(jù)來源。
官方支持以下數(shù)據(jù)源:
圖 2 Grafana 頁面展示
IPLOOK 這套方案是怎么工作呢?
圖 3 方案架構(gòu)
這套方案適用于目前IPLOOK開發(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ù)中。
圖 4 Node Exporter統(tǒng)計(jì)的數(shù)據(jù)
以MME模板數(shù)據(jù)展示
圖5 4G NAS移動(dòng)性管理流程
圖6 服務(wù)請(qǐng)求/尋呼流程
圖7 附著/去附著
圖8 跟蹤區(qū)更新流程
圖9 會(huì)話相關(guān)流程
使用這套方案有哪些優(yōu)點(diǎn)?
1.減少開發(fā)的周期。在以前的PM統(tǒng)計(jì)都是使用我們自己開發(fā)的系統(tǒng),從設(shè)計(jì)到整個(gè)項(xiàng)目代碼的編寫耗費(fèi)了大量的時(shí)間,在使用這一套框架后我們可以極大縮短開發(fā)周期,而且這套系統(tǒng)十分穩(wěn)定。
2.更便捷的數(shù)據(jù)維護(hù)。在這套方案中,所有的PM數(shù)據(jù)都會(huì)放到PrometheusServer中進(jìn)行存儲(chǔ),使用PromQL語句可以對(duì)數(shù)據(jù)進(jìn)行一些相加、相減、求平均值等操作,我們的網(wǎng)元只需要把數(shù)據(jù)傳送到PrometheusServer中,而且可以讀歷史數(shù)據(jù)進(jìn)行導(dǎo)入跟導(dǎo)出。
3.擁有酷炫的UI。Granfana提供多種多樣的圖表供開發(fā)者選擇,可以根據(jù)個(gè)人喜好設(shè)計(jì)出非常漂亮的圖表。而且這些制作出來的模板可以進(jìn)行導(dǎo)出分享。