Dieses Protokoll enthält Einträge zu allen Ereignissen und Fehlern, die in ABBYY FlexiCapture aufgetreten sind, z. B. An- und Abmeldeereignisse von System Administratoren sowie das Starten und Stoppen des Application Server und von Processing Stations. Dieses Ereignisprotokoll enthält keine Einträge zu Ereignissen, die in Mandanten aufgetreten sind.
Nur Benutzer mit den Berechtigungen eines System Administrator können Ereignisprotokolle aus System Monitor herunterladen. Ein System Administrator ist der Administrator eines Standardmandanten.
Verwenden Sie zum Herunterladen dieses Protokolls eine POST-Anfrage.
POST https://<server address>/FlexiCapture12/Monitoring/Tenant/GetEventsCSV
- Alle Parameter sind erforderlich. Stellen Sie sicher, dass sie korrekt angegeben werden.
- Bei der Suche in Oracle Database wird zwischen Groß- und Kleinschreibung unterschieden. Bitte beachten Sie dies, wenn Sie Oracle Database verwenden.
Name | Typ | Beschreibung |
filter | string | Legt die Filterparameter fest. Es werden nur Protokolle aufgezeichnet, die die Filterbedingungen erfüllen. Zum Verknüpfen der Bedingungen können nur die Operatoren AND und OR verwendet werden. Die Operatoren werden im Parameter GeneralOperator angegeben. Beispielhafte Filterparameter: filter={
“GeneralOperator”: “AND”,
“FilterItems”: [
{
“PropertyKey”: “Date”,
“PropertyOperator”: “BETWEEN”,
“PropertyValues”: [
“2022-09-12”,
“00:00:00”,
“2023-10-12”,
“23:59:59”
]
}
]
}
Die erforderlichen Werte für die Parameter PropertyKey und PropertyOperator können Sie ermitteln, indem Sie den gewünschten Filter in der Administration and Monitoring Console erstellen. Gehen Sie dazu wie folgt vor: - Klicken Sie im Browsermenü auf Weitere Tools -> Developer Tools und wechseln Sie zur Registerkarte Network.
- Starten Sie die Administration and Monitoring Console, navigieren Sie zu System Monitor → Ereignisprotokoll und klicken Sie auf die Schaltfläche
. - Geben Sie die Filterkriterien an und klicken Sie auf Apply.
- Klicken Sie auf die GetFilteredEvents-Anforderung. Die Filterparameter werden auf der Registerkarte Payload aufgelistet.
Wichtig! Wenn Sie Ereignisse für den Standard-Mandanten filtern möchten, geben Sie den Parameter „TenantNameExt” anstelle von „TenantName” an: “FilterItems”: [
{
“PropertyKey”: “TenantNameExt”,
“PropertyOperator”: ”=”,
“PropertyValues”: [“Default tenant”]
}
Beachten Sie, dass „TenantName” für den Standard-Mandanten im Parameter columnsOrder beibehalten werden muss. |
columnsOrder | string | Liste der Spalten, die dem Report hinzugefügt werden sollen. Mögliche Werte: - ID
- Date
- EventType
- Comment
- UserFullName
- Workstation
- BatchId
- BatchName
- BatchTypeName
- StageFromName
- StageToName
- ProjectName
- RoleName
- TenantName
|
sortColumnindex | int | Gibt die Spalte an, nach der die Datensätze im Protokoll sortiert werden. |
sortOrder | bool | Gibt die Reihenfolge an, in der die Datensätze sortiert werden: - true sortiert die Datensätze in absteigender Reihenfolge,
- false sortiert die Datensätze in aufsteigender Reihenfolge.
|
tenantId | int | Gibt die Mandanten an, für die Datensätze in das Ereignisprotokoll aufgenommen werden sollen. Mögliche Werte: - -1 – Datensätze für alle verfügbaren Mandanten werden in das Protokoll aufgenommen.
- 0 – Datensätze für den Standard-Mandanten werden in das Protokoll aufgenommen.
- 1 und größer – nur Datensätze für den Mandanten mit der angegebenen ID werden in das Protokoll aufgenommen.
|
Ein Beispiel für die Verwendung dieser API finden Sie im Skript. Laden Sie das Skript hier herunter oder verwenden Sie den unten aufgeführten Skript-Code.
Die Parameter in diesem Skript sollten durch die Serveradresse und Ihre Zugangsdaten ersetzt werden.
#------------------------------------------------------------------------------
$server = "https://<server address>"
# Pfad zum Ordner, in dem das Log gespeichert wird
$folder = "C:\Temp\Logs\Stage"
$reportFileName = "Tenant_Events-{0:yyMMdd-HHmmss}.csv" -f (Get-Date)
"GeneralOperator": "AND",
"PropertyOperator": "BETWEEN",
&columnsOrder=Id,Date,EventType,Comment,UserFullName,Workstation,BatchId,BatchName,BatchTypeName,StageFromName,StageToName,ProjectName,RoleName,TenantName,
#------------------------------------------------------------------------------
$tenant = "" # Nur Standard-Tenant
$methodUri = "/Tenant/GetEventsCSV"
$ServerSitePath = "/FlexiCapture12/Monitoring"
function Write-Line($str, $color = "White")
Write-Host $str -ForegroundColor $color
param([Parameter(Mandatory, ValueFromPipeline)] [string]$parent, [string]$child)
if ($parent -eq "") {return $child;}
if ($child -eq ""){return $parent}
if ($parent.endswith("/") -or $parent.endswith("\\")) {$parent = $parent.substring(0,$parent.Length-1)}
if ($child.startswith("/") -or $child.startswith("\\")) {$child = $child.substring(1,$child.Length-1)}
function Get-AuthTicket($server, $user, $password, $tenant)
if ($tenant -ne ''){ $tenantSuffix = "?tenant=$tenant"}
$URL = Join-Uri $authServer "/FlexiCapture12/Server/FCAuth/API/Soap$tenantSuffix"
$SOAPRequest = '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><FindUser xmlns="urn:http://www.abbyy.com/FlexiCapture"><userLogin>user</userLogin></FindUser></soap:Body></soap:Envelope>'
'SOAPAction' = '"#FindUser"'
'Content-Type' = 'text/xml; charset=utf-8'
'Authorization' = "Basic $([System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("$($user):$($password)")))"}
$response1 = Invoke-WebRequest -Uri $URL -Headers $Headers -Body $SOAPRequest -Method 'POST'
return $response1.Headers['AuthTicket']
Write-Line -str "Couldn't get 'AuthTicket': $_" -color "Red"
function Download-CSVReport($server, $tenant, $authTicket, $methodUri, $requestBody, $folder, $reportFileName)
$reportFullFilePath = Join-Path $folder $reportFileName
#Ordner erstellen (falls nicht vorhanden), ohne Fehlermeldung
New-Item -ItemType Directory -Force -Path $folder | Out-Null
if ($authTicket -eq "" -or $authTicket -eq $null)
Write-Line -str "Couldn't get 'CSV-Report'" -color "Red"
$header = @{ "Accept" = "*/*"}
$session = [Microsoft.PowerShell.Commands.WebRequestSession]::new()
$session.Cookies.Add($server, [System.NET.Cookie]::new('FlexiCaptureTmpPrn', "Ticket=$authTicket"))
if ($tenant -ne '') { $tenantInUrl = "/$tenant"}
$uri = Join-Uri $server $ServerSitePath | Join-Uri -child $tenantInUrl | Join-Uri -child $methodUri
$response = Invoke-WebRequest -Uri $uri -Method 'POST' -Headers $header -WebSession $session -Body $requestBody -OutFile $reportFullFilePath -MaximumRedirection 0 -ErrorAction Ignore -PassThru
if ($response.StatusCode -lt 300)
Write-Line "CSV-Report done: $reportFullFilePath" "Green"
Write-Line -str "HttpStatus $($response.StatusCode) in getting CSV-Report." -color "Red"
Write-Line -str "Couldn't get CSV-Report: $_" -color "Red"
$authTicket = Get-AuthTicket -server $server -user $user -password $password -tenant $tenant
Download-CSVReport -server $server -tenant $tenant -authTicket $authTicket -methodUri $methodUri -requestBody $requestBody -folder $folder -reportFileName $reportFileName