Ajout du support API v2 (package de diagnostic) et du log fichier
- AuditLogCLI.ps1 : detection auto V1/V2 avec fallback sur erreur HTTP - Téléchargement/extraction du zip de diagnostic - Extraction des événements connexion/déconnexion (logs eclypse_*.log et karaf.log) - Nettoyage automatique des fichiers temporaires - Écriture d'un fichier .log horodate en complement de la console - README.md : documentation FR/EN de la détection V1/V2
This commit is contained in:
@@ -29,6 +29,15 @@ Se connecte à chaque automate listé dans un CSV, récupère son journal d'audi
|
||||
|
||||
Un filtrage optionnel par période (`-StartDate`/`-EndDate`) peut être appliqué à la requête.
|
||||
|
||||
### Détection automatique API v1 / v2
|
||||
|
||||
Le script détecte automatiquement la version d'API supportée par chaque automate, sans configuration :
|
||||
|
||||
1. **API v2** (package de diagnostic) est essayée en premier : `GET /api/rest/v2/services/packages/diagnostic`. La réponse est un fichier `.zip` de diagnostic complet, que le script télécharge, extrait, puis analyse pour en extraire les événements de connexion/déconnexion (`connected`/`disconnected`) présents dans `logs/eclypse_*.log` et `logs/karaf.log`. Le fichier zip et les fichiers extraits sont supprimés automatiquement après traitement ; seul le CSV final est conservé.
|
||||
2. En cas d'erreur HTTP sur l'appel v2 (404, 401, 500...), le script bascule automatiquement sur **l'API v1** (`GET /api/rest/v1/system/audit-logs`), qui retourne directement un CSV.
|
||||
|
||||
Le CSV obtenu (v1 ou v2) suit ensuite le même traitement de sortie (`PerAutomate` ou `Consolidated`).
|
||||
|
||||
---
|
||||
|
||||
## Utilisation avec cadMasterCLI
|
||||
@@ -216,6 +225,10 @@ Vérifier que les colonnes `HttpPort` et `HttpsPort` du CSV contiennent des vale
|
||||
|
||||
Les noms des paramètres de requête (`startDate`/`endDate`) utilisés par ce script sont une hypothèse non validée contre la documentation officielle de l'API `audit-logs`. Si le filtrage ne fonctionne pas, vérifier la documentation de l'API Eclypse de l'automate concerné.
|
||||
|
||||
#### "V2 indisponible, bascule V1" dans les logs
|
||||
|
||||
Message normal (niveau `WARN`) : l'automate ne supporte pas l'API v2 (package de diagnostic), le script utilise donc l'API v1 (`audit-logs`) à la place. Aucune action requise.
|
||||
|
||||
<!-- EN -->
|
||||
# AuditLogCLI
|
||||
|
||||
@@ -247,6 +260,15 @@ Connects to each controller listed in a CSV, retrieves its audit log via the RES
|
||||
|
||||
An optional date-range filter (`-StartDate`/`-EndDate`) can be applied to the request.
|
||||
|
||||
### Automatic API v1 / v2 detection
|
||||
|
||||
The script automatically detects which API version each controller supports, with no configuration needed:
|
||||
|
||||
1. **API v2** (diagnostic package) is tried first: `GET /api/rest/v2/services/packages/diagnostic`. The response is a full diagnostic `.zip` file, which the script downloads, extracts, then parses to pull out connection/disconnection events (`connected`/`disconnected`) found in `logs/eclypse_*.log` and `logs/karaf.log`. The zip file and extracted files are automatically deleted after processing; only the final CSV is kept.
|
||||
2. On any HTTP error from the v2 call (404, 401, 500...), the script automatically falls back to **API v1** (`GET /api/rest/v1/system/audit-logs`), which returns a CSV directly.
|
||||
|
||||
The resulting CSV (v1 or v2) then goes through the same output handling (`PerAutomate` or `Consolidated`).
|
||||
|
||||
---
|
||||
|
||||
## Using with cadMasterCLI
|
||||
@@ -435,3 +457,7 @@ Check that the CSV's `HttpPort` and `HttpsPort` columns contain valid values. A
|
||||
#### The `-StartDate`/`-EndDate` filter seems to have no effect
|
||||
|
||||
The query parameter names (`startDate`/`endDate`) used by this script are an unverified assumption against the official `audit-logs` API documentation. If filtering does not work, check the Eclypse API documentation for the specific controller.
|
||||
|
||||
#### "V2 indisponible, bascule V1" in the logs
|
||||
|
||||
Normal message (`WARN` level): the controller does not support the v2 API (diagnostic package), so the script uses the v1 API (`audit-logs`) instead. No action needed.
|
||||
|
||||
Reference in New Issue
Block a user