Я написал приложение, которое собирает журналы Windows из Linux через пакет wmi-client Zenoss.
Он использует WQL для запроса журнала событий и анализирует возврат. Моя проблема пытается найти последнюю запись в журнале.
Я наткнулся на этот , который говорит мне использовать столбец NumberOfRecords в запросе, таком как этот
Select NumberOfRecords from Win32_NTEventLogFile Where LogFileName = 'Application'
и используйте возвращаемое значение из этого как самый высокий лог.
Мой вопрос: я слышал, что журнал событий Windows представляет собой кольцевой буфер, то есть он перезаписывает свои старые журналы новыми, когда журнал заполняется. Будет ли это влиять на NumberOfRecords, как если бы это произошло, свойство «RecordNumber» событий будет продолжать увеличиваться, однако фактическое количество записей в журнале событий не изменится (как и для каждой записанной записи, одна удаляется ).
Может кто-нибудь пролить некоторый взгляд на то, как это на самом деле работает (является ли NumberOfRecords наибольшим номером записи или фактическим числом событий в журнале), и, возможно, предложить решение?
Обновление
Итак, теперь мы знаем, что NumberOfRecords не будет работать сам по себе, поскольку журнал событий является кольцевым буфером. Решение MS состоит в том, чтобы получить Старую запись и добавить ее в NumberOfRecords, чтобы получить актуальную последнюю запись.
Это возможно через WinAPI, но я звоню удаленно из Linux. Кто-нибудь знает, как мне добиться этого в моем сценарии?
Спасибо