IPLOOK 核心網產品除了通過核心網網管中心這種方式進行性能采集和統(tǒng)計分析。還支持使用Prometheus+Grafana的方案進行性能采集和統(tǒng)計分析。下面讓我們看看Prometheus+Grafana究竟如何和IPLOOK核心網一起翩翩起舞!
什么是Prometheus?
Prometheus是由SoundCloud開發(fā)的開源監(jiān)控報警系統(tǒng)和時序列數據庫(TSDB)。Prometheus使用Go語言開發(fā),是Google BorgMon監(jiān)控系統(tǒng)的開源版本。
2016年由Google發(fā)起Linux基金會旗下的原生云基金會(Cloud Native Computing Foundation), 將Prometheus納入其下第二大開源項目。
Prometheus目前在開源社區(qū)相當活躍。
Prometheus和Heapster(Heapster是K8S的一個子項目,用于獲取集群的性能數據。)相比功能更完善、更全面。Prometheus性能也足夠支撐上萬臺規(guī)模的集群。

圖 1 Prometheus架構
Prometheus有哪些特點?
⇒ 多維度數據模型。
⇒ 靈活的查詢語言。
⇒ 不依賴分布式存儲,單個服務器節(jié)點是自主的。
⇒ 通過基于HTTP的pull方式采集時序數據。
⇒ 可以通過中間網關進行時序列數據推送。
⇒ 通過服務發(fā)現或者靜態(tài)配置來發(fā)現目標服務對象。
⇒ 支持多種多樣的圖表和界面展示,比如Grafana等。
Grafana簡介
Grafana是一個開源的度量分析與可視化套件。純 Javascript 開發(fā)的前端工具,通過訪問庫(如InfluxDB),展示自定義報表、顯示圖表等。大多使用在時序數據的監(jiān)控方面,如同Kibana類似。Grafana的UI更加靈活,有豐富的插件,功能強大。
Grafana支持許多不同的數據源。每個數據源都有一個特定的查詢編輯器,該編輯器定制的特性和功能是公開的特定數據來源。
官方支持以下數據源:

圖 2 Grafana 頁面展示
IPLOOK 這套方案是怎么工作呢?

圖 3 方案架構
這套方案適用于目前IPLOOK開發(fā)的所有EPC以及5GC的網元產品。
在這套方案中,我們的網元相當于 Prometheus 的一個 client 端,在 PrometheusServer 端配置需要抓取數據的目標網元IP跟端口,以及抓取數據的間隔時間,就能定時從各網元中按照規(guī)定的格式抓取各項KPI數據,在拿到數據后,按照時間存儲到TSDB數據庫中。

圖 4 Node Exporter統(tǒng)計的數據
以MME模板數據展示

圖5 4G NAS移動性管理流程

圖6 服務請求/尋呼流程

圖7 附著/去附著

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

圖9 會話相關流程
使用這套方案有哪些優(yōu)點?
1.減少開發(fā)的周期。在以前的PM統(tǒng)計都是使用我們自己開發(fā)的系統(tǒng),從設計到整個項目代碼的編寫耗費了大量的時間,在使用這一套框架后我們可以極大縮短開發(fā)周期,而且這套系統(tǒng)十分穩(wěn)定。
2.更便捷的數據維護。在這套方案中,所有的PM數據都會放到PrometheusServer中進行存儲,使用PromQL語句可以對數據進行一些相加、相減、求平均值等操作,我們的網元只需要把數據傳送到PrometheusServer中,而且可以讀歷史數據進行導入跟導出。
3.擁有酷炫的UI。Granfana提供多種多樣的圖表供開發(fā)者選擇,可以根據個人喜好設計出非常漂亮的圖表。而且這些制作出來的模板可以進行導出分享。