Skip to content

Commit 3449f76

Browse files
committed
Add windows events logs for opentelemetry section
1 parent efeca8f commit 3449f76

42 files changed

Lines changed: 1564 additions & 56 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ require (
201201
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver v0.124.1
202202
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.124.1
203203
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.124.1
204+
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.124.1
204205
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.124.1
205206
github.com/pkg/errors v0.9.1
206207
github.com/prometheus/client_golang v1.22.0

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1385,6 +1385,8 @@ github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceive
13851385
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.124.1/go.mod h1:cVf9mR1NQUOSxKaG68d1f6J1R1gD+es8N4KlfXzMrzY=
13861386
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.124.1 h1:ViSLfZ+rwltr/cJyUzxwH7+Ew/qDs4KyQpMFsDbRd/g=
13871387
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.124.1/go.mod h1:mEiB1YGSaguEyYsq803/QgBiJVofgknWgJ3eqgvlj7I=
1388+
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.124.1 h1:4gVuHekKmzaLU1tZvIAntbkJhpThoCkZEwJCdL7SrOs=
1389+
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver v0.124.1/go.mod h1:BcBDxsZysvBLwjGhjLP62QY9Db6uXqvhSIQJkhVfEz0=
13881390
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.124.1 h1:XkxqUEoukMWXF+EpEWeM9itXKt62yKi13Lzd8ZEASP4=
13891391
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.124.1/go.mod h1:CuCZVPz+yn88b5vhZPAlxaMrVuhAVexUV6f8b07lpUc=
13901392
github.com/openconfig/gnmi v0.0.0-20180912164834-33a1865c3029 h1:lXQqyLroROhwR2Yq/kXbLzVecgmVeZh2TFLg6OxCd+w=

service/defaultcomponents/components.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ import (
5959
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver"
6060
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver"
6161
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver"
62+
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowseventlogreceiver"
6263
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver"
6364
"go.opentelemetry.io/collector/connector"
6465
"go.opentelemetry.io/collector/connector/forwardconnector"
@@ -122,6 +123,7 @@ func Factories() (otelcol.Factories, error) {
122123
systemmetricsreceiver.NewFactory(),
123124
tcplogreceiver.NewFactory(),
124125
udplogreceiver.NewFactory(),
126+
windowseventlogreceiver.NewFactory(),
125127
zipkinreceiver.NewFactory(),
126128
); err != nil {
127129
return otelcol.Factories{}, err

service/defaultcomponents/components_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ func TestComponents(t *testing.T) {
4040
"systemmetrics",
4141
"tcplog",
4242
"udplog",
43+
"windowseventlog",
4344
"zipkin",
4445
}
4546
gotReceivers := collections.MapSlice(maps.Keys(factories.Receivers), component.Type.String)

tool/downloader/downloader_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111

1212
"github.com/stretchr/testify/assert"
1313
"github.com/stretchr/testify/require"
14+
15+
"github.com/aws/amazon-cloudwatch-agent/translator/config"
1416
)
1517

1618
func TestRunDownloader_DefaultOtel(t *testing.T) {
@@ -21,9 +23,9 @@ func TestRunDownloader_DefaultOtel(t *testing.T) {
2123
content, err := os.ReadFile(filepath.Join(outputDir, "default_otel.tmp"))
2224
require.NoError(t, err)
2325

24-
expected, err := os.ReadFile("../../translator/config/defaults/otel.json")
25-
require.NoError(t, err)
26-
assert.JSONEq(t, string(expected), string(content))
26+
expected, ok := config.DefaultJSONConfigFor("otel")
27+
require.True(t, ok)
28+
assert.JSONEq(t, expected, string(content))
2729
}
2830

2931
func TestRunDownloader_DefaultBare(t *testing.T) {

translator/cmdutil/translatorutil_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,16 @@ func TestDefaultOtelConfigSchemaValidation(t *testing.T) {
441441
assert.True(t, result.Valid(), "default otel config must pass schema validation: %v", result.Errors())
442442
}
443443

444+
func TestOpenTelemetryWindowsEventsSchemaValidation(t *testing.T) {
445+
checkIfSchemaValidateAsExpected(t, "../../translator/config/sampleSchema/opentelemetry/validOpenTelemetryWindowsEvents.json", true, map[string]int{})
446+
}
447+
448+
func TestOpenTelemetryWindowsEventsInvalidSchemaValidation(t *testing.T) {
449+
checkIfSchemaValidateAsExpected(t, "../../translator/config/sampleSchema/opentelemetry/invalidOpenTelemetryWindowsEvents.json", false, map[string]int{
450+
"enum": 1,
451+
})
452+
}
453+
444454
func TestCombinedV1V2SchemaValidation(t *testing.T) {
445455
checkIfSchemaValidateAsExpected(t, "../../translator/config/sampleSchema/opentelemetry/validCombinedV1V2Config.json", true, map[string]int{})
446456
}

translator/config/defaultConfig.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@
33

44
package config
55

6-
import _ "embed"
7-
8-
//go:embed defaults/otel.json
9-
var defaultOtelConfig string
10-
116
var defaultConfigs = map[string]string{
127
"otel": defaultOtelConfig,
138
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: MIT
3+
4+
//go:build !windows
5+
6+
package config
7+
8+
import _ "embed"
9+
10+
//go:embed defaults/otel.json
11+
var defaultOtelConfig string
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: MIT
3+
4+
//go:build windows
5+
6+
package config
7+
8+
import _ "embed"
9+
10+
//go:embed defaults/otel_windows.json
11+
var defaultOtelConfig string
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"agent": {
3+
"credentials": {
4+
"role_arn": "${CWAGENT_ROLE_ARN}"
5+
}
6+
},
7+
"opentelemetry": {
8+
"collect": {
9+
"otlp": {},
10+
"windows_events": {
11+
"collect_list": [
12+
{
13+
"event_name": "System",
14+
"event_levels": ["ERROR", "WARNING"]
15+
},
16+
{
17+
"event_name": "Application",
18+
"event_levels": ["ERROR", "WARNING"]
19+
}
20+
]
21+
}
22+
}
23+
}
24+
}

0 commit comments

Comments
 (0)