Prüfprotokoll

Das Prüfprotokoll stellt eine Befehlszeilenschnittstelle zum Verwalten und Anzeigen von Prüfprotokollen bereit. Prüfprotokolle stellen den Verlauf von Änderungen an Objekten im System bereit. Sie werden im Index "full-text" gespeichert.

Bei der Verwendung des Prüfprotokolls ersetzt die Protokollierung für die verfolgten Objekte die Nachrichten, die andernfalls in Verwaltung > Nachrichten sichtbar wären.

Wichtig: Prüfprotokolle funktionieren nur in Verbindung mit Operationen, die direkt auf einem laufenden System durchgeführt werden. Sie funktionieren nicht bei Daten, die in das System importiert wurden. Die Funktion "bfimport" aktualisiert die Datenbank direkt und interagiert nicht mit der Prüfprotokollfunktion.

Prüfrichtlinie verwalten

Mithilfe der Prüfrichtlinie wird der Umfang der Prüfung gesteuert. Er wird durch die Einstellung für die Systemkonfiguration "Prüfrichtlinie" festgelegt.
KEINE
Es werden keine Prüfinformationen aufgezeichnet.
SICHERHEIT
Nur sicherheitsrelevante Informationen werden aufgezeichnet. Beispiele: Zugriffsgruppenerstellung und Benutzersitzungsaktivität.
BASIC
Die ist die Standardeinstellung. Diese Einstellung wird auch dann eingesetzt, wenn ein ungültiger Prüfrichtlinienwert vorliegt. Es werden nur Mindestinformationen aufgezeichnet wie Benutzer, Objekttyp, UUID und Aktion.
DETAILED
Zeichnet detaillierte Informationen über veränderte Eigenschaften auf einschließlich den alten und den neuen Wert. Nicht alle Objekte können diese Informationen bereitstellen. Bei Objekten, die das nicht können, besteht zwischen den Richtlinien "BRIEF" und "DETAILED" kein Unterschied. Die Einstellung der Systemkonfiguration "Maximale Länge der Prüfzeichenfolge" kann verwendet werden, um den Umfang der gespeicherten Daten zu beschränken.

Mit der Einstellung der Systemkonfiguration "Maximale Länge der Prüfzeichenfolge" kann gesteuert werden, wie viele Informationen für die Änderung "DETAILED" aufgezeichnet werden können, indem die Länge der Zeichenfolgendatenfelder begrenzt wird. Überschreitet das Prüfelement diese Anzahl an Zeichen, wird ein SHA-Nachrichtenauszug anstelle des Zeichenfolgenwerts gespeichert. Bei Feldern mit sensiblen Informationen wie Kennwörtern wird der Nachrichtenauszug ungeachtet der Zeichenfolgenlänge verwendet.

Prüfinformationen anzeigen

Dank einer Befehlszeilenschnittstelle können Sie angeben, welche Informationen angezeigt und wie diese formatiert werden sollen.

Die Berechtigung "Alle Prüfprotokolle anzeigen" ist erforderlich. Diese Berechtigung wird den Zugriffsgruppen "Sicherheit" und "Buildentwickler" standardmäßig zugewiesen.

Usage: bfauditlog [connection-options][command-options][query]

Die ausführbare Literaldatei lautet folgendermaßen:

Verbindungsoptionen

-H Hostname | --hostname=hostname
Der ferne Hostname für die Verbindung. Der Standardwert lautet localhost.
-P port | --port=port
Kommunikationsport für die Verbindung. Der Standard lautet 3966.
-d Domäne | --domain=domain
Die Domäne oder der Realm der Authentifizierung. Standard: none.
-u login | --user=login
Der für die Authentifizierung zu verwendende Benutzername. Der Standard lautet root.
-p Kennwort | --password=password
Das Kennwort für den Benutzer der Authentifizierung. Der Standard lautet root.
-E Codierung | --encoding=encoding
Die zu verwendende Codierung des Ausgabezeichensatzes. Wurde eine ungültige Codierung angegeben, werden alle verfügbaren Codierungen aufgelistet und das Programm wird beendet. Hinweis: Die Möglichkeit, Text in der angeforderten Codierung anzuzeigen, hängt von der Funktionalität der auf dem Client verwendeten Terminalsoftware ab. Die Standardeinstellung hängt vom Betriebssystem und von der JVM-Unterstützung ab.

Befehlsoptionen

-h
Hilfe anzeigen.
-b | --bare
Zeigen Sie in der Ausgabe weniger Informationen an (bare). Der genaue Effekt hängt vom Ausgabeformat ab (siehe -t). In der XML-Ausgabe werden die Öffnungs- und Endtags sowie die Zeilenanzahl nicht angegeben. In der CSV-Datei werden die Zeilenanzahl und die Spaltennamen nicht angegeben.
-c auditClass[,auditClass ...] | --audit.class=class-list
Gibt eine Liste von Prüfklassen an, die in der Abfrage verwendet werden sollen. Trennen Sie mehrere Klassennamen mit Kommas. Falls mehrfach angegeben, wird die Vereinigung aller angegebenen Prüfklassen verwendet. Falls die Option nicht angegeben ist, werden alle Prüfklassen verwendet, die der Benutzer angeben kann. Verwenden Sie die Option -L, um verfügbare Prüfklassen aufzulisten. Die Standardeinstellung: Alle Prüfklassen, die der Benutzer anzeigen darf.
-f field[,field ...] | --field=field-list
Legt die Felder fest, die in der Ausgabe enthalten sein sollen. Trennen Sie mehrere Feldnamen mit Kommas. Verwenden Sie die Option -L, um verfügbare Felder aufzulisten.
-s field[+|-][,field[+|-] ...] | --field=field-list
Listen Sie die Felder auf, die zum Sortieren der Ausgabe verwendet werden sollen. Die Ausgabe wird standardmäßig in absteigender Reihenfolge des "audit.stamp" sortiert. Die Markierung "+" gibt die aufsteigende Reihenfolge an. Die Markierung "-" gibt die absteigende Reihenfolge an. Trennen Sie mehrere Feldnamen mit Kommas. Der Standardwert lautet -audit.stamp.
-l [offset,]count | --limit=[offset,]count
Wird zum Paginieren der Ergebnisse verwendet. Der Offset und die Zahl werden durch die Anzahl der Einträge angezeigt. Zum Beispiel bedeutet "-l 100,50", dass Sie nach dem 100. Eintrag 50 Einträge anzeigen sollen. Ausgabeformate, die nicht entblößt sind, enthalten die Gesamtzahl der übereinstimmenden Einträge in der Ausgabe.
-a user[,user ...] | --audit.user=user-list
Schränkt die Ausgabe auf Einträge ein, die dem angegebenen Benutzer oder den angegebenenen Benutzern zugewiesen werden. Trennen Sie mehrere Benutzernamen mit Kommas. Wenn Sie mehrere Optionen -a verwenden, verwendet der Befehl die Vereinigung aller in den Optionen angegebenen Benutzer. Die Benutzer werden möglicherweise durch Anmelde-IDs oder UUIDs angegeben. Wenn -–audit-user ohne Benutzerargument angegeben wird, wird der zur Authentifizierung gewählte Benutzer verwendet.
-t format | --format=format
Das für die Ausgabe zu verwendende Format, zum Beispiel CSV, XML, JSON oder TEXT. Der Standard lautet TEXT.
-L | --list
Listet verfügbare Prüfklassen für den Benutzer auf. Auf mit einem Stern (*) markierte Prüfklassen kann der Benutzer zugreifen. Falls mit -c verwendet (Liste der Prüfklassen), wird stattdessen eine Liste der für jede Klasse zur Verfügung stehenden Felder angezeigt. Andere Befehlsoptionen haben keine Auswirkungen, wenn diese Option angegeben ist. Benutzer mit der Berechtigung ViewAllAudits können Prüfprotokolle jeder (beliebigen) Klasse anzeigen. Andere Benutzer können mit der Option -a nur ihre eigenen Prüfprotokolle anzeigen.

Abfrage

Die Abfrage ist eine Zeichenfolge, die das häufig durch Websuchmaschinen verwendete Format verwendet: eine durch Leerstelle getrennte Liste von Spezifikationen. Spezifikationen werden im Formular 'Feld:Wert' angegeben, um nach Wert im angegebenen Feld zu suchen. Wenn keine Abfrage, jedoch zumindest eine andere Option angegeben ist, werden alle übereinstimmenden Prüfprotokolle angezeigt. Der Prüfbenutzer und die Prüfklasse können in der Abfrage nicht angegeben werden. Verwenden Sie die Befehlsoptionen, um sie anzugeben.

Anmerkung: Verwenden Sie auf Windows-Systemen doppelte Anführungszeichen, auf UNIX- und Linux-Systemen einfache Anführungszeichen.

Beispiele

  1. In diesem Beispiel werden alle bekannten Abfragefelder für die Prüfklassen "Projekt" und "Schritt" aufgelistet.
    • Windows
      $ bfauditlog.bat -c Project,Step -L
    • UNIX und Linux
      $ bfauditlog.sh -c Project,Step -L 
  2. Dieses Beispiel zeigt die 10 neuesten Prüfprotokolle für Projekterstellungen an, die ein Ausgabeformat mit durch Kommas getrennten Variablen und ohne Spaltenüberschriften oder die Gesamtzeilenanzahl verwenden. Lediglich die eindeutige Kennung und der Name des Projekts werden für jeden Datensatz angegeben.
    • Windows
      $ bfauditlog.bat -c Project -t CSV -f audit.target,
        sxProjectName --bare -l 10 "audit.type:Create"
    • UNIX und Linux
      $ bfauditlog.sh -c Project -t CSV -f audit.target,
        sxProjectName --bare -l 10 'audit.type:Create' 
  3. In diesem Beispiel werden die 100 neuesten Prüfprotokolle von der Installation auf dem System 'buildforge.example.com' nach dem Anmelden abgerufen, wobei die Domäne, der Benutzername und das Kennwort angegeben sind.
    • Windows
      $ bfauditlog.bat -H buildforge.example.com
        -d ExampleLDAP -u apiuser -p "My$ecret" -l 100
    • UNIX und Linux
      $ bfauditlog.sh -H buildforge.example.com
        -d ExampleLDAP -u apiuser -p 'My$ecret' -l 100
  4. Dieses Beispiel ruft die Prüfprotokolle ab, die ab dem 23. Mai 2011 bis zum 27. Mai 2011 entsprechend der Zeitzoneneinstellungen des Benutzers erfasst wurden, der die Verbindung authentifizierte.
    • Windows
      $ bfauditlog.bat "audit.stamp:[2011/05/23 TO 2011/05/27]"
    • UNIX und Linux
      $ bfauditlog.sh 'audit.stamp:[2011/05/23 TO 2011/05/27]'
  5. Dieses Beispiel ruft die Prüfprotokolle für Projekte ab, deren Zugriffsgruppenebenen vom alten Wert 4, 5 oder 6 in den neuen Wert 3 geändert wurden. Beachten Sie, dass eckige Klammern zum Angeben eines inklusiven Bereichs verwendet werden. '[4 TO 6]' bedeutet also, dass die Werte 4 und 6 übereinstimmen. Beachten Sie außerdem, dass die alten und neuen Werte für die Ebene nur für die Suche zur Verfügung stehen, wenn die Prüfrichtlinie auf 'DETAILED' gesetzt wurde.
    • Windows
      $ bfauditlog.bat -c Project "ioLevel:[4 TO 6] AND inLevel:3"
    • UNIX und Linux
      $ bfauditlog.sh -c Project 'ioLevel:[4 TO 6] AND inLevel:3'
  6. Dieses Beispiel ruft die Prüfprotokolle für Projekte ab, deren Zugriffsgruppenebenen vom alten Wert 4 oder 5 in den neuen Wert 2 oder 3 geändert wurden. Beachten Sie, dass geschweifte Klammern zum Angeben eines exklusiven Bereichs verwendet werden. '{3 TO 6}' bedeutet also, dass die Werte 3 und 6 nicht übereinstimmen. Beachten Sie außerdem, dass die alten und neuen Werte für die Ebene nur für die Suche zur Verfügung stehen, wenn die Prüfrichtlinie auf 'DETAILED' gesetzt wurde.
    • Windows
      $ bfauditlog.bat -c Project "ioLevel:{3 TO 6} AND inLevel:(2 OR 3)"
    • UNIX und Linux
      $ bfauditlog.sh -c Project 'ioLevel:{3 TO 6} AND inLevel:(2 OR 3)'
  7. Dieses Beispiel schränkt die Abfrage auf Ergebnisse für Prüfbenutzer root und sv ein und produziert eine Ausgabe in einer CSV-Datei. Es gibt Daten für die Klassen "Projekt" und "Schritt" zurück und schließt Informationen für die Klasse, den Typ, das Ziel, den Benutzer und die Zeitmarke ein:
    • Windows
      $ bfauditlog.bat -c Project,Step -f audit.class,
        audit.type,audit.target,audit.user,audit.stamp
      	  -a root,sv -l 10,5 -t CSV
    • UNIX und Linux
      $ bfauditlog.sh -c Project,Step -f audit.class,
        audit.type,audit.target,audit.user,audit.stamp
      	  -a root,sv -l 10,5 -t CSV

Klassen

Klassen sind Beschriftungen für Prüfprotokolleinträge. Verwenden Sie die Option "-L", um die für Sie verfügbaren Klassen aufzulisten.

Felder

Felder repräsentieren Informationen, die jedem Prüfprotokolldatensatz zugewiesen werden.

Einige Felder im Prüfprotokolldatensatz geben ihren Status wieder (o für old (alt), n für new (neu), x für extended (erweitert)) sowie ihren Datentyp (s für string (Zeichenfolge), i für integer (Ganzzahl)). Beispiel:

  soDescription: Alte
Projektbeschreibung (Zeichenfolge)
	snDescription: Neue Projektbeschreibung (Zeichenfolge)
	soSelectorUuid:  Alte Selektor-UUID (Zeichenfolge)
	snSelectorUuid:  Neue Selektor-UUID (Zeichenfolge)
	ioRunLimit:  Altes Ausführungslimit (Ganzzahl)
	inRunLimit:  Neues Ausführungslimit (Ganzzahl)