События Windows Forward, в которых отсутствуют пользовательские данные и описание
У меня есть события подписки, установленные для пересылки журналов служб терминалов / LocalSessionManager / Operational журналов Windows Server 2008 в раздел "Переадресация событий" сервера 2008 другого окна.
Событие подписки устанавливается со значением HeartbeatInterval, равным 300 (и все же отправка сообщения занимает около 15 минут).
Тем не менее, как только журнал окончательно передается на основной Windows Server 2008, выполняющий Event Collecting the log, отсутствует информация.
Общий вид для пересылаемого события будет отображать следующее:
Remote Desktop Services: Session reconnection succeeded:
User: %1
Session ID: %2
Source Network Address: %3
Почему эти переменные не заполняются при пересылке? Перед отправкой исходный компьютер сообщает мне пользователя и остальную информацию. Но в перенаправленной версии журнала этого не хватает.
Ожидаемое отображение:
Remote Desktop Services: Session reconnection succeeded:
User: mydomain\myusername
Session ID: 2
Source Network Address: 123.4.5.6
Тем не менее, когда я просматриваю вкладку "Подробности", я вижу, что вся информация есть!
- <UserData>
- <EventXML xmlns:auto-ns3="http://schemas.microsoft.com/win/2004/08/events" xmlns="Event_NS">
<User>mydomain\myusername</User>
<SessionID>2</SessionID>
<Address>123.4.5.6</Address>
</EventXML>
</UserData>
У меня есть это событие ввода в nxlog просто отлично.
Выходные данные nxlog соответствуют непересылаемым событиям. Вывод Nxlog:
{"EventTime":"2014-05-21 12:49:35","Hostname":"myhostname.mywebsite.org","Keywords":1152921504606846976,"EventType":"INFO","SeverityValue":2,"Severity":"INFO","EventID":25,"SourceName":"Microsoft-Windows-TerminalServices-LocalSessionManager","ProviderGuid":"{5D896912-022D-40AA-A3A8-4FA5515C76D7}","Version":0,"Task":0,"OpcodeValue":0,"RecordNumber":89,"ProcessID":532,"ThreadID":3316,"Channel":"Microsoft-Windows-TerminalServices-LocalSessionManager/Operational","Domain":"NT AUTHORITY","AccountName":"SYSTEM","UserID":"SYSTEM","AccountType":"User","Opcode":"Info","EventReceivedTime":1400691838,"SourceModuleName":"eventlog","SourceModuleType":"im_msvistalog"}
Как только logstash получает выходные данные из nxlog, пропускаются поля, наиболее важно, что поле "Сообщение", содержащее то, что представляется общим представлением журнала событий, полностью отсутствует в этих перенаправленных событиях. Поле "message" все еще там, но оно включает только вывод nxlog, в котором явно отсутствуют необходимые мне данные пользователя.
Оба поля "Сообщение" и "сообщение" появляются в logstash при работе с непересылаемыми событиями, но в переадресованных событиях отсутствует поле "Сообщение". Как я могу это исправить?
РЕДАКТИРОВАТЬ: ContentFormat события подписки имеет значение "События".
1 ответ
Я считаю, что у меня есть решение, и оно не очень красивое.
После настройки Журнала назначения в Подписке на TerminalServices-LocalSessionManager/Operational все данные начали вводиться в такт в Event Viewer, как и ожидалось. Не было%1, %2, %3, глупости, все переменные были заполнены.
Когда nxlog прочитал журнал событий, а logstash прочитал вывод nxlog, поля "message" и "Message" также были в такте. Данные отсутствуют, и мои парсеры работают правильно.
Я не понимаю, но есть проблема с Журналом назначения, установленным в Переадресованные События. Каким-то образом данные теряются при передаче.
ContentFormat также был возвращен к RenderedText.
Обновление: установка RenderedText решила проблему. Журнал пересылаемых событий по умолчанию также ограничен размером 20 МБ, и его необходимо было увеличить. Другая проблема заключается в том, что в подписку включены доменные компьютеры, включая сам сервер подписки, что привело к тому, что сервер windows рекурсивно пересылал свои журналы.
Для ContentFormat установлено значение RenderedText (настройка по умолчанию). Увеличен размер журнала назначения до 5 ГБ. Исключить себя из подписки.