Diagnostic

Diagnostiquer les agents utilisateur et serveur : niveaux de journalisation et localisation des logs

Cet article regroupe les éléments de diagnostic des deux agents Kabeen : l'agent utilisateur, déployé sur les postes, et l'agent serveur, déployé sur l'infrastructure.

Agent utilisateur

L'agent utilisateur enregistre son activité dans des fichiers de journalisation locaux. Ces fichiers sont la principale ressource de diagnostic en cas de comportement inattendu.

Modification du niveau de journalisation

L'agent utilisateur fonctionne par défaut avec un niveau de journalisation INFO. Ce paramètre peut être ajusté via le registre Windows.

  • Chemin : HKEY_CURRENT_USER\Software\Policies\Kabeen\Configuration
  • Nom de la clé : LogLevel
  • Valeurs acceptées : Error, Info, Debug

Après modification du registre, redémarrez l'agent Kabeen pour que le nouveau niveau soit pris en compte.

Localisation des journaux de l'agent

Les fichiers journaux de l'agent sont conservés dans des emplacements spécifiques selon le système d'exploitation. Les journaux sont stockés individuellement pour chaque utilisateur du système.

PlateformeEmplacement
Windows%AppData%\Kabeen\logs
macOS~/Library/Logs/Kabeen/logs

Agent serveur

L'agent serveur est l'agent d'infrastructure de Kabeen pour Windows, Linux et IBM i. Il collecte les métriques et informations d'inventaire de manière autonome via un canal HTTPS authentifié par une clé d'API liée au tenant. L'agent serveur fonctionne en mode service sans recevoir de commandes descendantes de la plateforme.

Architecture et composants

L'agent est constitué de plusieurs modules :

  • Un composant principal de collecte et de coordination
  • Un module dédié à la collecte des métriques système
  • Des services de configuration et d'authentification
  • Un système de journalisation centralisé

Configuration et initialisation

La configuration de l'agent serveur couvre les éléments suivants :

  • La clé d'API utilisée pour l'authentification auprès de la plateforme
  • Les paramètres d'appartenance à une structure et à une équipe
  • Les paramètres de connexion sortante (proxy, etc.)

Sur Windows, certains paramètres comme le niveau de journalisation se définissent via des clés de registre.

Journalisation

Les logs de l'agent serveur sont stockés localement sur le serveur. Ils constituent la première source d'information lors d'un diagnostic.

L'emplacement des logs dépend de la version de l'agent. La version 3.0 (Kabeen Server Agent) écrit dans de nouveaux emplacements, à côté de ceux de l'ancien agent (Kapsul).

PlateformeFichier / commande de logs
Windows (3.0)C:\ProgramData\Kabeen\Server Agent\
Windows (ancien)C:\Program Files (x86)\Kapsul\logs\kapsul.log
Linux (3.0)journalctl -u kabeen-server-agent.service
Linux (ancien)/var/log/kapsul.log

Erreurs au démarrage (Windows)

Si l'agent serveur ne démarre pas sur Windows, procédez aux vérifications suivantes :

  1. Clé d'API : vérifiez que la clé d'API est correctement renseignée dans le fichier config.toml ou dans le registre.
  2. État du service : contrôlez que le service est bien présent et démarré.
sc query kapsul
Get-Service KabeenServerAgent

Utilisez sc query kapsul pour l'ancien agent ou Get-Service KabeenServerAgent pour la version 3.0.

  1. Connectivité sortante : assurez-vous que le serveur peut joindre les services Kabeen en HTTPS sortant :
    • api.kabeen.io:443 (contrôle / REST)
    • intake.kabeen.io:443 (ingestion / gRPC)

Encodage du fichier de configuration (Windows)

L'agent serveur 3.0 lit config.toml en UTF-8 strict et ne tolère ni marque d'ordre d'octets (BOM), ni UTF-16. Une édition manuelle sous Windows produit souvent un encodage incompatible, qui empêche l'agent de démarrer. Le mode de panne se lit dans les journaux :

Outil utiliséEncodage produitJournal de l'agent
Bloc-notes → Unicode, ou PowerShell 5.1 > / Out-File / Set-Content (sans -Encoding)UTF-16 LEFailed to read config file
Bloc-notes ancien, ou Set-Content -Encoding utf8 en PowerShell 5.1UTF-8 avec BOMFailed to parse config

Méthodes fiables (UTF-8 sans BOM) :

  • Bloc-notes (Windows 10 1903+) : Fichier > Enregistrer sous et choisir l'encodage « UTF-8 » (surtout pas « UTF-8 with BOM »).
  • PowerShell (toutes versions), écriture garantie sans BOM :
$cfg = "C:\ProgramData\Kabeen\Server Agent\config.toml"
$contenu = "api_key = `"VOTRE_CLÉ_API_KABEEN`"`r`n"
[System.IO.File]::WriteAllText($cfg, $contenu, (New-Object System.Text.UTF8Encoding $false))

Pour contrôler l'absence de BOM, les 3 premiers octets ne doivent pas être EF BB BF :

Format-Hex $cfg | Select-Object -First 1