Dashboard Dokumentation - SOS

Werbung
JobScheduler - Job Execution and Scheduling System
Software Open Source
JobScheduler
Information Dashboard
Tagesplan und Historie
März 2015
März 2015
JobScheduler
Seite: 1
JobScheduler - Impressum
Software Open Source
Impressum
Software- und Organisations-Service GmbH
Giesebrechtstr. 15
D-10629 Berlin
Germany
Telefon +49 (0)30 86 47 90-0
Telefax +49 (0)30 8 61 33 35
Mail [email protected]
Web http://www.sos-berlin.com
Letzte Aktualisierung: 03/13/2015 12:01 PM
Diese Dokumentation basiert auf der JobScheduler Version 1.7.4169.
Copyright © 2005-2015 SOS GmbH Berlin.
All rights reserved. All trademarks or registered trademarks are the property of their respective holders. Alle
Informationen in diesem Dokument können ohne vorherige Ankündigung verändert werden.
This product includes software developed by the Apache Software Foundation (http://apache.org/)
We would appreciate any feedback you have, or suggestions for changes and improvements; please forward your
comments to [email protected].
März 2015
JobScheduler
Seite: 2
JobScheduler - Inhaltsverzeichnis
Software Open Source
Inhaltsverzeichnis
1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Spracheinstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Anpassen der Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Einstellungen für Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Einstellungen für MySql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 Einstellungen für SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.4 Einstellungen für PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.5 Einstellungen für Sybase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.6 Einstellungen für DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Standalone-Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 ...............................................................................................................8
4 Tagesplan erstellen und auswerten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1 Tagesplan anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.1 Mehrere JobScheduler Instanzen simultan mit JOC öffnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1.2 Die geplanten, nicht gelaufenen Jobs vom aktuellen Tag anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.3 Die fehlerhaft gelaufenen Jobs von gestern anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.4 Einen Job ausblenden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
4.1.5 Das Suchfeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
4.1.6 Die aktuell laufenden Jobs anzeigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.7 Wann werden Aufträge als fehlerhaft gekennzeichnet? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.8 Color codes for order states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
März 2015
JobScheduler
Seite: 3
JobScheduler - Einleitung
Software Open Source
1 Einleitung
Das JID (JobScheduler Information Dashboard) stellt Funktionen für eine Übersicht über die geplanten und
tatsächlich gelaufenen Jobs zur Verfügung. Auf Wunsch kann auch JOC (JobScheduler Operations Center) in
JID integriert werden.
Tagesplan
JobScheduler berechnet jeweils die nächste Startzeit von Jobs und Job-Ketten und startet diese automatisch.
JobScheduler schaut dabei nicht in die Vergangenheit. JID mit dem Tageskalender unterstützt das Operating bei
der Beantwortung der Fragen
•
was hätte laufen sollen und was davon ist gelaufen?
•
was wird in den nächsten Tagen laufen?
Der Tagesplan ist hilfreich, da in ihm die geplanten Starts vermerkt sind. Wenn ein Job oder Auftrag gelaufen ist,
wird dies in den Plan eingetragen.
Auf diese Weise steht eine Übersicht zur Verfügung, in der schnell die nicht gelaufenen Jobs und Aufträge zu
erkennen sind.
Job Historie
Desweiteren bietet eine Übersicht über alle gelaufenen bzw. aktuell laufenden Jobs und Job-Ketten, die
Möglichkeit, eine zentralisierte Übersicht über das gesamte System zu erhalten. Die Darstellung kann auf alle oder
einzelne JobScheduler-Instanzen bezogen weden. Für jeden gelaufen Job bzw. Auftrag kann das Protokoll
eingesehen werden.
Der Tagesplan und die Übersicht über gelaufene Jobs ist geeignet, den Helpdesk bei der Überwachung und ersten
Analyse zu unterstützen und benötigt keine laufende JobScheduler Instanz. Es ist rein Datenbank basiert.
JOC (JobScheduler Operations Center)
Die integrierte JOC View integriert das bekannte Operationscenter in JID. Es können beliebig viele Sichten
geöffnet werden. Die Integration von JOC ist beim Aufruf unter Linux deaktiviert. Wenn eine Mozilla-Instanz
installiert ist, kann sie im Script dashboard.sh aktiviert werden (s.u.).
März 2015
JobScheduler
Seite: 4
JobScheduler - Installation
Software Open Source
2 Installation
JID wird zusammen mit JobScheduler installiert. Bei bestehenden Installationen wird es bei einem Update
hinzugefügt. Zusätzlich steht ein Setup für JID zur Verfügung, das nur JID installiert.
Das Tagesplan Addon besteht aus 2 Jobs und einem Report zur Darstellung. Der Report zeigt die geplanten Läufe
für alle JobScheduler an. Die Jobs werden auf den JobScheduler installiert, für die ein Tagesplan erstellt werden
soll. Außerdem kann JOC (JobScheduler Operations Center) in JID integriert werden.
2.1 Spracheinstellung
Die Sprache wird entsprechend der lokalen Einstellungen des Betriebssystems verwendet. Sie kann ebenfalls über
die Umgebungsvariable SOS_LOCALE=en|de gesetzt werden.
2.2 Anpassen der Konfiguration
Folgende Konfigurationsdateien konfigurieren JID.
1.) ./bin/dashboard.sh|cmd
In dieser Datei werden die Aufrufparameter für das JID eingestellt.
•
set enable_joc=true|false:
Aktiviert/Deaktiviert die Einbindung von JOC in JID. Im Auslieferungszustand für Windows ist dieser Wert auf
true eingestellt. Auf false sonst.
•
set enable_joe=true|false:
Aktiviert/Deaktiviert die Einbindung von JOE in JID. Im Auslieferungszustand für Windows ist dieser Wert auf
false eingestellt.
•
set enable_job_start=true|false:
Aktiviert/Deaktiviert die Möglichkeit, Jobs und Aufträge direkt aus dem JID heraus zu starten.
2.) ./config/live/sos/daily_schedule/CheckDaysSchedule.job.xml
3.) ./config/live/sos/daily_schedule/CreateDaysSchedule.job.xml
Die Konfigurationsdateien der beiden Jobs werden mit JOE (JobScheduler Object Editor) bearbeitet. Die
Konfiguration muss um die Startzeit ergänzt werden
März 2015
JobScheduler
Seite: 5
JobScheduler - Installation
Software Open Source
Der Job CreateDaysSchedule.job.xml sollte einmal täglich laufen. Er kann jederzeit wiederholt werden. Der Job
CheckDaysSchedule.job.xml sollte periodisch laufen, zum Beispiel alle 5 Minuten. Der Job gleicht den Tagesplan
mit den gelaufenen Jobs ab.
If you have more than one JobScheduler then it is sufficient to configure the CheckDaysSchedule job only on one
instance.
In der Datei ./config/hibernate.cfg.xml werden die Datenbankeinstellungen vorgenommen.
4.) ./config/hibernate.cfg.xml
Diese Datei beinhaltet die Angaben für die Datenbankverbindung. Sie muss normalerweise nicht verändert werden
und wird vom Setup entsprechend den gemachten Angaben angelegt.
Die Anpassung der Datenbankeinstellungen werden mit einem Texteditor vorgenommen. Neben Benutzer und
Kennwort werden folgende DB-spezifischen Angaben erwartet.
•
hibernate.connection.driver_class
•
hibernate.dialect
•
hibernate.connection.url
2.2.1 Einstellungen für Oracle
•
hibernate.connection.driver_class: oracle.jdbc.driver.OracleDriver
•
hibernate.connection.url: jdbc:oracle:thin:@localhost:1521:myDb
•
hibernate.dialect: org.hibernate.dialect.Oracle10gDialect
2.2.2 Einstellungen für MySql
•
hibernate.connection.driver_class: com.mysql.jdbc.Driver
•
hibernate.connection.url: jdbc:mysql://localhost:3306/myDb
•
hibernate.dialect: org.hibernate.dialect.MySQLInnoDBDialect
2.2.3 Einstellungen für SQL Server
•
hibernate.connection.driver_class: com.microsoft.sqlserver.jdbc.SQLServerDriver
•
hibernate.connection.url:
jdbc:sqlserver://localhost:1433;sendStringParametersAsUnicode=false;selectMethod=cursor;databaseName=
myDb
•
hibernate.dialect: org.hibernate.dialect.SQLServerDialect
2.2.4 Einstellungen für PostgreSQL
•
hibernate.connection.driver_class: org.postgresql.Driver
März 2015
JobScheduler
Seite: 6
JobScheduler - Installation
Software Open Source
•
hibernate.connection.url: jdbc:postgresql://localhost/mydatabase
•
hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect
2.2.5 Einstellungen für Sybase
•
hibernate.connection.driver_class: com.sybase.jdbc3.jdbc.SybDriver
•
hibernate.connection.url: jdbc:sybase:Tds:localhost:5000/myDb
•
hibernate.dialect: org.hibernate.dialect.SybaseDialect
2.2.6 Einstellungen für DB2
•
hibernate.connection.driver_class: com.ibm.db2.jcc.DB2Driver
•
hibernate.connection.url:
jdbc:db2://8of9:50000/myDb:driverType=2;retrieveMessagesFromServerOnGetMessage=true;
•
hibernate.dialect: org.hibernate.dialect.DB2Dialect
2.3 Standalone-Installation
...
2.3.1 Troubleshooting
"org.hibernate.exception.JDBCConnectionException: Cannot open connection"
März 2015
JobScheduler
Seite: 7
JobScheduler Software Open Source
3
März 2015
JobScheduler
Seite: 8
JobScheduler - Tagesplan erstellen und auswerten
Software Open Source
4 Tagesplan erstellen und auswerten
Der Tagesplan wird durch den Job /sos/dailyschedule/CreateDaysSchedule erstellt. Der Job erstellt den Tagesplan
für den aktuellen Tag. Mit dem Parameter dayoffset wird gesteuert, dass Tagespläne für die Zukunft (dayoffset>0)
oder für die Vergangenheit (dayoffset<0) erstellt werden. dayoffset=1 erstellt zum Beispiel den Tagesplan für heute
und morgen. Wenn ein Tagesplan erstellt wird, werden bereits vorhandene Tagespläne des gleichen Zeitraums
überschrieben. Im Auslieferungszustand hat der Parameter den Wert dayoffset=10, d.h. der Tagesplan wird für
heute und die nächsten 10 Tage erstellt.
Bei der Erstellung des Tagesplans werden alle festen Startzeiten berücksichtigt. Für Intervalle in einem Zeitraum
wird für den Beginn des Zeitraums ein Start eingeplant.
Der Tagesplan wird durch den Job /sos/dailyschedule/CheckDaysSchedule abgeglichen. Der Abgleich wird mit
Hilfe der History-Tabellen von JobScheduler vorgenommen. Der Job erstellt den Abgleich für den aktuellen Tag.
Mit dem Parameter dayoffset kann gesteuert werden, dass Tagespläne für die Vergangenheit (dayoffset<0)
abgeglichen wird. dayoffset=-1 gleicht zum Beispiel den Tagesplan für heute und gestern ab. Wenn ein Tagesplan
abgeglichen wird, werden bereits vorhandene Zuordnungen des gleichen Zeitraums nicht verändert.
4.1 Tagesplan anzeigen
Der Tagesplan wird im JID angezeigt, wenn der Menüpunkt "Geplant" geklickt wird. Alle geplanten Aufrufe werden
gelistet. Wenn mehrere JobScheduler einen Tagesplan erstellen, werden sie in der Ansicht gemischt.
Es gibt verschiedene Filter, die die Ansicht einschränken. Die Filter werden über die rechte Maustaste aktiviert.
Außerdem kann die -Id gefiltert werden, so dass bei mehreren Tagesplänen nur die geplanten Läufe einer
bestimmten Instanz gelistet werden.
März 2015
JobScheduler
Seite: 9
JobScheduler - Tagesplan erstellen und auswerten
Software Open Source
Der Filter für den Zeitraum bezieht sich sowohl auf die Liste mit den geplanten bzw. gelaufenen Jobs, als auch auf
die Detailliste pro Job/Auftrag. Die Filter des Kontextmenus (zum Beispiel "heute") beziehen sich auf die
Hauptlisten.
Die Spalten sind sortierbar. Das Spalten-Layout bleibt beim Sitzungswechsel erhalten.
4.1.1 Mehrere JobScheduler Instanzen simultan mit JOC öffnen
Wenn das JID das erste Mal gestartet wird, wird die Instanz von JobScheduler in JOC angezeigt, die als erster
Eintrag in der Tabelle SCHEDULER_INSTANCES gefunden wird. Die Tabelle wird vom Job
/sos/dailyschedule/CreateDaysSchedule mit den Angaben der Instanz versorgt, auf der der Job läuft.
Weitere Instanzen können geöffnet werden, indem mit der rechten Maustaste auf den Reiter JOC oder auf den
Reiter host:port geklickt wird. Im folgenden Fenster wird der Host und der Port der zu öffnenden Instanz
eingegeben. Es können beliebig viele Instanzen geöffnet werden. Ebenfalls im Menü der rechten Maustaste
befindet sich die Funktion zum Schließen einer JOC Ansicht. Die letzte Instanz kann nicht geschlossen werden.
März 2015
JobScheduler
Seite: 10
JobScheduler - Tagesplan erstellen und auswerten
Software Open Source
4.1.2 Die geplanten, nicht gelaufenen Jobs vom aktuellen Tag anzeigen
Die geplanten, nicht gelaufenen Jobs vom aktuellen Tag werden angezeigt, wenn in der Ansicht "Geplant"
nacheinander die Filter "Nur Jobs", "verspätet", "wartend", "heute" ausgewählt werden.
4.1.3 Die fehlerhaft gelaufenen Jobs von gestern anzeigen
Die fehlerhaft gelaufenen Jobs von gestern werden angezeigt, wenn in der Ansicht "History" als Zeitspanne das
gestrige Datum eingestellt wird. Anschließend werden der Filter "Nur Jobs" aktiviert und nach der Spalte "Exit"
sortiert. Die fehlerhaften Jobs werden rot am Anfang der Liste dargestellt.
4.1.4 Einen Job ausblenden
Bestimmte Jobs können aus der History Ansicht ausgeblendet werden. Dazu wird aus dem Kontextmenü die
Funktion "Zur Ignorliste" hinzufügen ausgewählt. Im Titel wird angezeigt, wieviele Jobs ausgeblendet sind. Die
Ignoreliste kann an- und abgeschaltet werden. Außerdem kann die Ignoreliste zurückgesetzt werden. Die
Ignoreliste wird beim Neustart wieder hergestellt.
4.1.5 Das Suchfeld
Mit dem Suchfeld kann mittels einer Volltextsuche die aktuelle Liste weiter eingeschränkt werden. Es wird in den
Spalten "Job", "Job Chain" und Order gesucht.
4.1.6 Die aktuell laufenden Jobs anzeigen
Die aktuell laufenden Jobs werden in der Ansicht "History" angezeigt, wenn nach der Spalte Start sortiert wird. Die
aktuell laufenden Jobs werden mit einem grauen Hintergrund dargestellt. Genau genommen werden die Einträge
dargestellt, die keine Ende Zeit haben. Das können auch Jobläufe sein, die durch einen Taskabbruch beendet
wurden.
4.1.7 Wann werden Aufträge als fehlerhaft gekennzeichnet?
Aufträge werden als fehlerhaft gekennzeichnet (roter Hintergrund in der Ansicht "History"), wenn ihr Status "fehler",
"error" oder "fault" enthält oder mit ! beginnt.
4.1.8 Color codes for order states
Different background colors are used to provide a quick indicator of the state of an order. The colours used depend
on whether the "Planned" or "History" tabs are being viewed.
März 2015
JobScheduler
Seite: 11
JobScheduler - Glossar
Software Open Source
Glossar
Auftrag
Ein Auftrag aktiviert die Verarbeitung einer Job-Kette. Der Auftrag enthält die Parameter für die Jobs einer
Job-Kette. Jeder Job der Job-Kette hat Zugriff auf die Parameter eines Auftrags. Auftrag-Parameter
überschreiben gleichnamige Job-Parameter. Ein Auftrag kann eine Zeitsteuerung enthalten.
Ein Auftrag durchläuft nacheinander die Jobs einer Job-Kette. Tritt ein Verarbeitungsfehler in einem Job auf,
dann kann konfiguriert werden, dass der Auftrag...
•
aus der Job-Kette entfernt wird.
•
von einem weiteren Job der Kette ausgeführt wird.
•
vom fehlerhaften Job wiederholt ausgeführt wird.
•
in der Kette am fehlerhaften Job stehen bleibt, dass heißt die Verarbeitung des Auftrag wird
ausgesetzt, bis dieser wieder manuell fortgesetzt wird.
Job
Programme und Skripte, die vom JobScheduler ausgeführt werden sollen, müssen in Jobs eingebettet
werden. Jobs können beliebige ausführbare Dateien starten oder Job-Skripte enthalten, die die
Programmschnittstelle des JobScheduler verwenden. Jobs können in mehreren Instanzen (Tasks)
ablaufen, wenn dies zur Skalierung der Leistung gewünscht ist.
Es wird zwischen Standalone-Jobs und Auftrags-Jobs unterschieden. Während Auftrags-Jobs durch
Aufträge innerhalb einer Job-Kette gestartet werden, können Standalone-Jobs davon unabhängig gestartet
werden, dass heißt manuell, durch eine Zeitsteuerung oder per Verzeichnis-Überwachung. Standalone-Jobs
können nicht in Job-Ketten eingereiht werden.
Job-Kette
Eine Reihe von Jobs, die nacheinander Aufträge verarbeiten. Der JobScheduler startet die Jobs einer
Job-Kette automatisch, wenn ein Auftrag eintrifft. Job-Ketten bieten die Möglichkeit mehrere Aufträge parallel
zu verarbeiten, indem die Jobs in mehreren Instanzen (Tasks) gestartet werden.
JOC (JobScheduler Operations Center)
JOC (JobScheduler Operations Center) ist die Oberfläche des JobScheduler zur Überwachung und
Steuerung der JobScheduler Objekte, also zum Beispiel Jobs, Job-Ketten und Aufträge.
_JOC
öffnen Sie im Browser mit http://[scheduler_host]:[scheduler_port] , wobei
[scheduler_host] und [scheduler_port] der Hostname und die Nummer des TCP Ports des
JobScheduler sind (z.B. http://localhost:4444).
JOE (JobScheduler Object Editor)
JOE ist der JobScheduler Object Editor. Mit ihm können die JobScheduler Objekte (Jobs, Job-Ketten,
Aufträge, Schedules, Prozess-Klassen, Sperren) konfiguriert werden.
Gestartet wird JOE mit dem Skript:
•
$SCHEDULER_HOME \bin\jobeditor.cmd (Windows™)
•
März 2015
$SCHEDULER_HOME /bin/jobeditor.sh (Unix™)
JobScheduler
Seite: 12
JobScheduler - Glossar
Software Open Source
Schedule
Die Zeitsteuerung eines Jobs oder Auftrags kann direkt am Job oder Auftrag angegeben oder in einem
Schedule ausgelagert werden. Dem Job oder Auftrag wird dann lediglich der Schedule zugewiesen. Falls
mehrere Jobs oder Aufträge die gleiche Zeitsteuerung haben sollen, braucht man diese so nur einmal zu
formulieren. Überdies können Schedules für einen bestimmten Zeitraum andere Schedules ersetzen. So
erreicht man in der Verwendung von Schedules noch mehr Flexibilität bei der Zeitsteuerung.
März 2015
JobScheduler
Seite: 13
Herunterladen