手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

1. 前言

本文並不是講解爬蟲的相關技術實現的,而是從實用性的角度,將抓取並存入 MongoDB 的數據 用 InfluxDB 進行處理,而後又通過 Grafana 將爬蟲抓取數據情況通過酷炫的圖形化界面展示出來。(喜歡的可以轉發評論,需要Python學習福利私信小編“123”

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

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

最終能實現的效果是這樣的:

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

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

2. 安裝配置 InfluxDB

安裝 InfluxDB

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

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

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

3. 安裝配置 Grafana

安裝 Grafana

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

並修改 Grafana 配置文件 /usr/local/etc/grafana/grafana.ini,內容如下:

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

4. 爬蟲代碼

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

5. 監控腳本

考慮到可能要增加爬蟲到監控中,因此這裡使用了熱更新對監控進行動態配置。

配置文件 influx_settings.conf 主要用於熱更新相關設置。

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

如何動態讀取這個配置文件的設置呢?需要寫一個腳本來監控。代碼如下:

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

來試著運行一下

python3 influx_monitor.py 

運行,得到下圖內容,表示監控腳本運行成功。

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

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

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

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

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

6. 配置 Grafana

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

連接本地 influxDB 數據庫,操作如下圖。

在紅色方框內選擇 Type 類型為 InfluxDB,並輸入URL:http://localhost:8086

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

在紅框內輸入influxDB數據庫名稱

新建 dashboard

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

新建 graph 類型 dashboard

修改 dashboard 設置

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

點擊紅色方框修改設定

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

修改 dashboard 配置

設置監控的數據對象

在監控腳本中,寫入influxDB的代碼如下,其中 "measurement" 對應 表名,"fields" 對應寫入的字段;

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

7. 運行爬蟲文件

啟動 MongoDB 數據庫服務。

brew services mongodb start

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

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

爬蟲文件運行成功

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

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

手把手教你實現一個可視化爬蟲監控系統,酷炫的圖形化界面

怎麼樣?學會了嗎?


分享到:


相關文章: