Systemmeldungen (log-Ausgaben)

Der PPM-Server verwendet die standardisierte Logging-Schnittstelle log4J zum Ausgeben von Systemmeldungen. Hierfür verwendet jede PPM-Komponente (z. B. Datenimport, Merger, Kennzahlenberechner) eigene Logger. Die Module (Komponenten) des PPM-Systems verfügen über folgende übergeordnete Logger: log, trace und audit.

Standardmäßig verfügt das PPM-System über folgende Appender zur formatierten Ausgabe der Meldungen.

Appender

Beschreibung

console

Meldungen werden an der Konsole ausgegeben.

Nur noch für Kommandozeilenprogramme relevant.

logFile

Meldungen werden in eine Datei geschrieben. Der Name der Datei wird durch den Konfigurationsschlüssel log4j.appender.logFile.File bestimmt.

errorFile

Fehlermeldungen und Exceptions (log-Ausgaben, die mit E: oder F: beginnen) werden in eine Datei geschrieben. Der Name der Datei wird durch den Konfigurationsschlüssel log4j.appender.errorFile.File bestimmt.
Die Ausgabe von Exceptions und Stack-Traces erfolgt ausschließlich in diese Datei.

traceFile

Meldungen werden ausschließlich in eine Datei geschrieben. Der Name der Datei wird durch den Konfigurationsschlüssel log4j.appender.traceFile.File bestimmt.
Dieser Appender wird verwendet, um bestimmte Meldungen zu sammeln, die die Fehlersuche erleichtern sollen.

auditFile

Schreibt Audit-log-Meldungen in eine Datei. Der Name der Datei wird durch den Konfigurationsschlüssel log4j.appender.auditFile.File bestimmt.

Für den Mandantenserver wird die Ausgabe von Meldungen in der Datei Server_Log_settings.properties konfiguriert, für den Analyseserver in der Datei AnalysisServer_Log_settings.properties. Diese beiden Konfigurationsdateien werden während der Installation automatisch mit Standardeinträgen erzeugt.

Die Konfigurationsdateien Server_Log_settings.properties und AnalysisServer_Log_settings.properties werden alle 60 Sekunden (fest vorgegeben) auf Veränderungen geprüft. Hierdurch kann die Konfiguration der Log-Ausgaben ohne Neustart der PPM-Server geändert werden.

Modulbasiertes Logging

Zur Ausgabe von Systemmeldungen des PPM-Mandanten- und Analyseservers werden die bekannten PPM-Modulnamen verwendet. Die entsprechende Konfiguration erfolgt in den jeweiligen Dateien Server_Log_settings.properties (Mandantenserver) bzw. AnalysisServer_Log_settings.properties (Analyseserver).

Folgende Logger-Module werden von PPM unterstützt:

Modulname

Beschreibung

LOG.XML

XML-Quellsystemdatenimport

LOG.EIM

Internes Einlesen der importierten Fragmentinstanzen

LOG.MGR

Zusammenführung von Prozessfragmenten (Merge)

LOG.TYP

Typisieren von Prozessinstanzen

LOG.KIC

Berechnung und Ermittlung von Kennzahlen und Dimensionen

LOG.PSC

Anfragen des Dashboard

LOG.PLV

Planwertberechnung

LOG.CFG

Internes Konfigurationsmanagement

LOG.STD

PPM-Server im Modus STANDARD

LOG.SRV

Standardmodul, das für Protokollausgaben des PPM-Servers verwendet wird

LOG.CNV

Datenbankkonverter

LOG.IMP

Im- und Export von Konfigurationen (z. B. mittels runppmconfig)

LOG.ADM

Administration des Mandanten, (z. B. mittels runppmadmin)

LOG.KG

Schlüsselerzeugung für importierte Prozessfragmente (Keygenerator)

LOG.PRF

Profiler (SA)

LOG.MV

Management Views (Applet basiert)

LOG.OLA

Abfrageschnittstelle

LOG.REP

Erstellung von Reporten

LOG.RAU

Reportautomatisierung

LOG.MST

PPM-Server im Modus MASTER

LOG.SUB

PPM-Server im Modus SUBSERVER

LOG.LOG

Allgemeine log-Ausgaben

LOG.EAL

Frühwarnsystem

LOG.ALY

Unregelmäßigkeitsanalyse (runppmanalytics)

LOG.MTAB

Minitab

LOG.CCS

Attributberechner im Modus SILENT

LOG.CCD

Attributberechner im Modus DEFAULT

LOG.CCV

Attributberechner im Modus VERBOSE

LOG.PFM

sysmon-Mandant

LOG.CRC

Corba-Verbindungen

LOG.MON

Online-Monitoring

LOG.PFS

Statistiken benutzerspezifischer Favoriten

LOG.SFS

Statistiken gemeinsamer Favoriten

LOG.CPI

Verbesserungen, Nachrichtenverwaltung

LOG.ASRV

Standardmodul, das für Protokollausgaben des Analyseservers verwendet wird

LOG.MEM

Frühwarnsystem bei Speicherknappheit

LOG.PPI

Prozessimport

LOG.EIP

Prozessimport - Eventimport

LOG.CLC

Prozessimport - Kennzahlberechnung

LOG.UPD

Prozessimport - Aktualisierung

LOG.DAI

Data-Analytics-Import

Bei der Ausgabe von Meldungen werden die Modulkürzel (entspricht dem Modulnamen ohne Präfix LOG.) nicht lokalisiert ausgegeben, d. h. für Ausgaben von Meldungen für den Kennzahlenberechner wird das Modulkürzel KIC verwendet.

Für jedes Logger-Modul muss ein Loglevel angegeben werden. Folgende Loglevel werden unterstützt: INFO, WARN, ERROR, FATAL, OFF. Die Affinität des gewählten Loglevel nimmt von rechts nach links zu, d. h. wenn Loglevel WARN eingestellt ist, werden auch Meldungen der Level ERROR, FATAL ausgegeben.

Beispiel

Für den XML-Datenimport sollen Informationen, Warnungen, Fehler und kritische Fehler an der Konsole ausgegeben werden.

log4j.logger.LOG.XML=INFO,console

Ausgabe von Trace-Meldungen

Im Gegensatz zu den Logger-Modulen gibt es für die Trace-Module keine Loglevel, die Ausgaben von Meldungen können lediglich ein- bzw. abgeschaltet werden. Diese Ausgaben sind gedacht, um im konkreten Fehlerfall weiterführende Informationen zu erhalten. Es gibt folgende Trace-Module: ASRV, SRV, CONFIG, ABT, CONPOOL, FRQ, RET, RETDS, QPL, SELITY, DIM, IMP, RMI, MEM, PPI, EIP, CLC, UPD, DST, QUE

Anstelle des Loglevel können für die Trace-Module folgende Einstellungen vorgenommen werden: OFF, TRACE.

Beispiel

Für den Mandantenserver sollen Trace-Meldungen, für Analyseserver sollen keine Trace-Meldungen ausgegeben werden.

log4j.logger.TRACE.SRV=TRACE

log4j.logger.TRACE.ASRV=OFF

Präfixe von Log-Ausgaben

Jede Log-Ausgabe beginnt mit einem Präfix, der den entsprechenden Log-Level angibt. Dieser Präfix ist für alle Sprachen gleich.

Log-Level

Präfix alle Sprachen

Statistik

S:

FATAL

F:

ERROR

E:

WARN

W:

INFO

I:

TRACE

T:

Statistikmeldungen werden immer ausgegeben und können nur durch den Log-Level OFF unterdrückt werden.

Log-Ausgaben formatieren

Das Format der Log-Ausgaben wird in den beiden Konfigurationdateien Server_Log_settings.properties und AnalysisServer_Log_settings.properties angegeben. Das PPM-Standardformat des Datums wird in diesen Dateien durch %X{ppmdate} angegeben.

Das verwendete Datumsformat ist abhängig von der Sprache, mit der Mandanten- und Analyseserver gestartet wurden. Für die von PPM unterstützten Sprachen werden folgende Datumsformate verwendet:

Sprache

Locale

Datumsformat

englisch

EN

dd/MM/yy HH:mm:ss

englisch USA

US

MM/dd/yy HH:mm:ss

deutsch

DE

dd.MM.yy HH:mm:ss

französisch

FR

dd.MM.yy HH:mm:ss

ungarisch

HU

dd.MM.yy HH:mm:ss

japanisch

JA

dd/MM/yy HH:mm:ss

niederländisch

NL

dd.MM.yy HH:mm:ss

russisch

RU

dd.MM.yy HH:mm:ss

chinesisch

ZH

dd/MM/yy HH:mm:ss

Beispiel

log4j.appender.error.File.layout.ConversionPattern=%p %X{ppmdate} [%c{1}] %m%n

Skalierte Systeme

Die Konfiguration der Ausgabe von Log-Meldungen wird für ein skaliertes PPM-System grundsätzlich gehandhabt wie für ein Standardsystem mit nur einem PPM-Server. Folgende Besonderheiten sollten beachtet werden:

Log-Ausgaben verteilen

Die Systemmeldungen der PPM-Server können Sie durch geeignete Appender zu beliebigen log-Server senden, die diese Meldungen dann weiter verarbeiten.

Windows Ereignisanzeige

Der folgende Dateiauszug zeigt die erweiterte Konfiguration eines Appender, um die Systemmeldungen der PPM-Server an den lokalen log-Server von Windows zu schicken.

...

log4j.appender.Logserver=org.apache.log4j.nt.NTEventLogAppender

log4j.appender.Logserver.layout=org.apache.log4j.EnhancedPatternLayout

log4j.appender.Logserver.layout.ConversionPattern=%d | %-5p | %-20c{1} | %m%n

...

Die Systemmeldungen werden im Windows Systemprogramm Ereignisanzeige (Computerverwaltung -> System -> Ereignisanzeige) angezeigt.

Entfernte log-Server

Um die Systemmeldungen der PPM-Server an einen entfernten Logging-Server (z. B. Lumbermill oder Apache Chainsaw) in Ihrem Netzwerk zu schicken, können Sie im folgenden Dateiauszug gezeigte erweiterte Konfiguration eines Appender verwenden.

...

log4j.appender.AuditLogserver=org.apache.log4j.net.SocketAppender

log4j.appender.AuditLogserver.Port=4445

log4j.appender.AuditLogserver.RemoteHost=pcirgendwo

log4j.appender.AuditLogserver.layout=org.apache.log4j.EnhancedPatternLayout

log4j.appender.AuditLogserver.layout.ConversionPattern=%X{ppmdate} [%c{1}] %m%n

...