Skip to content

Commit ecf57b0

Browse files
authored
fix(go-forwarder): update intake url, forwarder version, add source category (#1107)
1 parent 0ffcb57 commit ecf57b0

4 files changed

Lines changed: 29 additions & 25 deletions

File tree

aws/logs_monitoring_go/internal/config/config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"log/slog"
1212
)
1313

14-
var ForwarderVersion = "dev"
14+
var ForwarderVersion = "6.0"
1515

1616
type Config struct {
1717
APIKey string
@@ -61,7 +61,7 @@ func loadConfig() *Config {
6161
site := envOrDefault("DD_SITE", "datadoghq.com")
6262
return &Config{
6363
Site: site,
64-
IntakeURL: envOrDefault("DD_URL", "https://http-intake.logs."+site),
64+
IntakeURL: envOrDefault("DD_URL", "https://http-intake.logs."+site+"/api/v2/logs"),
6565
APIURL: envOrDefault("DD_API_URL", "https://api."+site),
6666
LogLevel: envOrDefault("DD_LOG_LEVEL", "INFO"),
6767
UseFIPS: envOrDefaultBool("DD_USE_FIPS", false),

aws/logs_monitoring_go/internal/config/config_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func TestLoadConfig(t *testing.T) {
2020
"default": {
2121
want: Config{
2222
Site: "datadoghq.com",
23-
IntakeURL: "https://http-intake.logs.datadoghq.com",
23+
IntakeURL: "https://http-intake.logs.datadoghq.com/api/v2/logs",
2424
APIURL: "https://api.datadoghq.com",
2525
LogLevel: "INFO",
2626
UseFIPS: false,
@@ -30,7 +30,7 @@ func TestLoadConfig(t *testing.T) {
3030
env: map[string]string{"DD_SITE": "datadoghq.eu"},
3131
want: Config{
3232
Site: "datadoghq.eu",
33-
IntakeURL: "https://http-intake.logs.datadoghq.eu",
33+
IntakeURL: "https://http-intake.logs.datadoghq.eu/api/v2/logs",
3434
APIURL: "https://api.datadoghq.eu",
3535
LogLevel: "INFO",
3636
},
@@ -55,7 +55,7 @@ func TestLoadConfig(t *testing.T) {
5555
},
5656
want: Config{
5757
Site: "datadoghq.com",
58-
IntakeURL: "https://http-intake.logs.datadoghq.com",
58+
IntakeURL: "https://http-intake.logs.datadoghq.com/api/v2/logs",
5959
APIURL: "https://api.datadoghq.com",
6060
LogLevel: "INFO",
6161
Source: "custom-source",
@@ -67,7 +67,7 @@ func TestLoadConfig(t *testing.T) {
6767
env: map[string]string{"REDACT_IP": "true"},
6868
want: Config{
6969
Site: "datadoghq.com",
70-
IntakeURL: "https://http-intake.logs.datadoghq.com",
70+
IntakeURL: "https://http-intake.logs.datadoghq.com/api/v2/logs",
7171
APIURL: "https://api.datadoghq.com",
7272
LogLevel: "INFO",
7373
Scrubbing: ScrubbingConfig{ScrubIP: true},
@@ -80,7 +80,7 @@ func TestLoadConfig(t *testing.T) {
8080
},
8181
want: Config{
8282
Site: "datadoghq.com",
83-
IntakeURL: "https://http-intake.logs.datadoghq.com",
83+
IntakeURL: "https://http-intake.logs.datadoghq.com/api/v2/logs",
8484
APIURL: "https://api.datadoghq.com",
8585
LogLevel: "INFO",
8686
Scrubbing: ScrubbingConfig{CustomRule: `\d+`, CustomReplacement: "X"},
@@ -90,7 +90,7 @@ func TestLoadConfig(t *testing.T) {
9090
env: map[string]string{"INCLUDE_AT_MATCH": `error|warn`},
9191
want: Config{
9292
Site: "datadoghq.com",
93-
IntakeURL: "https://http-intake.logs.datadoghq.com",
93+
IntakeURL: "https://http-intake.logs.datadoghq.com/api/v2/logs",
9494
APIURL: "https://api.datadoghq.com",
9595
LogLevel: "INFO",
9696
Filtering: FilteringConfig{IncludePattern: `error|warn`},
@@ -100,7 +100,7 @@ func TestLoadConfig(t *testing.T) {
100100
env: map[string]string{"EXCLUDE_AT_MATCH": `DEBUG`},
101101
want: Config{
102102
Site: "datadoghq.com",
103-
IntakeURL: "https://http-intake.logs.datadoghq.com",
103+
IntakeURL: "https://http-intake.logs.datadoghq.com/api/v2/logs",
104104
APIURL: "https://api.datadoghq.com",
105105
LogLevel: "INFO",
106106
Filtering: FilteringConfig{ExcludePattern: `DEBUG`},

aws/logs_monitoring_go/internal/model/cloudwatchlogs.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66
package model
77

88
type CloudwatchLogEntry struct {
9-
ID string `json:"id"`
10-
Timestamp int64 `json:"timestamp"`
11-
Message string `json:"message"`
12-
Source string `json:"ddsource"`
13-
Service string `json:"service"`
14-
Host string `json:"hostname"`
15-
Tags Tags `json:"ddtags"`
16-
AWS CloudwatchMetadata `json:"aws"`
9+
ID string `json:"id"`
10+
Timestamp int64 `json:"timestamp"`
11+
Message string `json:"message"`
12+
Source string `json:"ddsource"`
13+
SourceCategory string `json:"ddsourcecategory"`
14+
Service string `json:"service"`
15+
Host string `json:"hostname"`
16+
Tags Tags `json:"ddtags"`
17+
AWS CloudwatchMetadata `json:"aws"`
1718
}
1819

1920
type CloudwatchMetadata struct {

aws/logs_monitoring_go/internal/parsing/cloudwatchlogs.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import (
1919
"github.com/aws/aws-lambda-go/lambdacontext"
2020
)
2121

22+
const sourceCategory = "aws"
23+
2224
func HandleCloudwatchLogs(ctx context.Context, event json.RawMessage, cfg *config.Config, out chan<- model.CloudwatchLogEntry) error {
2325
logEntries, err := parseCloudwatchLogs(ctx, event, cfg)
2426
if err != nil {
@@ -67,14 +69,15 @@ func parseCloudwatchLogs(ctx context.Context, event json.RawMessage, cfg *config
6769
ddtags = append(ddtags, "service:"+entryService)
6870

6971
entry := model.CloudwatchLogEntry{
70-
ID: le.ID,
71-
Timestamp: le.Timestamp,
72-
Message: message,
73-
Source: source,
74-
Service: entryService,
75-
Host: host,
76-
Tags: append(ddtags, tags...),
77-
AWS: metadata,
72+
ID: le.ID,
73+
Timestamp: le.Timestamp,
74+
Message: message,
75+
Source: source,
76+
SourceCategory: sourceCategory,
77+
Service: entryService,
78+
Host: host,
79+
Tags: append(ddtags, tags...),
80+
AWS: metadata,
7881
}
7982
entries = append(entries, entry)
8083
}

0 commit comments

Comments
 (0)