From what I have observed, it seems that Winlogbeat is having intermittent issues trying to read the "Microsoft-Windows-Windows Defender/Operational" channel. I don't think this is a fault of Winlogbeat but a bug in Windows. However, there may be opportunity for Winlogbeat to gracefully recover and ingest events more robustly.
The first screenshot is when things are working normally and Winlogbeat can read events.

The second screenshot is when a new event is created and the events change to having the errors and this is when Winlogbeat can't read them.

The only log I see from Winlogbeat without turning on debugging I see this:
2022-02-03T09:10:20.255-0600 WARN eventlog/wineventlog.go:316 WinEventLog[Microsoft-Windows-Windows Defender/Operational] EventHandles returned error The specified channel could not be found.
2022-02-03T09:10:20.259-0600 WARN [winlogbeat] beater/eventlogger.go:167 Read() error. {"id": "Microsoft-Windows-Windows Defender/Operational", "error": "The specified channel could not be found."}
What is strange is that when I close event viewer and reopen it the error message goes away. However, Winlogbeat won't be able to read from this channel until I stop and restart the service. So whatever is causing the channel to produce that error it is as if Winlogbeat doesn't try and hook into reading the events again. I am not sure if this is something that can be resolved with Winlogbeat or not. Is it possible Winlogbeat can have better error handling with Event Channels when they have these types of issues?
The errors in the Event Viewer on all events are:
The description for Event ID 5007 from source Microsoft-Windows-Windows Defender cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
The publisher has been disabled and its resource is not available. This usually occurs when the publisher is in the process of being uninstalled or upgraded
For confirmed bugs, please report:
- Open event viewer and navigate to Microsoft-Windows-Windows Defender/Operational
- See that the logs are working just fine.
- Generate and event in Defender such as enabling Period Scanning
- Give it 30 seconds or so and the errors will popup on every log.
- Close event viewer and reopen
- Back to step 1 where the logs look normal and you don't have the publisher error. The side affect here is that Winlogbeat will no longer read from that channel because it has this error and doesn't recover and try to read from the channel again until we restart the Winlogbeat service or the computer. I believe something deeper in the Windows OS is causing this problem since we don't see this on other event channels.
Raw Windows Event Log Text:
The description for Event ID 5007 from source Microsoft-Windows-Windows Defender cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer. If the event originated on another computer, the display information had to be saved with the event. The following information was included with the event:
Microsoft Defender Antivirus
4.18.2201.8
HKLM\SOFTWARE\Microsoft\Windows Defender\MpEngine\MpCampRing = 0x4
The publisher has been disabled and its resource is not available. This usually occurs when the publisher is in the process of being uninstalled or upgraded
From what I have observed, it seems that Winlogbeat is having intermittent issues trying to read the "Microsoft-Windows-Windows Defender/Operational" channel. I don't think this is a fault of Winlogbeat but a bug in Windows. However, there may be opportunity for Winlogbeat to gracefully recover and ingest events more robustly.
The first screenshot is when things are working normally and Winlogbeat can read events.
The second screenshot is when a new event is created and the events change to having the errors and this is when Winlogbeat can't read them.
The only log I see from Winlogbeat without turning on debugging I see this:
2022-02-03T09:10:20.255-0600 WARN eventlog/wineventlog.go:316 WinEventLog[Microsoft-Windows-Windows Defender/Operational] EventHandles returned error The specified channel could not be found.
2022-02-03T09:10:20.259-0600 WARN [winlogbeat] beater/eventlogger.go:167 Read() error. {"id": "Microsoft-Windows-Windows Defender/Operational", "error": "The specified channel could not be found."}
What is strange is that when I close event viewer and reopen it the error message goes away. However, Winlogbeat won't be able to read from this channel until I stop and restart the service. So whatever is causing the channel to produce that error it is as if Winlogbeat doesn't try and hook into reading the events again. I am not sure if this is something that can be resolved with Winlogbeat or not. Is it possible Winlogbeat can have better error handling with Event Channels when they have these types of issues?
The errors in the Event Viewer on all events are:
The description for Event ID 5007 from source Microsoft-Windows-Windows Defender cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
The publisher has been disabled and its resource is not available. This usually occurs when the publisher is in the process of being uninstalled or upgraded
For confirmed bugs, please report:
Raw Windows Event Log Text: