爬蟲管理平臺 Crawlab 專業(yè)版新功能介紹: 性能監(jiān)控

      網(wǎng)友投稿 1109 2025-03-31

      前言

      Crawlab 是基于 Golang 的分布式爬蟲管理平臺,旨在解決大量不同種類的爬蟲管理困難的問題。Crawlab 的目標(biāo)是輕松管理一切爬蟲,讓爬蟲管理變得更簡單(Easy Crawling)。自去年(2019年)3月份上線以來,Crawlab 經(jīng)歷了大量的迭代和優(yōu)化,受到爬蟲愛好者們和開發(fā)者們的好評。如今在 Github 上已經(jīng)有 6.4k Star,總用戶數(shù)接近 7k,成為了最受歡迎的爬蟲管理平臺。經(jīng)過近數(shù)月的迭代,我們陸續(xù)上線了定時(shí)任務(wù)、數(shù)據(jù)分析、可配置爬蟲、SDK、消息通知、Scrapy 支持、Git 同步等功能,將 Crawlab 打造得更加實(shí)用,更加全面,能夠真正幫助用戶解決爬蟲管理困難的問題。

      Crawlab 專業(yè)版

      Crawlab 專業(yè)版 (Crawlab Pro) 是針對專業(yè)用戶以及企業(yè)量身打造的。它的穩(wěn)定性更高,相較于 Crawlab 社區(qū)版功能更強(qiáng)大。專業(yè)版在底層特別是數(shù)據(jù)庫層面做了大量的優(yōu)化,保證爬蟲任務(wù)能夠穩(wěn)定而高效的運(yùn)行并抓取數(shù)據(jù)。此外,專業(yè)版相較于社區(qū)版有很多強(qiáng)大的專屬功能,例如節(jié)點(diǎn)、數(shù)據(jù)庫監(jiān)控功能,SQL 數(shù)據(jù)庫 (MySQL、Postgres) 集成等等。近期我們將上線 Kafka、ElasticSearch 集成的功能,以幫助 Crawlab 用戶更好的集成自己的數(shù)據(jù)系統(tǒng) (例如數(shù)據(jù)倉庫)。在未來,我們將支持更加高級的可配置爬蟲。

      為什么會開發(fā)專業(yè)版產(chǎn)品?其實(shí),最開始我們只是打算商業(yè)化來收取一些費(fèi)用來負(fù)擔(dān)服務(wù)器的費(fèi)用。但是,后來我們突然發(fā)現(xiàn),專業(yè)版用戶(或企業(yè)用戶)的反饋意見比社區(qū)版用戶提出的問題要有價(jià)值得多,特別是在企業(yè)使用 Crawlab 方面,讓我們意識到很多需要解決的真實(shí)問題。于是,我們相信收費(fèi)是一個(gè)產(chǎn)品改進(jìn)的最好途徑,因?yàn)楹苌儆腥藭σ粋€(gè)免費(fèi)產(chǎn)品各種挑剔。只有付了錢或上了生產(chǎn)環(huán)境,用戶才會占在提出真正的反饋意見,而且往往都是非常實(shí)用而且我們意識不到的問題。因此,我們會堅(jiān)持開發(fā) Crawlab 的商業(yè)版本,并根據(jù)付費(fèi)用戶的反饋意見不斷完善產(chǎn)品,讓所有人都能輕松管理一切爬蟲。

      下面,我們將詳細(xì)介紹 Crawlab 專業(yè)版的一個(gè)強(qiáng)大而實(shí)用的專屬功能:性能監(jiān)控。

      性能監(jiān)控

      對于企業(yè)級應(yīng)用來說,特別是分布式應(yīng)用服務(wù),經(jīng)常需要監(jiān)控各個(gè)服務(wù)器或數(shù)據(jù)庫的性能指標(biāo),例如 CPU、內(nèi)存、磁盤空間以及網(wǎng)絡(luò)資源。爬蟲管理平臺同樣不例外,也是需要了解爬蟲所在節(jié)點(diǎn)的性能狀況,以便更合理的分配資源、及時(shí)擴(kuò)容等等。否則,可能會出現(xiàn)一些意料不到的狀況。例如,當(dāng)分布式爬蟲抓取的數(shù)據(jù)量非常大,占滿了磁盤空間,這將導(dǎo)致服務(wù)器上的應(yīng)用崩潰;同樣的,如果服務(wù)器的 CPU 或內(nèi)存被占滿,將導(dǎo)致服務(wù)器無法登錄、操作或運(yùn)行應(yīng)用等問題。這通常都將是災(zāi)難性的,如果數(shù)據(jù)量比較大、應(yīng)用服務(wù)較多,恢復(fù)起來也是個(gè)很頭疼的問題。

      為了解決這個(gè)問題,我們在 Crawlab 專業(yè)版中加入了節(jié)點(diǎn)/數(shù)據(jù)庫性能監(jiān)控功能,以幫助用戶更方便的時(shí)刻掌握自己分布式節(jié)點(diǎn)的性能狀況,預(yù)測好性能瓶頸,好隨時(shí)擴(kuò)容或合理分配資源。

      Crawlab 專業(yè)版的監(jiān)控功能主要包括兩個(gè):

      監(jiān)控概覽

      監(jiān)控時(shí)序圖

      前言

      Crawlab 是基于 Golang 的分布式爬蟲管理平臺,旨在解決大量不同種類的爬蟲管理困難的問題。Crawlab 的目標(biāo)是輕松管理一切爬蟲,讓爬蟲管理變得更簡單(Easy Crawling)。自去年(2019年)3月份上線以來,Crawlab 經(jīng)歷了大量的迭代和優(yōu)化,受到爬蟲愛好者們和開發(fā)者們的好評。如今在 Github 上已經(jīng)有 6.4k Star,總用戶數(shù)接近 7k,成為了最受歡迎的爬蟲管理平臺。經(jīng)過近數(shù)月的迭代,我們陸續(xù)上線了定時(shí)任務(wù)、數(shù)據(jù)分析、可配置爬蟲、SDK、消息通知、Scrapy 支持、Git 同步等功能,將 Crawlab 打造得更加實(shí)用,更加全面,能夠真正幫助用戶解決爬蟲管理困難的問題。

      Crawlab 專業(yè)版

      Crawlab 專業(yè)版 (Crawlab Pro) 是針對專業(yè)用戶以及企業(yè)量身打造的。它的穩(wěn)定性更高,相較于 Crawlab 社區(qū)版功能更強(qiáng)大。專業(yè)版在底層特別是數(shù)據(jù)庫層面做了大量的優(yōu)化,保證爬蟲任務(wù)能夠穩(wěn)定而高效的運(yùn)行并抓取數(shù)據(jù)。此外,專業(yè)版相較于社區(qū)版有很多強(qiáng)大的專屬功能,例如節(jié)點(diǎn)、數(shù)據(jù)庫監(jiān)控功能,SQL 數(shù)據(jù)庫 (MySQL、Postgres) 集成等等。近期我們將上線 Kafka、ElasticSearch 集成的功能,以幫助 Crawlab 用戶更好的集成自己的數(shù)據(jù)系統(tǒng) (例如數(shù)據(jù)倉庫)。在未來,我們將支持更加高級的可配置爬蟲。

      爬蟲管理平臺 Crawlab 專業(yè)版新功能介紹: 性能監(jiān)控

      為什么會開發(fā)專業(yè)版產(chǎn)品?其實(shí),最開始我們只是打算商業(yè)化來收取一些費(fèi)用來負(fù)擔(dān)服務(wù)器的費(fèi)用。但是,后來我們突然發(fā)現(xiàn),專業(yè)版用戶(或企業(yè)用戶)的反饋意見比社區(qū)版用戶提出的問題要有價(jià)值得多,特別是在企業(yè)使用 Crawlab 方面,讓我們意識到很多需要解決的真實(shí)問題。于是,我們相信收費(fèi)是一個(gè)產(chǎn)品改進(jìn)的最好途徑,因?yàn)楹苌儆腥藭σ粋€(gè)免費(fèi)產(chǎn)品各種挑剔。只有付了錢或上了生產(chǎn)環(huán)境,用戶才會占在提出真正的反饋意見,而且往往都是非常實(shí)用而且我們意識不到的問題。因此,我們會堅(jiān)持開發(fā) Crawlab 的商業(yè)版本,并根據(jù)付費(fèi)用戶的反饋意見不斷完善產(chǎn)品,讓所有人都能輕松管理一切爬蟲。

      下面,我們將詳細(xì)介紹 Crawlab 專業(yè)版的一個(gè)強(qiáng)大而實(shí)用的專屬功能:性能監(jiān)控。

      性能監(jiān)控

      對于企業(yè)級應(yīng)用來說,特別是分布式應(yīng)用服務(wù),經(jīng)常需要監(jiān)控各個(gè)服務(wù)器或數(shù)據(jù)庫的性能指標(biāo),例如 CPU、內(nèi)存、磁盤空間以及網(wǎng)絡(luò)資源。爬蟲管理平臺同樣不例外,也是需要了解爬蟲所在節(jié)點(diǎn)的性能狀況,以便更合理的分配資源、及時(shí)擴(kuò)容等等。否則,可能會出現(xiàn)一些意料不到的狀況。例如,當(dāng)分布式爬蟲抓取的數(shù)據(jù)量非常大,占滿了磁盤空間,這將導(dǎo)致服務(wù)器上的應(yīng)用崩潰;同樣的,如果服務(wù)器的 CPU 或內(nèi)存被占滿,將導(dǎo)致服務(wù)器無法登錄、操作或運(yùn)行應(yīng)用等問題。這通常都將是災(zāi)難性的,如果數(shù)據(jù)量比較大、應(yīng)用服務(wù)較多,恢復(fù)起來也是個(gè)很頭疼的問題。

      為了解決這個(gè)問題,我們在 Crawlab 專業(yè)版中加入了節(jié)點(diǎn)/數(shù)據(jù)庫性能監(jiān)控功能,以幫助用戶更方便的時(shí)刻掌握自己分布式節(jié)點(diǎn)的性能狀況,預(yù)測好性能瓶頸,好隨時(shí)擴(kuò)容或合理分配資源。

      Crawlab 專業(yè)版的監(jiān)控功能主要包括兩個(gè):

      監(jiān)控概覽

      監(jiān)控時(shí)序圖

      在 Crawlab 專業(yè)版首頁,我們可以看到 MongoDB 數(shù)據(jù)庫、Redis 數(shù)據(jù)庫、主節(jié)點(diǎn)、工作節(jié)點(diǎn)的性能數(shù)據(jù)概覽。這些都是及時(shí)獲取的數(shù)據(jù),反應(yīng)的是當(dāng)前各個(gè)節(jié)點(diǎn)數(shù)據(jù)庫的性能狀況(如下圖)。

      從這個(gè)圖我們看到,其實(shí)主節(jié)點(diǎn)(Master)和工作節(jié)點(diǎn)(Worker)的負(fù)載,例如內(nèi)存,都已經(jīng)比較高了,工作節(jié)點(diǎn)的 CPU 負(fù)載甚至達(dá)到了 100%。這時(shí),為了擴(kuò)展業(yè)務(wù),我們可以考慮增加一臺服務(wù)器來部署 Crawlab 工作節(jié)點(diǎn)。

      每次登錄 Crawlab 專業(yè)版,節(jié)點(diǎn)數(shù)據(jù)庫性能指標(biāo)是我們第一個(gè)看到的數(shù)據(jù),這能幫助我們時(shí)刻了解分布式集群的健康狀況,從而避免因資源不夠而導(dǎo)致的抓取流程中斷。

      在 “監(jiān)控” 頁面,我們可以看到各個(gè)節(jié)點(diǎn)、數(shù)據(jù)庫的性能指標(biāo)時(shí)序圖(如下圖)。監(jiān)控時(shí)序圖能幫助我們了解過去的性能演化情況,通過增長速率預(yù)測未來的性能瓶頸,并幫助我們隨時(shí)采取相應(yīng)的措施。

      從這張圖我們看到,節(jié)點(diǎn)磁盤空間的增長速度大概是 0.4% 每小時(shí),也就是 9.6% 每天。這是一個(gè)非常高的增長速度。也就是說,如果我們不采取任何措施的話,5 天內(nèi)磁盤空間就會觸頂,這將導(dǎo)致節(jié)點(diǎn)磁盤空間不足,從而發(fā)生宕機(jī)的風(fēng)險(xiǎn)。因此,我檢查了一下磁盤空間上升的原因,發(fā)現(xiàn) Docker 日志無限制增長導(dǎo)致的。知道了原因就很簡單了,我后續(xù)限制了 Docker 容器日志大小為 500MB,防止其無限制增長導(dǎo)致磁盤空間占滿。

      客戶案例

      我們有一位企業(yè)客戶,在成功部署了我們的 Crawlab 專業(yè)版之后,開始使用很順利,都能夠順利抓取數(shù)據(jù)。當(dāng)時(shí),在這臺服務(wù)器上部署有:Crawlab 主節(jié)點(diǎn)、MongoDB、Redis。后來通過性能監(jiān)控發(fā)現(xiàn) MongoDB 的數(shù)據(jù)增長速度很快,內(nèi)存迅速到達(dá)瓶頸。于是,客戶決定擴(kuò)容,我們幫其在新服務(wù)器上部署了 Crawlab 工作節(jié)點(diǎn),并通過內(nèi)網(wǎng)連接到原 MongoDB 和 Redis,成功加入集群。隨著客戶業(yè)務(wù)量的增大,同時(shí)運(yùn)行的爬蟲數(shù)量越來越多,消耗的 CPU、內(nèi)存、網(wǎng)絡(luò)帶寬資源又逐漸達(dá)到瓶頸。我們建議將主節(jié)點(diǎn)遷移出來,保證數(shù)據(jù)與服務(wù)隔離,同時(shí)空出更多的資源給爬蟲。我們接著又幫助客戶在新采購的兩臺服務(wù)器上部署了 Crawlab 專業(yè)版,將原先的主節(jié)點(diǎn)遷移到一臺新服務(wù)器,在另一臺新服務(wù)器上部署工作節(jié)點(diǎn)。這樣調(diào)整以后,各個(gè)資源的負(fù)載更加均衡了,抓取穩(wěn)定性也更好了。

      整個(gè)架構(gòu)的演進(jìn)過程如下圖。

      可以看到,性能監(jiān)控功能幫助客戶及時(shí)掌握自己的爬蟲管理平臺健康狀況,保證能夠在業(yè)務(wù)量增大的時(shí)候處變不驚。這就跟我們開車一樣,需要一個(gè)實(shí)時(shí)的儀表盤,能夠看到速度、引擎轉(zhuǎn)速、發(fā)動機(jī)溫度等指標(biāo),協(xié)助我們安全駕車。

      總結(jié)

      Crawlab 專業(yè)版的性能監(jiān)控功能是一個(gè)非常實(shí)用的功能,能夠幫助用戶全方位的隨時(shí)掌握節(jié)點(diǎn)動態(tài),及時(shí)調(diào)整資源分配或擴(kuò)容。如果沒有性能監(jiān)控,就像飛行員靠肉眼開飛機(jī)一樣危險(xiǎn)。因此,我們推薦每一個(gè)希望應(yīng)用 Crawlab 在企業(yè)生產(chǎn)環(huán)境的用戶,都使用 Crawlab 專業(yè)版。

      我知道很多企業(yè)都有部署 Zabbix、Prometheus+Grafana 來監(jiān)控節(jié)點(diǎn)性能。當(dāng)然,這些都是很棒的工具,我并不反對使用它們。只是 Crawlab 專業(yè)版內(nèi)置了這些功能,讓我們隨時(shí)都能在一個(gè)一體化平臺中看到相關(guān)性能指標(biāo),而不是打開新的頁面來查看,這樣要來得更方便一些;另外,Zabbix、Prometheus 同樣需要專門部署,而 Crawlab 專業(yè)版是內(nèi)置的,不需要專門部署安裝,非常方便。有了專業(yè)版之后,其實(shí)完全可以不用其他的性能監(jiān)控工具了。

      參考

      官網(wǎng): https://www.crawlab.cn

      演示: https://demo.crawlab.cn

      文檔: https://docs.crawlab.cn

      如何購買專業(yè)版: https://www.crawlab.cn/purchase-pro

      Go

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何在wps表格中修改默認(rèn)字號(wps表格怎么修改默認(rèn)字體)
      下一篇:Excel中使用簡單的VBA語句來實(shí)現(xiàn)批量取消隱藏工作表功能
      相關(guān)文章
      在线综合亚洲欧洲综合网站 | 亚洲国产女人aaa毛片在线| 最新亚洲精品国偷自产在线 | 亚洲人成网站在线观看播放青青| 亚洲成在人线av| 国产AV无码专区亚洲AV漫画| 亚洲国产一区二区三区| 精品久久久久久亚洲中文字幕| 亚洲国产成人无码AV在线影院| 狠狠色香婷婷久久亚洲精品| 亚洲人xxx日本人18| 亚洲精品国产第1页| 亚洲免费视频播放| 亚洲成AV人片久久| 亚洲精品人成网在线播放影院| 亚洲一级特黄特黄的大片| 中文字幕在线日亚洲9| 亚洲欧美成aⅴ人在线观看| 亚洲精品国产首次亮相| 亚洲AV无码成人精品区狼人影院 | 99ri精品国产亚洲| 亚洲成AV人综合在线观看| 亚洲va乱码一区二区三区| 97久久国产亚洲精品超碰热| 亚洲最大天堂无码精品区| 亚洲av无码成人影院一区| 亚洲国产精品成人久久蜜臀| 亚洲中久无码不卡永久在线观看| ZZIJZZIJ亚洲日本少妇JIZJIZ| 中文字幕精品亚洲无线码一区 | 中国亚洲女人69内射少妇| 国产成人无码综合亚洲日韩| 亚洲欧洲第一a在线观看| 久久久久亚洲精品日久生情| 亚洲午夜国产精品| 亚洲国产精品网站在线播放| 亚洲国产精品成人| 亚洲av无码成h人动漫无遮挡| 亚洲欧洲综合在线| 亚洲欧洲无码AV不卡在线| 国产一区二区三区亚洲综合|