好,開始今天的文章贿衍。
今天主要是來說一下怎么可視化來監(jiān)控你的爬蟲的狀態(tài)授舟。
相信大家在跑爬蟲的過程中,也會好奇自己養(yǎng)的爬蟲一分鐘可以爬多少頁面贸辈,多大的數(shù)據(jù)量释树,當(dāng)然查詢的方式多種多樣。今天我來講一種可視化的方法。
關(guān)于爬蟲數(shù)據(jù)在mongodb里的版本我寫了一個可以熱更新配置的版本奢啥,即添加了新的爬蟲配置以后秸仙,不用重啟程序,即可獲取剛剛添加的爬蟲的狀態(tài)數(shù)據(jù)桩盲。
1.成品圖
這個是監(jiān)控服務(wù)器網(wǎng)速的最后成果寂纪,顯示的是下載與上傳的網(wǎng)速,單位為M正驻。爬蟲的原理都是一樣的弊攘,只不過將數(shù)據(jù)存到InfluxDB的方式不一樣而已, 如下圖姑曙。
可以實現(xiàn)對爬蟲數(shù)量襟交,增量,大小伤靠,大小增量的實時監(jiān)控捣域。
2. 環(huán)境
InfluxDb,是目前比較流行的時間序列數(shù)據(jù)庫宴合;
Grafana焕梅,一個可視化面板(Dashboard),有著非常漂亮的圖表和布局展示卦洽,功能齊全的度量儀表盤和圖形編輯器贞言,支持Graphite、zabbix阀蒂、InfluxDB该窗、Prometheus和OpenTSDB作為數(shù)據(jù)源
Ubuntu
influxdb(pip install influxdb)
Python 2.7
3. 原理
獲取要展示的數(shù)據(jù),包含當(dāng)前的時間數(shù)據(jù)蚤霞,存到InfluxDb里面酗失,然后再到Grafana里面進行相應(yīng)的配置即可展示;
4. 安裝
4.1 Grafana安裝
官方安裝指導(dǎo)
安裝好以后昧绣,打開本地的3000端口规肴,即可進入管理界面,用戶名與密碼都是admin夜畴。
4.2 InfulxDb安裝
這個安裝就網(wǎng)上自己找吧拖刃,有很多的配置我都沒有配置,就不在這里誤人子弟了贪绘。
5. InfluxDb簡單操作
碰到了數(shù)據(jù)庫序调,肯定要把增刪改查學(xué)會了啊, 和sql幾乎一樣兔簇,只有一絲絲的區(qū)別,具體操作,大家可以參考官方的文檔垄琐。
influx?進入命令行
CREATE DATABASE test?創(chuàng)建數(shù)據(jù)庫
show databases?查看數(shù)據(jù)庫
use test?使用數(shù)據(jù)庫
show series?看表
select * from table_test?選擇數(shù)據(jù)
DROP MEASUREMENT table_test?刪表
6. 存數(shù)據(jù)
InfluxDb數(shù)據(jù)庫的數(shù)據(jù)有一定的格式边酒,因為我都是利用python庫進行相關(guān)操作,所以下面將在python中的格式展示一下:
其中:
measurement, 表名
time狸窘,時間
tags墩朦,標(biāo)簽
fields,字段
可以看到翻擒,就是個列表里面氓涣,嵌套了一個字典。其中陋气,對于時間字段劳吠,有特殊要求,可以參考這里巩趁, 下面是python實現(xiàn)方法:
所以痒玩,到這里,如何將爬蟲的相關(guān)屬性存進去呢议慰?以MongoDB為例
那么現(xiàn)在我們已經(jīng)往數(shù)據(jù)里存了數(shù)據(jù)了蠢古,那么接下來要做的就是把存的數(shù)據(jù)展示出來。
7.展示數(shù)據(jù)
7.1 配置數(shù)據(jù)源
以admin登錄到Grafana的后臺后别凹,我們首先需要配置一下數(shù)據(jù)源草讶。點擊左邊欄的最下面的按鈕,然后點擊DATA SOURCES炉菲,這樣就可以進入下面的頁面:
點擊ADD DATA SOURCE堕战,進行配置即可,如下圖:
其中颁督,name自行設(shè)定践啄;Type 選擇InfluxDB;url為默認(rèn)的http://localhost:8086沉御, 其他的因為我前面沒有進行配置屿讽,所以默認(rèn)的即可。然后在InfluxDB Details里的填入Database名吠裆,最后點擊測試伐谈,如果沒有報錯的話,則可以進入下一步的展示數(shù)據(jù)了试疙;
在學(xué)習(xí)中有迷茫不知如何學(xué)習(xí)的朋友小編推薦一個學(xué)Python的學(xué)習(xí)裙[663033228]無論你是大牛還是小白诵棵,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具祝旷,很多干貨和技術(shù)資料分享履澳!
7.2 展示數(shù)據(jù)
點擊左邊欄的+號嘶窄,然后點擊GRAPH
接著點擊下圖中的edit進入編輯頁面:
從上圖中可以發(fā)現(xiàn):
中間板塊是最后的數(shù)據(jù)展示
下面是數(shù)據(jù)的設(shè)置項
右上角是展示時間的設(shè)置板塊,在這里可以選擇要展示多久的數(shù)據(jù)
7.2.1 配置數(shù)據(jù)
在Data Source中選擇剛剛在配置數(shù)據(jù)源的時候配置的NAME字段距贷,而不是database名柄冲。
接著在下面選擇要展示的數(shù)據(jù)≈一龋看著就很熟悉是不是现横,完全是sql語句的可視化。同時阁最,當(dāng)我們的數(shù)據(jù)放到相關(guān)的字段上的時候戒祠,雙擊,就會把可以選擇的項展示出來了速种,我們要做的就是直接選擇即可姜盈;
設(shè)置右上角的時間,則可以讓數(shù)據(jù)實時進行更新與展示
因為下面的配置實質(zhì)就是sql查詢語句哟旗,所以大家按照自己的需求贩据,進行選擇配置即可,當(dāng)配置完以后闸餐,就可以在中間的面板里面看到數(shù)據(jù)了饱亮。
8. 總結(jié)
到這里,本篇文章就結(jié)束了舍沙。其中近上,對于Grafana的操作我沒有介紹的很詳細,因為本篇主要講的是怎么利用這幾個工具完成我們的任務(wù)拂铡。
同時壹无,里面的功能確實很多,還有可以安裝的插件感帅。我自己目前還是僅僅對于用到的部分比較了解斗锭,所以大家可以查詢官方的或者別的教程資料來對Grafana進行更深入的了解,制作出更加好看的可視化作品來失球。