Trouver les erreurs les plus courantes dans les journaux d'events à l'aide de Powershell.

J'ai les journaux d'events pour l'un de nos servers localement au format .evtx. Je peux charger le file journal dans PS en utilisant la command:

Get-WinEvent -Path D: \ Desktop \ serverlogs.evtx

Ce que j'aimerais faire, c'est sur les events de groupes de champs de message où le text correspond d'un certain pourcentage (disons 80% le même). Comme nous avons des stratégies d'erreur pour les erreurs dans les détails qui seront les mêmes, mais nous enregistrons également l'adresse IP du client, qui a été accessible, ce qui sera probablement différent.

Je veux les regrouper afin que je puisse résoudre les erreurs les plus courantes pour donner la priorité à la réparation et comme il y a plus de 25 000 erreurs dans le file journal, je préfère ne pas le faire manuellement.

Je pense que je peux comprendre comment faire la plupart de cela, mais je ne suis pas sûr de savoir comment je pourrais faire la partie «groupe de champs qui sont le plus souvent les mêmes», est-ce que powershell a créé quelque chose comme ça?

2 Solutions collect form web for “Trouver les erreurs les plus courantes dans les journaux d'events à l'aide de Powershell.”

Tout d'abord, vous souhaitez filterr autant que vous le pouvez, car l'étape suivante utilise la cmdlet Where-Object , qui peut être lente pour ce genre de chose (malheureusement, il ne ressemble à aucun des arguments pour le support Get-WinEvent caractères generics pour la propriété Message d'un événement).

Par exemple, obtenez simplement les events de niveau "erreur":

 $events = Get-WinEvent -FilterHashTable @{ Path="D:\Desktop\serverlogs.evtx";Level=2 } 

Ensuite, vous pouvez utiliser -match ou- -match pour filterr davantage vers ceux qui ont un text similaire:

 $events = $events | ?{ $_.Message -match "your similar error here" } 

Maintenant que vous avez restreint la list, vous pouvez envoyer les résultats à la cmdlet Group-Object , en précisant que vous souhaitez les regrouper sur la propriété "Message" de l'événement:

 $events | Group-Object -Property Message 

Bien que vous avez demandé comment faire cela dans Powershell, je suggérerais également avoir un regard sur Microsoft Log Parser Cela vous permettra d'écrire des requêtes SQL similaires à vos journaux (et un tas d'autres astuces utiles). Aucune raison pour laquelle vous ne pouviez pas le conduire de Powershell.

  • Ouverture d'un «Journal des events d'application» archivé (Répertoire caché)
  • Quelles sont les implications de dépassement de 4 Go dans un journal d'events Windows?
  • Comment puis-je comprendre pourquoi apache / php se bloque?
  • Quels messages de journal dois-je searchr, cela indique le début d'une fermeture de session dans Windows Event Viewer?
  • Un ralentissement extrême lors de la modification des permissions de dossier
  • Qu'est-ce qui causerait tant d'échecs d'audit de security PlugPlayManager EventID 4656 à la fois?
  • Créer l'input du journal des events lorsqu'un file est ouvert ou copié depuis un CD / DVD
  • La meilleure façon de faire l'logging des events DHCPD?
  • Comment écrire une requête XPath correcte pour filtrer certaines erreurs de pool d'applications dans le journal des événements de Windows 2008 R2 (section "Applications")
  • Comment puis-je afficher les horaires de connection / fermeture de session pour Windows Server 2008?
  • WinXP Event Viewer: Internet Explorer - comment save des events?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.