如何簡單高效地部署和監控分布式爬蟲專案

2021-09-02 02:43:07 字數 2546 閱讀 2498

圖為本專案來自scrapy官方賬號的推薦

初級使用者:

專業使用者:

集群多節點部署專案和執行爬蟲:

1、請先確保所有主機都已經安裝和啟動 scrapyd,如果需要遠端訪問 scrapyd,則需將 scrapyd 配置檔案中的 bind_address 修改為 bind_address = 0.0.0.0,然後重啟 scrapyd。

2、開發主機或任一台主機安裝 scrapydweb: pip install scrapydweb

3、執行命令 scrapydweb -h,將在當前工作目錄生成配置檔案 scrapydweb_settings.py,可用於下文的自定義配置。

4、啟用 http 基本認證:

enable_auth = true

username = 'username'

password = 'password'

5、新增 scrapyd server,支援字串和元組兩種配置格式,支援新增認證資訊和分組/標籤:

scrapyd_servers = [

'127.0.0.1',

# 'username:password@localhost:6801#group',

('username', 'password', 'localhost', '6801', 'group'),

]

6、通過執行命令 scrapydweb 啟動 scrapydweb

四、訪問 web ui

通過瀏覽器訪問並登入

基於後台定時讀取和分析 scrapy log 檔案,scrapydweb將在滿足特定觸發器時傳送通知郵件,郵件正文包含當前執行任務的統計資訊。

1、新增郵箱帳號:

smtp_server = 'smtp.qq.com'

smtp_port = 465

smtp_over_ssl = true

smtp_connection_timeout = 10

from_addr = '[email protected]'

email_password = 'password'

to_addrs = ['[email protected]']

2、設定郵件工作時間和基本觸發器,以下示例代表:每隔1小時或某一任務完成時,並且當前時間是工作日的9點,12點和17點,scrapydweb 將會傳送通知郵件。

email_working_days = [1, 2, 3, 4, 5]

email_working_hours = [9, 12, 17]

on_job_running_interval = 3600

on_job_finished = true

3、除了基本觸發器,scrapydweb還提供了多種觸發器用於處理不同型別的 log,包括 'critical', 'error', 'warning', 'redirect', 'retry' 和 'ignore'等。

log_critical_threshold = 3

log_critical_trigger_stop = true

log_critical_trigger_forcestop = false

#...

log_ignore_trigger_forcestop = false

以上示例代表:當發現3條或3條以上的 critical 級別的 log 時,scrapydweb自動停止當前任務,如果當前時間在郵件工作時間內,則同時傳送通知郵件。

活捉幾隻官方大佬,趕緊前去圍觀吧,別忘了 star 噢!

分布式監控部署之Ganglia

ganglia分布式監控部署 1 ganglia介紹 2 ganglia安裝和配置 3 修改相應的配置檔案 4 結果展示 5 許可權問題解決方法 一 介紹 ganglia是由uc berkeley發起的乙個開源監控專案,設計用於監控數以千幾的節點。每台伺服器都執行乙個收集和傳送監控資料名為gmond...

ganglia分布式監控軟體集群部署

ganglia的核心包含gmond gmetad以及乙個web前端。主要是用來監控系統效能,如 cpu mem 硬碟利用率,i o負載 網路流量情況等,通過曲線很容易見到每個節點的工作狀態,對合理調整 分配系統資源,提高系統整體效能起到重要作用。ganglia是一種分布式監控系統。ganglia的設...

zabbix分布式監控部署proxy安裝

之前寫過一篇原始碼安裝zabbix2.2.9版本,server端安裝文件 下面分享一下zabbix分布式監控proxy安裝過程 環境說明 centos6.6 64位系統 lamp環境 前提是zabbix server端已經安裝完畢,server ip為192.168.20.10,proxy本機 ip...