SWBcontent Heritrix 3.x Konfigurations-UI SWBcontent Konfigurations-UI Prinzip des SWBcontent...

Preview:

Citation preview

1

SWBcontent

Heritrix 3.x Konfigurations-UI

Dr. Barbara Löhle

Bibliotheksservice-Zentrum Baden-Württemberg

Dienstag, 03.12.2013 Konstanz

2 Dr. Barbara Löhle | Heritrix 3.x Konfigurations-UI | 03.12.2013

Inhalt

Systemarchitektur - Stand 2013 - Komponenten

Integration von Heritrix 3.x (REST)

Heritrix 3.x

crawler-beans.cxml

SWBcontent Konfigurations-UI (Erweiterungen)

3

HTTP

Stand 2013: Komponenten

SWBcontent

- OAI-PMH Data

Provider

- HTTrack

Heritrix 3.x Solr-3.5.0

wayback Jetty-Webserver

HTTP-Z3950

Gateway

Bib

Bib

HTTPS

Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

4

Integration von Heritrix 3.x

Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

Systemarchitektur

SWBcontent und Heritrix 3.xCrawl-Job

Nutzersicht

5

Web-

Harvesting

HTTPS

SWBcontent

wayback

1.8.x

HTTP

Jetty-Webserver

HTTP

Integration von Heritrix 3.x - Überblick

(REST)

Heritrix 3.x

Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

6 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

SWBcontent: Generierung eines Heritrix 3.x Crawl-Jobs nach der

Erzeugung eines Job-Directories

mit dem zentralen Konfigurationsfile, dem crawler-beans.cxml

oder mit dem crawler-beans.cxml und einem Zusatzfile, dem

override-properties File.

SWBcontent: Losschicken eines Heritrix 3.x Crawl-Jobs

SWBcontent legt das Job-Directory in den Job-Bereich von

Heritrix 3.x.

Mittels REST (Representational State Transfer) werden die

Job-Kommandos create, build, launch und unpause an den

Heritrix 3.x Server geschickt und vom diesem ausgeführt.

SWBcontent: Jobüberwachung in 2 Min. Intervall – Abfrage

mittels REST, ob der Job-Zustand notRunning erreicht ist.

SWBcontent – Heritrix 3.x Crawl-Job

7 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

Heritrix 3.1.2 – Sicht: Create

8 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

Heritrix 3.1.2 – Sicht: Build

9 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

Heritrix 3.1.2 – Sicht: Launch

10 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

Heritrix 3.1.2 – Sicht: Running

11 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

SWBcontent – Crawlüberwachung

12 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

SWBcontent: Beenden des Heritrix 3.x Crawl-Jobs

Falls nötig wird mittels REST das Job-Kommando terminate

an den Heritrix 3.x Server geschickt

Zum Schluss wird mittels REST das Job-Kommando teardown

an den Heritrix 3.x Server abgesetzt.

SWBcontent: Cleanup und Verlinkung

SWBcontent verschiebt das Job-Directory zurück in den

Standard-Download-Bereich der gegebenen Installation.

Schließlich werden die technischen Daten, insbesondere die

Archiv-URL, bzw. der url_storage Eintrag (Bib), angelegt sowie

die Job-Tabelle aktualisiert.

SWBcontent – Heritrix 3.x Crawl-Job

13 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

Heritrix 3.1.2 – Sicht: Terminate

14 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

Heritrix 3.1.2 – Sicht: Teardown

15 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

Heritrix-3.x Crawl im Filesystem

16 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 18.12.2013

SWBcontent- Heritrix-3.x Crawl

17 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

SWBcontent-Nutzer: Erzeugung der oder Upload des Konfigura-

tionsfiles des Heritrix 3.x Crawl-Jobs

Mittels des SWBcontent Heritrix 3.x Konfigurations-UI wird ein

override.properties File erzeugt, das gemeinsam mit dem

bisher für alle Installationen geltenden template-crawler-

beans.cxml einen Heritrix 3.x Crawl-Job konfiguriert.

Alternativ: Upload eines vom Nutzer selbst erstellten crawler-

beans.cxml Files.

Bem.: In der Job-Tabelle sind nun auch die zum Job gehörigen

Konfigurationsfiles zugänglich.

Nutzersicht

18 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

SWBcontent-Nutzer: Jobtabelle

Es sind nun alle Konfigurations-, Logs- und, nach Job-Beendi-

gung, alle Reports-Files zugänglich. Es werden nur jene Files

gezeigt, die nicht leer sind.

Status des Jobs ist logs/job.log zu entnehmen.

Der Befehl Kill schickt mittels REST das terminate Kommando

an den Hertrix 3.x Server.

Bem.: Die Heritrix 3.x Konfigurations-, Logs- und Reports-

Files eines Crawl-Jobs werden zukünftig (geplant) unter den

technischen Daten eines Downloads zu finden sein. (Analoges

gilt für die HTTrack-Jobs.)

Nutzersicht

19 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

Nutzersicht - Konfigurations-UI

20 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

Nutzersicht: Job-Tabelle

21 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

Nutzersicht: override.properties

22 Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

Nutzer: template crawler-beans.cxml

23

Heritrix 3.x

Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

Heritrix 3.x - Eigenschaften

Heritrix 3.x - Bestandteile

Heritrix 3.x Admin UI

24

Heritrix ist der Open Source Wev Crawler der Internet Archive.

Dieser ist in Java geschrieben und wird seit 2004 entwickelt. Das

Heritrix Package enthält eine Web-Applikation, „die Web

Adminstrative Console“. Heritrix wird mit dem embedded Web-

Server Jetty Java HTTP Server geliefert.

Heritrix ist in 2 major Releases vefügbar

Heritrix 1.14.x im Maintenance Zustand

Heritrix 3.x (H3; aktuell: heritrix-3.2.0-SNAPSHOT)

Hauptunterschiede zwischen Heritrix 3.1.x und Heritrix 1.14.x:

H3 basiert auf dem Application Development Framework

Spring 3.x.

Die komplexe Konfiguration von H3 wird mittels einer Spring

Bean realisiert.

H3 ist RESTful, d.h. H3 benutzt den Representational State

Transfer (REST) um eine HTTPS basierte Client Kommunikation

zu realisieren.

Heritrix 3.1.x - Eigenschaften

25

Heritrix3.x ist besteht aus 3 Teilen

engine – core von Heritrix 3.x

modules – Diese sind mittels eigener Software erweiterbar.

commons – Dieser Teil enthält Utilities, die auch von anderen

Applikationen genutzt werden können. Insbesondere die

wayback-machine nutzt das commons-Paket.

SWBcontent bindet ebenfalls das commons-Paket ein.

Heritrix 3.x - Bestandteile

Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

26 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013

Das Heritrix 3.x Admin UI besitzt keine Nutzerverwaltung und

sollte nur als ferngesteuerter Server angesehen werden.

Der Start des Servers gibt insbesondere das Job Directory der

Crawl-Jobs vor.

Mit dem Kommando create wird ein vom Admin neu

angelegtes Directory als Ausführungs-Directory bei Heritrix 3.x

angemeldet.

vgl.: SWBcontent meldet zu Beginn eines Jobs das in das

Heritrix 3.x Job Directory verschobene SWBcontent-Job-

Directory bei Heritrix 3.x mit dem Befehl create an.

Heritrix 3.x Admin UI

27 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013

Heritrix 3.x Admin UI

28 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013

In einem neu angelegten Job Directory sind die Heritrix 3.x

Kommandos build, launch, unpause, terminate und teardown als

buttons vorhanden. (SWBcontent bedient diess buttons des

Heritrix 3.x Admin UI mittels REST.)

Ferner wird hier das mitgelieferte crawler-bean.cxml File

zugänglich.

Das Heritrx 3.x Admin UI bietet einen Bean-Browser und Editor,

zur strukturierten Darstellung der Gesamtkonfiguration.

Heritrix 3.x Admin UI

29 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013

Heritrix 3.x Admin UI

30 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013

Heritrix 3.x Admin UI

31

crawler-beans.cxml

Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

carwler-beans.cxml - Prinzip

crawler-beans.cxml - Erweiterungen

32 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013

Die crawler-beans.cxml ist das Konfigurations-File, mit dem der

gesamte Crawl eines Heritrix 3.x Servers definiert wird.

Die carwler-beans.cxml scheint kryptisch, konfiguriert aber den

Heritrix 3.x Crawl auf der Basis des Spring 3.x Java Frameworks,

das Heritrix 3.x zu Grunde liegt.

Wichtig ist, dass die crawler-beans.cxml als best practice

Konfigurationsfile zum Lieferumfang von Heritrix 3.x gehört, d.h.

dass der Konfigurationsumfang und die Parametrisierung im

Normalfall als gut gewählt zu betrachten ist.

Die crawler-beans.cxml ist aber nicht vollständig in Bezug auf die

existierenden Konfigurationsmöglichkeiten.

Ferner bringt Heritrix 3.x in Abhängigkeit von der Version ein

leicht abgewandeltes crawler-beans.cxml File mit.

crawler-beans.cxml - Prinzip

33 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 03.12.2013

crawler-beans.cxml - Prinzip

Prinzip:

Eine java Klasse, hier

org.archive.modules.deciderules.TooManyPathSegmentsDeci

deRule, besitzt eine property, hier maxPathDepth.

Bem.: Zahl der Segmente = Zahl der / in einem uriPath, z.B.

http://www.uni-konstanz.de/ = 1

Will man herausfinden, welche Auswahl an

org.archive.modules.deciderules existiert, muss man

zumindest in der API suchen:

http://builds.archive.org/javadoc/heritrix-3.x-

snapshot/org/archive/modules/deciderules/package-summary.html

34

SWBcontent Konfigurations-UI

Dr. Barbara Löhle | Heritrix3.x Konfigurations-UI | 03.12.2013

Vereinbarte Erweiterungsliste

SWBcontent Konfigurations-UI (Stand 03.12.2013)

• Minimalkonfiguration

• zusätzliche Decide-Rules

• Flow Control und Crawl Limits

35 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 18.12.2013

Spiegelungstiefe (TooManyHopsDecideRule: REJECT)

Spiegelungstiefe (TooManyPathSegmentsDecideRule: REJECT)

Einschluß externer Quellen, speziell zur Vervollständigung

graphischer Elemente inURLs (TransclusionDecideRule:

ACCEPT: offen)

Timeout und maximale Größe der Downloads(FetchHTTP: offen)

Delay und Bandbreite(DispositionProcessor: begonnen)

Bem.:Die Bandbreite kann nicht freigegeben werden.

Crawl Limits(Dauer und Datenmenge des Crawls;

CrawlLimitEnforcer)

Nutzung verschiedener UserAgents (done)

Vereinbarte Erweiterungsliste

36

SWBcontent Konfigurations-UI

Prinzip des SWBcontent Konfigurations-UI für Heritrix 3.x:

Einem Heritrix 3.x Crawl-Job wird ein Template crawler-

beans.cxml zu Grunde gelegt.

Mittels der Eingaben des SWBcontent Konfigurations-UI wird

das override.properties File erstellt.

Das override.properties File überrschreibt die Default Einträge

im Template crawler-beans.cxml.

Sowohl das crawler-beans.cxml als auch das

override.properties File ist für jeden Job in der Job-Tabelle

zugänglich.

Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013

37 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013

Die Minimalkonfiguration enthält die wichtigsten Konfigurations-

parameter. In den meisten Fällen sind die Konfigurationspara-

meter mit Defaultwerten, d.h. jenen des crawler-beans.cxml, vor-

belegt.

In der Minimalkonfiguration muß einzig ein Eintrag unter URIs (=

seed) (Uniform Resource Identifier) vorgenommen werden,

wobei es sich bei dem ersten Eintrag um eine URL (Uniform Re-

source Locator) handeln muß. (Der mit Heritrix 3.x erzeugte

Download wird über diese URL aufgerufen.)

Zusätzliche URIs können mittels „include URIs/SURTS as prefix“

für einen Crawl zugelassen werden.

Ausführliche Diskussion des seed und von „include URIs/SURTs

as prefix“, siehe Vortrag von Gisela Mayer: Seeds und SURTs.

Diskussion des User Agent String, siehe Vortrag von mir: „User

Agent“

Minimalkonfiguration

38 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013

Minimalkonfiguration

39 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013

Zu den zusätzlichen Decide-Rules gehören einschließende und

ausschließende Regeln, die mittels Regular Expressions

formuliert werden.

Ferner werden die im Vergleich zu einschließenden seltener

benutzten ausschließenden „exclude URIs/SURTs as prefix“

aufgeführt.

Mittels der MaxPathDepth wird die maximale Zahl der Segmente

festgelegt, die der URI-Path besitzen darf, d.h. die Zahl der

Slashes („/“).

zusätzliche Decide-Rules

40 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013

zusätzliche Decide-Rules

41 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013

Im Fall des Flow Control ist bisher nur der Delay Factor para-

metrisierbar. Der Defaultwert des zum Lieferumfangs von Heri-

trix 3.x gehörenden crawler-beans.cxml Files besitzt den Wert

5.0. Für die Anwendung in SWBcontent wurde dieser Wert im

Template crawler-beans.cxml File auf den Wert 2.0 reduziert. Der

Delay Factor gibt an, um welches Vielfache die bei dem letzten

Download einer URI eines Web-Servers aufgewendete Zeit

gewartet werden soll, bis derselbe Web-Server wieder kontaktiert

werden darf.

Die unter Crawl Limits aufgeführten Obergrenzen für die

Downloadgröße sowie für die Laufzeit besitzen als Default den

Wert 0. Der Wert 0 steht hier im Sinne einer Konvention für einen

unbegrenzten Download-Umfang sowie für eine unbe-grenzte

Laufzeit. Mittels kleiner Werte für den Download-Umfang

und/oder für die Laufzeit sind kurze Testläufe möglich.

Flow Control und Crawl Limits

42 Dr. Barbara Löhle | Hritrix3.x Konfigurations-UI | 19.12.2013

Flow Control und Crawl Limits

Recommended