王博遠,梁子陽,劉雪萌,李少彬,謝英柏
(華北電力大學(保定),河北 保定 071000)
隨著城市化進程的發展,城市人口數量逐漸增多,冬季的供暖問題成為保障民生,提升居民生活幸福感的重要指標。近年來,為應對城市供熱面積增大而管網輸送能力不足的問題,大溫差長輸供熱項目在我國的太原、銀川和石家莊等城市已經得到了應用。在長輸供熱管網運行的過程中,對于運行參數進行實時監控顯得尤為重要。一方面,可以通過參數的變化調整電廠的供熱負荷和管網的熱量分配,另一方面,如果測量數據超出正常范圍,也可以做到及時告警,便于運行人員盡早知道事故出現的地點,從而盡早處理,以防造成更大的危害。本文討論利用Telegraf+InfluxDB+Grafana搭建監控平臺,來對長輸供熱管網的運行參數進行實時監控。
Telegraf是一個由插件驅動的服務器代理,用于收集和報告指標。Telegraf集成了直接從其運行的容器和系統中提取各種指標、事件和日志,從第三方API提取指標,甚至通過StatsD和Kafka消費者服務監聽指標。它還具有輸出插件,可將指標發送到各種其他數據存儲,服務和消息隊列,包括InfluxDB、Graphite等。
InfluxDB是用Go語言編寫的一個開源分布式時序、事件和指標數據庫,無需外部依賴。在最新的DB-ENGINES給出的時間序列數據庫的排名中,InfluxDB高居第一位,可以預見,InfluxDB會越來越得到廣泛的應用。
Grafana是一款用Go語言開發的開源數據可視化工具,可以做數據監控和數據統計,帶有告警功能。
Telegraf作為收集和報告指標的服務器代理,具有以下優點:(1)使用Go語言編寫,編譯成單個二進制文件,沒有外部依賴項。(2)占用內存小。(3)可以通過添加新的插件進行輸入輸出。(4)插件中包含常用的服務和API。
InfluxDB作為最常采用的時序數據庫,具有以下優點:(1)內置HTTP API,使用方便。(2)使用類SQL語法,數據查詢便捷。(3)自帶管理界面,管理很簡單,并且讀寫效率高。
同時由于Telegraf和InfluxDB都是由InfluxData公司所開發的軟件,二者在數據的存儲策略上具有高度一致性,因此便于數據在二者之間進行傳遞。
Grafana作為開源數據可視化工具,具有以下優點:(1)擁有快速靈活的客戶端圖表,面板插件有許多不同方式的可視化指標和日志。(2)支持許多不同的時間序列數據(數據源)儲存后端。(3)使用來自不同數據源的豐富事件注釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記。(4)使用Ad-hoc過濾器允許動態創建新的鍵/值過濾器,這些過濾器會自動應用于使用該數據源的所有查詢。
基于Telegraf+InfluxDB+Grafana搭建實時監控平臺是最近幾年新產生的一種架構方法,與傳統監控方式對比,該架構系統簡單,無需編輯腳本,僅需獲得監控數據便可自動抓取數據進行實時展示,操作簡單,便于進行運行維護。
監控系統所起的作用主要可以分為兩個方面:運行監控和故障報警。要實現這兩個功能,則需要不間斷地從測量設備上采集數據,然后通過數據庫轉化為統一的格式,最后使用可視化軟件對數據進行實時的展示,并設置閾值,在數據超出閾值時進行告警。
因此,從功能上看,Telegraf+InfluxDB+Grafana監控系統的基礎構架大致可分為以下幾層:數據收集層、數據存儲層和數據展示及告警層(圖1)。

圖1 監控系統基礎架構
對長輸管網的供熱系統來說,需要監控的數據主要有各級流量、各級壓力、供給水溫度、給水泵和循環水泵頻率等。這些數據由測量儀器測量得到后,將上傳到服務器,接下來,通過Telegraf自帶的API接口針對不同的數據類型進行采集,然后對數據進行進一步處理。
具體步驟如下:(1)通過多種input plugins與不同類型的數據進行匹配,從而將數據進行整合。(2)通過processor plugins和aggregator plugins對導入的數據進行sum,min,max等的函數運算,對數據進行進一步處理。(3)通過output plugins與后端進行對接,這里選用對接InfluxDB的plugin,并設置數據存儲的database以及URL。
由Telegraf導入的數據儲存在InfluxDB里以供Grafana調用和展示,由于InfluxDB是時序數據庫,每條數據都有特定的時間戳,因此每個數據都是獨一無二的??梢栽贗nfluxDB客戶端或者使用二進制的命令行對數據庫進行進一步操作,這里采用命令行操作。
具體步驟如下:(1)在InfluxData官網下載所需版本的InfluxDB壓縮包,并解壓到自定義位置。(2)首先啟動保護進程influxd.exe,然后啟動程序influx.exe輸入命令行進行操作。查詢命令采用類SQL語句,具體格式詳見官網。運行過程中,保護進程不可關閉。(3)可以設置用戶名、密碼等,初始默認端口為8086,也可以對數據庫進行操作,如修改數據保留策略(retention policy),新建數據庫,過濾相關數據等。
數據展示及告警界面為web展示界面,將InfluxDB內的數據通過柱狀圖、餅狀圖、折線圖等形式直觀地展現出來,讓工作人員了解一段時間內供熱管網的壓力溫度等變化,從而對設備做出合適的調整。同時,若某指標超出閾值,系統也能自動向工作人員進行告警,從而及時解決問題,避免出現更大的事故。
具體步驟如下:(1)從GrafanaLabs官網下載所需版本的Grafana壓縮包,并解壓到自定義位置。(2)默認端口為3000,初始用戶名與密碼均為admin,登錄后修改密碼。(3)設置所需的Data Sources,這里選擇Influxdb并輸入所需的數據庫的名稱,點擊Save&Test驗證是否成功連接。(4)創建新的Dashboard,并根據數據類型選擇合適的可視化工具(Visualization)。Grafana社區中有許多plugins可供用戶進行選擇,極大增強了數據的展示效果。再通過使用Grafana中自帶的Query,Variables等功能展示需要的數據。最終可以將完成的Dashboard轉化為json文件進行輸出。(5)Grafana自帶告警功能(Alert)。在Alert面板中設置上下閾值,當測量數據超出閾值范圍后就會進行告警,可以選擇告警的方式,如短信、郵箱等。
監控系統的顯示效果如下圖所示:
(1)熱力站1#熱泵三網供水溫度(℃)監控效果如圖2所示。

圖2 熱力站1#熱泵三網供水溫度(℃)監控效果
(2)中繼泵站一級網供水流量(m3/h)監控效果如圖3所示。

圖3 中繼泵站一級網供水流量(m3/h)監控效果
(3)隔壓站二級網供水壓力(MPa)監控效果如圖4所示。

圖4 隔壓站二級網供水壓力(MPa)監控效果
(4)多個監控值集群監控效果如圖5所示。

圖5 多個監控值集群監控效果
在長輸供熱系統中,應用基于Telegraf+InfluxDB+Grafana的監控系統,能夠實現對測量數據的實時監控,有利于工作人員及早發現問題并及時解決,提高了對于風險的抵抗能力,同時,系統架構簡單,便于運行人員進行維護。