相信大家在跑爬蟲的過程中,也會好奇自己養的爬蟲一分鐘可以爬多少頁面,多大的數據量,當然查詢的方式多種多樣。今天我來講一種可視化的方法。
1.成品圖這個是監控伺服器網速的最後成果,顯示的是下載與上傳的網速,單位為M。爬蟲的原理都是一樣的,只不過將數據存到InfluxDB的方式不一樣而已, 如下圖。
可以實現對爬蟲數量,增量,大小,大小增量的實時監控。
2. 環境
InfluxDb,是目前比較流行的時間序列資料庫;
Grafana,一個可視化面板(Dashboard),有著非常漂亮的圖表和布局展示,功能齊全的度量儀錶盤和圖形編輯器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作為數據源
Ubuntu
influxdb(pip install influxdb)
Python 2.7
3. 原理
獲取要展示的數據,包含當前的時間數據,存到InfluxDb裡面,然後再到Grafana裡面進行相應的配置即可展示;
4. 安裝 4.1 Grafana安裝
安裝好以後,打開本地的3000埠,即可進入管理界面,用戶名與密碼都是admin。
4.2 InfulxDb安裝這個安裝就網上自己找吧,有很多的配置我都沒有配置,就不在這裡誤人子弟了。
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 配置數據在Data Source中選擇剛剛在配置數據源的時候配置的NAME欄位,而不是database名。
接著在下面選擇要展示的數據。看著就很熟悉是不是,完全是sql語句的可視化。同時,當我們的數據放到相關的欄位上的時候,雙擊,就會把可以選擇的項展示出來了,我們要做的就是直接選擇即可;
設置右上角的時間,則可以讓數據實時進行更新與展示
因為下面的配置實質就是sql查詢語句,所以大家按照自己的需求,進行選擇配置即可,當配置完以後,就可以在中間的面板裡面看到數據了。
對Python開發技術感興趣的同學,歡迎加下方的交流群一起學習,相互討論。
python交流學習扣扣群:934109170,多多交流問題,互幫互助,群裡有不錯的學習教程和開發工具。學習python有任何問題(學習方法,學習效率,如何就業),可以隨時來諮詢我
好啦!文章就給看官們分享到這兒
最後,如果覺得有幫助,記得關注、轉發、收藏喲