手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

1. 前言

本文并不是講解爬蟲的相關(guān)技術(shù)實現(xiàn)的,而是從實用性的角度,將抓取并存入 MongoDB 的數(shù)據(jù) 用 InfluxDB 進(jìn)行處理,而后又通過 Grafana 將爬蟲抓取數(shù)據(jù)情況通過酷炫的圖形化界面展示出來。

在開始之前,先對 Grafana 和 InfluxDB 做一下簡要的介紹:

  • Grafana:是一個開源的分析和監(jiān)控系統(tǒng),擁有精美的web UI,支持多種圖表,可以展示influxdb中存儲的數(shù)據(jù),并且有報警的功能。
  • **Influxdb **:是一款開源的時間序列數(shù)據(jù)庫,專門用來存儲和時間相關(guān)的數(shù)據(jù)(比如我用它存儲某個時間點爬蟲抓取信息的數(shù)量)。

最終能實現(xiàn)的效果是這樣的:

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

請注意以下操作,都是 Mac 下實現(xiàn)的。但是原理是相似的,你可以在自己的 PC 上進(jìn)行試驗。

2. 安裝配置 InfluxDB

安裝 InfluxDB

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

修改配置文件/usr/local/etc/influxdb.conf,如果原文件中沒有對應(yīng)配置項,需自己添加。

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

3. 安裝配置 Grafana

安裝 Grafana

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

并修改 Grafana 配置文件 /usr/local/etc/grafana/grafana.ini,內(nèi)容如下:

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

4. 爬蟲代碼

由于這里主是要介紹如何將 Grafana 和 InfluxDB 與爬蟲進(jìn)行結(jié)合的方案,而不是主講爬蟲原理,而且代碼也比較多,影響可讀性,所以就不貼出爬取的代碼。

5. 監(jiān)控腳本

考慮到可能要增加爬蟲到監(jiān)控中,因此這里使用了熱更新對監(jiān)控進(jìn)行動態(tài)配置。

配置文件 influx_settings.conf 主要用于熱更新相關(guān)設(shè)置。

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

如何動態(tài)讀取這個配置文件的設(shè)置呢?需要寫一個腳本來監(jiān)控。代碼如下:

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面
手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面
手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面
手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

來試著運行一下

python3 influx_monitor.py 

運行,得到下圖內(nèi)容,表示監(jiān)控腳本運行成功。

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

另建窗口,修改配置文件 influx_settings.conf

# 修改間隔時間為8秒
interval = 8

切換至第一次運行 influxDB 的窗口,會提示配置更新,說明配置熱更新生效。

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

6. 配置 Grafana

首先打開 Chrome 瀏覽器,輸入 http://127.0.0.1:3000 登錄 grafana 頁面。

連接本地 influxDB 數(shù)據(jù)庫,操作如下圖。

在紅色方框內(nèi)選擇 Type 類型為 InfluxDB,并輸入URL:http://localhost:8086

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面
手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

在紅框內(nèi)輸入influxDB數(shù)據(jù)庫名稱

新建 dashboard

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

新建 graph 類型 dashboard

修改 dashboard 設(shè)置

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

點擊紅色方框修改設(shè)定

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

修改 dashboard 配置

設(shè)置監(jiān)控的數(shù)據(jù)對象

在監(jiān)控腳本中,寫入influxDB的代碼如下,其中 "measurement" 對應(yīng) 表名,"fields" 對應(yīng)寫入的字段;

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

7. 運行爬蟲文件

啟動 MongoDB 數(shù)據(jù)庫服務(wù)。

brew services mongodb start

新建一個 terminal 窗口,運行爬蟲文件。

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

爬蟲文件運行成功

我們可以在剛剛打開的控制臺里查看效果展示:

手把手教你實現(xiàn)一個可視化爬蟲監(jiān)控系統(tǒng),酷炫的圖形化界面

怎么樣?學(xué)會了嗎?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容