User Tools

Site Tools


start:tips:cockpit:windowslogfile

Warning: Undefined array key 1 in /home/clients/1b5563e54ec9ebb7c62f82bb22e088b4/web/wiki/lib/plugins/note/syntax.php on line 103

Windows - Log file / Fichier de log

Le contrôle Windows - Log file (ou Windows - Fichier de log en français) peut partir en timeout lors de l'analyse de fichiers de plus de 80MB. Il n'est pas possible de faire de recherche de mots clés avec et sans espaces en même temps car il n'y a pas de séparateur de mot clés.

J'ai écrit un petit programme qui permet de faire des recherche dans des fichiers de logs sans les limitations du contrôle de base. Vous pouvez le télécharger ici. FIXME Ajouter le lien

Syntaxe

MyWindowsLogFile.exe /F Filename /K Filename [/E Encoding] [/I] [/H] [/M Mode]

/F FileName

Spécifie le fichier de log à analyser

/K Filename

Spécifie un fichier contenant la liste des mots clés à rechercher dans le fichier de log. C'est un fichier à créer avec le bloc-notes, avec un mot clé par ligne. A titre d'exemple voici le contenu du fichier Oracle.Warning:

Oracle.Warning
ORA-01149 
ORA-01555 
ORA-01562
Checkpoint not complete

[/E Encoding]

Spécifie l'encodage du fichier de log. La valeur de Encoding peut avoir une des valeurs suivantes:

ANSI Encodage par défaut sous Windows
ASCII Encodage par défaut sous DOS
Default Idem à ANSI
BigEndianUnicode UTF-16 avec l'ordre d'octets “big-endian”
Unicode UTF-16 avec l'ordre d'octets “little-endian”
UTF7 UTF-7
UTF8 UTF-8

Ce paramètre est optionnel, il ne faut l'ajouter uniquement si vous rencontrez une erreur du genre:

EEncodingError: No mapping for the Unicode character exists in the target multi-byte code page

Dans ce cas, commencer par utiliser /E ANSI (par défaut le programme va utiliser Unicode pour les les fichiers)

[/I]

Si ce paramètre est présent, la recherche des mots clés s'effectue sans tenir compte de la casse (MAJUSCULES/minuscules).

[/H]

Si ce paramètre est présent, n'affiche pas les statistiques a la fin de l'analyse.

Voici un exemple de statistiques affichées

Analyzed file .......................... : ..\..\Sample\alertgwd.log
Keyword file ........................... : ..\..\Sample\Oracle.Warning
Last line number of the analyzed file .. : 767820
Number of keywords found ............... : 0
Date of last run ....................... : 04.09.2023 22:10:42
Running time ........................... : 00:00:00

MyWindowsLogFile 1.0.3 (c)2023 by Stephane Claus

[/M Mode]

Pour le moment, il n'y a qu'un seul mode qui est pris en compte:

ORAALERT Oracle Alert Log file

Lorsque l'option Mode est active, tout le bloc d'erreur est affiché, depuis la date de début jusqu'à la ligne contenant le mot clé.

Si cette option n'est pas active, seule la ligne avec le mot clé recherché est affiché.

Pour la prise en compte avancée d'autres fichiers de log, contactez-moi.

Fonctionnement du programme

Lors de la 1ère analyse du fichier de log, aucun mot clé n'est recherché. Le fichier de log est juste parcouru afin d'en trouver la dernière ligne. Pour un fichier de 80MB, cela prends moins de 2 secondes.

La date de modification du fichier de log ainsi que la no de la dernière ligne sont sauvegardé dans un fichier ini:

[cd066a38c477d67a960c15a9ae98fcfe - 0775d969fef0f6e3bc6a723c7a2dcdfd]
File=..\..\Sample\alertgwd.log
KeyWord=..\..\Sample\Oracle.Critical
LastRun=04.09.2023 22:10:42
Index=767820
FileSize=45778335
FileAge=01.09.2023 15:42:54
  • La section est une concaténation d'un hash MD5 du nom du fichier de log ainsi que du hash MD5 du fichier de mots clés
  • File + KeyWord → Le nom des fichiers “en clair” sont stocké dans le fichier (valeurs informatives, pas utilisée par le programme)
  • LastRun → Date de dernière analyse du fichier de log (valeur informative, pas utilisée par le programme)
  • Index → No de la dernière ligne du fichier de log
  • FileSize → Taille du fichier de log
  • FileAge → Date de dernière modification du fichier de log

Lors de l'exécution suivante du programme (sur le même fichier de log / avec le même fichier de mots clés), il y a une première vérification qui est réalisée: Est-ce que le fichier de log a changé (soit taille ou date de modification différente de ce qui se trouve dans le fichier INI) ?

Si le fichier n'a pas été changé, aucune analyse n'est effectuée et le message suivant s'affiche:

None of the specified keywords were found in the file.
The file has not been modified since the last analysis, no verification done.

Dans le cas contraire, le fichier est analyse depuis la dernière ligne lue jusqu'à la fin du fichier. Là il y a deux possibilités:

  • 1 aucun mot clé trouvé dans le fichier de log et le message suivant s'affiche
None of the specified keywords were found in the file.
  • 2 un des mots clés a été trouvé, dans ce cas il y a un message de ce style qui est affiché
Keyword "Checkpoint not complete" found on line 1508514

2023-08-31T08:10:56.546161+02:00
Checkpoint not complete

Utilisation dans Cockpit ITSM

Dans Cockpit ITSM; il faut créer un contrôle de type Windows - Custom command - Output (Windows - Commande spécifique - Sortie standard) et faire un appel du programme

  1. Faire un appel du programme avec les bons paramètres
  2. Le résultat du contrôle doit être inversé
  3. Changer le sujet pour qu'il soit plus parlant
  4. Déclencher une alerte si la chaîne de caractères None of the specified keywords were found in the file. est trouvée
  5. Ce n'est pas une expression régulière
Ne pas oublier de lire les END-USER LICENSE AGREEMENT
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
start/tips/cockpit/windowslogfile.txt · Last modified: 2023/11/12 16:42 by admin_wiki