Zenoss wmi-clientパッケージを介して、LinuxからWindowsログを収集するアプリケーションを作成しました。
WQLを使用してイベントログを照会し、戻り値を解析します。私の問題は、ログで最新のエントリを見つけようとしていることです。
私はこれに遭遇しました。これは、このようなクエリでNumberOfRecords列を使用するように指示します。
Select NumberOfRecords from Win32_NTEventLogFile Where LogFileName = 'Application'
そして、そこからの戻り値を最高のログとして使用します。
私の質問は、Windowsイベントログは循環バッファであると聞いています。つまり、ログがいっぱいになると、最も古いログが新しいログで上書きされます。これはNumberOfRecordsに影響を与えますか?それが発生した場合、イベントの "RecordNumber"プロパティは増加し続けますが、イベントログの実際のレコード数は変更されません(書き込まれるすべてのエントリについて、1つが削除されます)。 )。
誰かがこれが実際にどのように機能するか(NumberOfRecordsが最大のRecordNumberであるか、ログ内のイベントの実際の数であるか)について洞察を投げかけ、おそらく解決策を提案できますか?
アップデート
したがって、イベントログはリングバッファであるため、NumberOfRecordsはそれ自体では機能しないことがわかりました。MSソリューションは、最も古いレコードを取得し、それをNumberOfRecordsに追加して、実際の最新のレコードを取得することです。
これはWinAPIを介して可能ですが、私はLinuxからリモートで呼び出しています。私のシナリオでこれをどのように達成できるか誰かが知っていますか?
ありがとう