快來學習怎麼可視化監控你的爬蟲

你們好,我是四毛,下面是個人我的公衆號,歡迎關注。有問題的能夠私信我,看到就會回覆。

 

更新 2018年08月03日14:39:32

其實能夠利用scrapy的擴展展現更多的數據,立個flag,後面更新上來python

 

好,開始今天的文章。git

今天主要是來講一下怎麼可視化來監控你的爬蟲的狀態。github

相信你們在跑爬蟲的過程當中,也會好奇本身養的爬蟲一分鐘能夠爬多少頁面,多大的數據量,固然查詢的方式多種多樣。今天我來說一種可視化的方法。sql

關於爬蟲數據在mongodb裏的版本我寫了一個能夠熱更新配置的版本,即添加了新的爬蟲配置之後,不用重啓程序,便可獲取剛剛添加的爬蟲的狀態數據,你們能夠經過關注個人公衆號之後, 回覆「可視化」便可獲取腳本地址。

1.成品圖

 

這個是監控服務器網速的最後成果,顯示的是下載與上傳的網速,單位爲M。爬蟲的原理都是同樣的,只不過將數據存到InfluxDB的方式不同而已, 以下圖。mongodb

能夠實現對爬蟲數量,增量,大小,大小增量的實時監控。數據庫

 

2. 環境

  • InfluxDb,是目前比較流行的時間序列數據庫;
  • Grafana,一個可視化面板(Dashboard),有着很是漂亮的圖表和佈局展現,功能齊全的度量儀表盤和圖形編輯器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB做爲數據源
  • Ubuntu
  • influxdb(pip install influxdb)
  • Python 2.7

 

3. 原理

獲取要展現的數據,包含當前的時間數據,存到InfluxDb裏面,而後再到Grafana裏面進行相應的配置便可展現;json

 

4. 安裝

    4.1 Grafana安裝

             官方安裝指導服務器

安裝好之後,打開本地的3000端口,便可進入管理界面,用戶名與密碼都是admin。app

     4.2 InfulxDb安裝

這個安裝就網上本身找吧,有不少的配置我都沒有配置,就不在這裏誤人子弟了。scrapy

 

5. InfluxDb簡單操做

碰到了數據庫,確定要把增刪改查學會了啊, 和sql幾乎同樣,只有一絲絲的區別,具體操做,你們能夠參考官方的文檔。

  • influx 進入命令行
  • CREATE DATABASE test 建立數據庫
  • show databases 查看數據庫
  • use test 使用數據庫
  • show series 看錶
  • select * from table_test 選擇數據
  • DROP MEASUREMENT table_test 刪表

 

6. 存數據

InfluxDb數據庫的數據有必定的格式,由於我都是利用python庫進行相關操做,因此下面將在python中的格式展現一下:

其中:

  • measurement, 表名
  • time,時間
  • tags,標籤
  • fields,字段

能夠看到,就是個列表裏面,嵌套了一個字典。其中,對於時間字段,有特殊要求,能夠參考這裏, 下面是python實現方法:

因此,到這裏,如何將爬蟲的相關屬性存進去呢?以MongoDB爲例

完整代碼,關注上面的公衆號,發送「」可視化「」便可獲取。

那麼如今咱們已經往數據裏存了數據了,那麼接下來要作的就是把存的數據展現出來。

 

7.展現數據

7.1 配置數據源

以admin登陸到Grafana的後臺後,咱們首先須要配置一下數據源。點擊左邊欄的最下面的按鈕,而後點擊DATA SOURCES,這樣就能夠進入下面的頁面:

點擊ADD DATA SOURCE,進行配置便可,以下圖:

其中,name自行設定;Type 選擇InfluxDB;url爲默認的http://localhost:8086, 其餘的由於我前面沒有進行配置,因此默認的便可。而後在InfluxDB Details裏的填入Database名,最後點擊測試,若是沒有報錯的話,則能夠進入下一步的展現數據了;

7.2 展現數據

點擊左邊欄的+號,而後點擊GRAPH

接着點擊下圖中的edit進入編輯頁面:

從上圖中能夠發現:

  •   中間板塊是最後的數據展現
  • 下面是數據的設置項
  • 右上角是展現時間的設置板塊,在這裏能夠選擇要展現多久的數據

7.2.1 配置數據

  1. 在Data Source中選擇剛剛在配置數據源的時候配置的NAME字段,而不是database名。
  2. 接着在下面選擇要展現的數據。看着就很熟悉是否是,徹底是sql語句的可視化。同時,當咱們的數據放到相關的字段上的時候,雙擊,就會把能夠選擇的項展現出來了,咱們要作的就是直接選擇便可;
  3. 設置右上角的時間,則可讓數據實時進行更新與展現

由於下面的配置實質就是sql查詢語句,因此你們按照本身的需求,進行選擇配置便可,當配置完之後,就能夠在中間的面板裏面看到數據了。

 

 

8. 總結

到這裏,本篇文章就結束了。其中,對於Grafana的操做我沒有介紹的很詳細,由於本篇主要講的是怎麼利用這幾個工具完成咱們的任務。

同時,裏面的功能確實不少,還有能夠安裝的插件。我本身目前仍是僅僅對於用到的部分比較瞭解,因此你們能夠查詢官方的或者別的教程資料來對Grafana進行更深刻的瞭解,製做出更加好看的可視化做品來。

最後,關注公衆號,回覆「可視化」 便可獲取本文代碼哦

相關文章
相關標籤/搜索