Skip to content
Open
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
cd878d0
Add event ID filtering for windows logs to CWAgent
Paamicky Jun 5, 2025
f6d5cdf
mend
Paamicky Jun 6, 2025
119c7d7
mend
Paamicky Jun 6, 2025
de9a111
mend
Paamicky Jun 6, 2025
037fe7f
mend
Paamicky Jun 6, 2025
5dd88d6
update just for integ test
Paamicky Jun 17, 2025
144fac4
Merge branch 'main' into feature/windows-eventId-filtering
Paamicky Jun 19, 2025
2276ab2
fix: resolve workflow lint issues
Paamicky Jun 20, 2025
1ab8a1a
Merge branch 'main' into feature/windows-eventId-filtering
Paamicky Jun 23, 2025
5a26a15
Merge branch 'main' into feature/windows-eventId-filtering
Paamicky Jul 3, 2025
218f290
Merge branch 'main' into feature/windows-eventId-filtering
Paamicky Jul 8, 2025
90f466e
changed cutoffPeriod to const
Paamicky Jul 11, 2025
10f9f0a
Add eventid check to the Agent TOML
Paamicky Jul 11, 2025
94fcd20
Add windows event regex filtering
Paamicky Jul 9, 2025
8f70ab5
Merge branch 'main' into feature/windows-regex-filtering
Paamicky Jul 21, 2025
9fb255f
Fix merge conflicts
Paamicky Jul 21, 2025
b76632c
Merge branch 'main' into feature/windows-regex-filtering
Paamicky Jul 22, 2025
874edae
Add windows event filters usage to Agent metrics
Paamicky Jul 17, 2025
8e8aa73
Merge branch 'feature/windows-regex-filtering' into AdoptionMetric-wi…
okankoAMZ Jul 23, 2025
ad170a6
Merge branch 'main' into AdoptionMetric-windows-event-filters
Paamicky Jul 23, 2025
106d9d9
Merge branch 'main' into AdoptionMetric-windows-event-filters
Paamicky Jul 23, 2025
6fa09ef
Merge branch 'main' into AdoptionMetric-windows-event-filters
okankoAMZ Aug 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions extension/agenthealth/handler/useragent/useragent.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package useragent
import (
"fmt"
"os"
"reflect"
"sort"
"strings"
"sync"
Expand Down Expand Up @@ -33,6 +34,9 @@ const (
flagEnhancedContainerInsights = "enhanced_container_insights"
flagSELinux = "selinux"
flagROSA = "rosa"
flagWindowsEventIDs = "windows_event_ids"
flagWindowsEventFilters = "windows_event_filters"
flagWindowsEventLevels = "windows_event_levels"
separator = " "

typeInputs = "inputs"
Expand Down Expand Up @@ -74,6 +78,35 @@ var _ UserAgent = (*userAgent)(nil)
func (ua *userAgent) SetComponents(otelCfg *otelcol.Config, telegrafCfg *telegraf.Config) {
for _, input := range telegrafCfg.Inputs {
ua.inputs.Add(input.Config.Name)

if input.Config.Name == "windows_event_log" {
pluginValue := reflect.ValueOf(input.Input)
if pluginValue.Kind() == reflect.Ptr {
pluginValue = pluginValue.Elem()
}

eventsField := pluginValue.FieldByName("Events")
if eventsField.IsValid() && eventsField.Kind() == reflect.Slice {
for i := 0; i < eventsField.Len(); i++ {
eventConfig := eventsField.Index(i)

// Add event_ids status
if eventIDsField := eventConfig.FieldByName("EventIDs"); eventIDsField.IsValid() && eventIDsField.Len() > 0 {
ua.inputs.Add(flagWindowsEventIDs)
}

// Add filters status
if filtersField := eventConfig.FieldByName("Filters"); filtersField.IsValid() && filtersField.Len() > 0 {
ua.inputs.Add(flagWindowsEventFilters)
}

// Add event levesls status
if levelsField := eventConfig.FieldByName("Levels"); levelsField.IsValid() && levelsField.Len() > 0 {
ua.inputs.Add(flagWindowsEventLevels)
}
}
}
}
}
for _, output := range telegrafCfg.Outputs {
ua.outputs.Add(output.Config.Name)
Expand Down
Loading