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

1. 前言

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

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

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

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

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

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

2. 安裝配置 InfluxDB

安裝 InfluxDB

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

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

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

3. 安裝配置 Grafana

安裝 Grafana

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

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

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

4. 爬蟲代碼

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

5. 監(jiān)控腳本

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

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

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

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

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

來試著運行一下

python3 influx_monitor.py 

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

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

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

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

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

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

6. 配置 Grafana

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

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

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

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

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

新建 dashboard

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

新建 graph 類型 dashboard

修改 dashboard 設置

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

點擊紅色方框修改設定

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

修改 dashboard 配置

設置監(jiān)控的數據對象

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

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

7. 運行爬蟲文件

啟動 MongoDB 數據庫服務。

brew services mongodb start

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

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

爬蟲文件運行成功

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

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

怎么樣?學會了嗎?

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容