2016-05-13 1 views
0

J'essaie d'obtenir SemanticLogging-svc.exe à partir du bloc d'application Semantic Logging de la bibliothèque d'entreprise pour écouter les événements de ma source d'événement personnalisée et les exporter vers la console.Aucun événement enregistré avec le service SemanticLogging sur un seul serveur

Cela fonctionne très bien pour mon hôte local et pour un serveur de développement, mais je n'obtiens aucune sortie pour un serveur de production. Donc, je cherche des réponses à la question de savoir pourquoi.

La sortie de la console est tout simplement:

 
Event Trace Session prefix: Microsoft-SemanticLogging-Etw 

Sink name: ConsoleEventSink 
Event sources: 
Name: b3b81ce4-1cb6-512c-f02f-46aefff0344d 
INNOMATE-HR-Security, Level: LogAlways, MatchAnyKeyword: None 

Service started. 

Mon SemanticLogging-svc.xml ressemble à ceci:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration xmlns="http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw SemanticLogging-svc.xsd"> 
    <traceEventService/> 
    <sinks> 
    <consoleSink name="ConsoleEventSink"> 
     <sources> 
     <eventSource name="INNOMATE-HR-Security" level="LogAlways"/> 
     </sources> 
     <eventTextFormatter header="+=========================================+"/> 
    </consoleSink> 
    </sinks> 
</configuration> 

Il n'y a aucun événement dans le journal des événements Windows.

J'ai également essayé avec un rollingFlatFileSink. Cela entraîne un fichier vide sur le serveur de production, mais fonctionne sur les autres systèmes.

En regardant dans PerfMon> Data Collector Sets> Sessions de suivi d'événements, je vois que Microsoft-SemanticLogging-Etw-ConsoleEventSink est en cours d'exécution. En utilisant PerfView, mes événements sont collectés correctement.

Le serveur en question est un serveur plus ancien, exécutant Windows Server 2008 R2.

Y a-t-il des paramètres qui me manquent ou quelqu'un a-t-il une autre explication de la raison pour laquelle cela ne fonctionne pas?

Merci d'avance.

Répondre

0

Il semble que l'identité du service SemanticLogging-svc ne dispose pas des autorisations requises pour créer une session ETW, enregistrer un fournisseur ou lire des événements à partir d'une session ETW. Ajoutez l'identité de l'instance de service SemanticLogging-svc au groupe Windows Performance Log Users.

Avez-vous essayé d'exécuter le service SemanticLogging-svc avec le même compte que celui utilisé pour PerfView ou avec des privilèges d'administrateur?

+0

Le problème est là à la fois lors de l'exécution de SemanticLogging-svc en tant qu'application console (avec l'argument -console) et en tant que service - les deux avec des privilèges d'administrateur complets. L'ajout explicite du groupe Utilisateurs du journal de performances ne vous aide pas non plus. –

+0

Quelle est la version OS et .Net dans vos autres environnements? –

+0

Et en production aussi bien. –