Heritrix3.0教程(四) CrawlJob控制台界面(一) 大概介绍
?
? ? ? 本博客属原创文章,转载请注明出处:?http://guoyunsky.iteye.com/blog/1744459
? ? ? 我觉得Heritrix很直观的一点就是有控制台,但以前我忽略了这个功能,直接代码启动Heritrix,然后放在Tomcat里.后期才慢慢发现一个UI界面的价值.可以很方便的获知抓取情况,甚至完全在千里之外控制它的抓取.其实慢慢的发现很多开源框架都会有一个UI界面.我觉得这也是大势所趋.但在界面上Heritrix3.0也改动很大,以前采用JSP,所以需要Servlet容器.而Heritrix3.0则通过Rest,我现在还是没完全体会到Rest的好处.虽然在做开放平台,也要用到Rest.以后在慢慢挖掘.
? ? ? 界面从上而下,截图会表明以下的编号(以后补上)…
? ? ? 1.?????? Job test-job (8 launches, last 13h45m ago )
? ? ? ? ? ? ?test-job job名
? ? ? ? ? ? ?8 launches 载入8次
? ? ? ? ? ? ?last 13h45m ago 上一次载入的时间是13h45m,也就是13小时45分钟
? ? 2.?????? 7个按钮,build,launch,pause,unpause,checkpoint,terminate,teardown
? ? ? ? ? ? 1)???????? Build:从无到有创建一个抓取任务
? ? ? ? ? ? 2)???????? Launch:载入一个抓取任务,该抓取任务必须先存在.配置好了的话,可以在该抓取任务基础上进行增量抓取.
? ? ? ? ? ?3)???????? Pause:暂停抓取任务.不会立即停止,要各个线程
? ? ? ? ? ?4)???????? Unpause:重启抓取
? ? ? ? ? ?5)???????? Checkpoint:如同数据库的checkpoint,备份一个抓取任务.备份时会暂停
? ? ? ? ? ?6)???????? Terminate:终止抓取任务.
? ? ? ? ? ?7)???????? Teardown:Heritrix3.0可以运行多个抓取任务,点击该按钮后,当前任务会从多个任务中删除.
? ? ? 3.?????? configuration:?.\jobs\yunjiaoyu-dearedu\crawler-beans.cxml?[edit]
? ? ? ? ? ? ?点击可以修改和查看配置文件crawler-beans.cxml
? ? ? 4.?????? Job Log (more)
? ? ? ? ? ?抓取任务运行日志,一般记录当前Job的build,launch,pause等时间.如果配置文件crawler-beans.cxml有错误,也会记录在该日志中.点击more可以查看更多.
? ? ?5.?????? Job is Active: RUNNING
? ? ? ? ?Job当前运行状态
? ? ? ? ? ? ?1)???????? RUNNING:运行中
? ? ? ? ? ? ?2)
? ? ?6.???????Totals
? ? ? ? ? ? 118715 downloaded + 88955 queued = 207674 total
? ? ? ? ? ? 11 GiB crawled (11 GiB novel, 0 B dup-by-hash, 0 B not-modified)
? ? ? ? ? ? 抓取统计,
? ? ? ? ? ? ? ? ? ?1)???????? 118715 downloaded:已下载的URL个数,这里的下载是获取了网页内容的URL个数,而非写入硬盘.
? ? ? ? ? ? ? ? ? 2)???????? 88955 queued:队列中还等待抓取的URL个数.
? ? ? ? ? ? ? ? ? 3)???????? 207674 total:一共处理的URL个数,也就是118715 downloaded+88955 queued
? ? ? ? ? ? ? ? ? 4)???????? 11 GiB crawled:已获取所有网页内容的字节数
? ? ? ? ? ? ? ? ? 5)???????? 11 GiB novel:所有一般网页内容字节数
? ? ? ? ? ? ? ? ? 6)???????? 0 B dup-by-hash:通过URL hash去重的字节数
? ? ? ? ? ? ? ? ? 7)???????? 0 B not-modified:通过http header中last modified对比,表示网页无更新.所有该网页的字节数
? ? ? ? ?7.???????Alerts
? ? ? ? ? ?none
? ? ? ? ? 通知,一般是一些异常信息.
? ? ? ? 8.???????Rates
? ? ? ? ? ?1.49 URIs/sec (2.3 avg); 35 KB/sec (222 avg)
? ? ? ? ? ?抓取速度:
? ? ? ? ? ? ? ? ?1)???????? 1.49 URIs/sec (2.3 avg):其中1.49 URIs/sec表示当前是每秒平均抓取1.49个URL, 2.3 avg是平均抓取2.3个URL
? ? ? ? ? ? ? ? ?2)???????? 35 KB/sec (222 avg):其中35 KB/sec表示当前每秒抓取35K, 222 avg表示平均抓取速度是222K/秒
? ? ? ? 9.???????Load
? ? ? ? ? ? ? 4 active of 50 threads; 1 congestion ratio; 20678 deepest queue; 12707 average depth
? ? ? ? ? ? ?负载情况:
? ? ? ? ? ? ? ? ? ? 1)???????? 4 active of 50 threads:50个线程里有4个是活跃的
? ? ? ? ? ? ? ? ? ? 2)???????? 1 congestion ratio:堵塞率为1
? ? ? ? ? ? ? ? ? ? 3)???????? 20678 deepest queue:最深的队列为20678,也就是说该队列有20678个URL
? ? ? ? ? ? ? ? ? ? 4)???????? 12707 average depth:队列平均深度为12707
? ? ? ?10.???Elapsed
? ? ? ? ? ? ? 14h21m40s133ms
? ? ? ? ? ? ? ?抓取用时,这里是14小时21分钟40秒133毫秒
? ? ? ?11.?Threads
? ? ? ? ? ? ? 50 threads: 44 ABOUT_TO_GET_URI, 6 ABOUT_TO_BEGIN_PROCESSOR; 44 , 6 fetchHttp
? ? ? ? ? ? ? 线程运行状态.
? ? ? ? ? ? ? ? ? ? 1)???????? 50 threads: 50个线程
? ? ? ? ? ? ? ? ? ? 2)???????? 44 ABOUT_TO_GET_URI:44个线程正在等待获取URL去抓取(温柔抓取)
? ? ? ? ? ? ? ? ? ? 3)???????? 6 ABOUT_TO_BEGIN_PROCESSOR:6个线程开始处理
? ? ? ? ? ? ? ? ? ? 4)???????? 44 , 6 fetchHttp:44和6号线程正在运行fetchHttp处理器
? ? ?12.?Frontier
? ? ? ? ? ? ? ? 16 URI queues: 10 active (6 in-process; 0 ready; 4 snoozed); 0 inactive; 0 ineligible; 0 retired; 6 exhausted [RUN: 0 in, 0 out]
? ? ? ? ? ? ?调度器运行状态:
? ? ? ? ? ? ? ? ? ? 1)?16 URI queues:一共有16个队列
? ? ? ? ? ? ? ? ? ? 2)?10 active(6 in-process; 0 ready; 4 snoozed):有10个队列处于活动状态中,其中6个正在处理,0个正在准备,4个睡眠中(抓取过快,需要暂停响应的时间)
? ? ? ? ? ? ? ? ? ?3)?0 inactive:0个处于未活动状态中
? ? ? ? ? ? ? ? ? ?4)?0 ineligible:0个队列为不合格队列
? ? ? ? ? ? ? ? ? ?5)?0 retired:0个队列为重试队列
? ? ? ? ? ? ? ? ? 6)?6 exhausted [RUN: 0 in, 0 out]:6个队列已经耗尽,如抓取完毕,或抓取URL限制已经达到
? ? ?13.???Memory
? ? ? ? ? ? 419129 KiB used; 989888 KiB current heap; 989888 KiB max heap
? ? ? ? ? ? 内存是使用情况:
? ? ? ? ? ? ?1)???????? 419129 KiB used:419129K正在使用
? ? ? ? ? ? ?2)???????? 989888 KiB current heap:当前为989888K
? ? ? ? ? ? ?3)???????? 989888 KiB max heap:最大为989888K
? ? ?14.?? Crawl Log?more
? ? ? ? ? ? 对应crawl.log,记录每一个URL的运行情况.
? ? ?15.?? Reports
? ? ?CrawlSummary?Seeds?Hosts?SourceTags?Mimetypes?ResponseCode?
? ? ??Processors?FrontierSummaryToeThreads
? ? ? 报表.
? ? ? ? ? ?1)?????????CrawlSummary:总体情况,如已抓取种子数,URL处理数,下载数,下载字节数等
? ? ? ? ? ?2)?????????Seeds:列出每个种子的抓取情况,如状态,重定向等
? ? ? ? ? ?3)?????????Hosts:每个host抓取情况.如该host的URL个数,抓取字节数,剩下要抓取的URL数量等
? ? ? ? ? ?4)?????????SourceTags:对应seedModule中的sourceTags配置
? ? ? ? ? ?5)?????????Mimetypes:对应http-header中的Content-Type.统计不同类型的URL数,抓取字节数
? ? ? ? ? ?6)?????????ResponseCode:对应http response code的统计,统计不同response code的URL个数,
? ? ? ? ? ?7)?????????Processors:各个处理器链ProcessorChain中的各个处理器Processor,以及处理器处理的处理URL个数基本情况
? ? ? ? ? ?8)?????????FrontierSummary:调度器报表,一般人看不懂,接下来会着重说明
? ? ? ? ? ?9)?????????ToeThreads:每个线程的当前运行情况,可以看出每个URL运行到哪一步
? ? ?16.?? Files
? ? ? ? ? ? Browse?Job Directory
? ? ? ? ? ? 浏览当前Job下的所有文件,但只能读,不能修改.
? ? ?17.?? Configuration-referenced Paths
? ? ? ? ? ? 当前Job所引用的文件路径,每个文件,可以点击进去查看.
? ? ?18.?? Advanced
? ? ? ? ? ??Scripting console
? ? ? ? ? ??Browse beans
? ? ? ? ? ?增强功能.
? ? ? ? ? ? ? ? 1)?????????Scripting console?脚本控制台,可以输入脚本去控制和获取Heritrix抓取,很有意思.日后会着重说明.这也是Heritrix3.0为什么一定要基于JDK6的原因.
? ? ? ? ? ? ? ? 2)?????????Browse beans:浏览Bean,可以动态浏览和修改每个Bean,如此也可以动态修改Heritrix的抓取.的确很强悍!
? ? ? ?19.?? Copy
? ? ? ? ? ? ?Copy job to?as profile
? ? ? ? ? ? ?拷贝当前bean,备份需要.