Skip to content

Commit 52736eb

Browse files
authored
Merge pull request #1415 from utmstack/release/v10.9.3
Release/v10.9.3
2 parents 28b1d5b + 000ba0e commit 52736eb

File tree

147 files changed

+2517
-1792
lines changed

Some content is hidden

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

147 files changed

+2517
-1792
lines changed

agent-manager/agent/agent_command.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package agent
33
import (
44
"context"
55

6+
"github.com/threatwinds/go-sdk/catcher"
67
"github.com/utmstack/UTMStack/agent-manager/util"
78
"google.golang.org/grpc/codes"
89
"google.golang.org/grpc/status"
@@ -15,7 +16,7 @@ func (s *Grpc) ListAgentCommands(ctx context.Context, req *ListRequest) (*ListAg
1516

1617
commands, total, err := agentCommandService.ListAgentCommands(page, filter)
1718
if err != nil {
18-
util.Logger.ErrorF("failed to fetch agents: %v", err)
19+
catcher.Error("failed to fetch agents", err, nil)
1920
return nil, status.Errorf(codes.Internal, "failed to fetch agents: %v", err)
2021
}
2122

agent-manager/agent/agent_imp.go

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"time"
1010

1111
"github.com/google/uuid"
12+
"github.com/threatwinds/go-sdk/catcher"
1213
"github.com/utmstack/UTMStack/agent-manager/models"
1314
"github.com/utmstack/UTMStack/agent-manager/util"
1415
"google.golang.org/grpc/codes"
@@ -39,7 +40,7 @@ func (s *Grpc) RegisterAgent(ctx context.Context, req *AgentRequest) (*AuthRespo
3940
Key: oldAgent.AgentKey,
4041
}, nil
4142
} else {
42-
util.Logger.ErrorF("Agent with hostname %s already exists", agent.Hostname)
43+
catcher.Error("Agent already exists", nil, map[string]any{"host_name": agent.Hostname})
4344
return nil, status.Errorf(codes.AlreadyExists, "hostname has already been registered")
4445
}
4546
}
@@ -48,7 +49,7 @@ func (s *Grpc) RegisterAgent(ctx context.Context, req *AgentRequest) (*AuthRespo
4849
agent.AgentKey = key
4950
err = agentService.Create(agent)
5051
if err != nil {
51-
util.Logger.ErrorF("Failed to create agent: %v", err)
52+
catcher.Error("Failed to create agent", err, nil)
5253
return nil, err
5354
}
5455

@@ -58,15 +59,15 @@ func (s *Grpc) RegisterAgent(ctx context.Context, req *AgentRequest) (*AuthRespo
5859

5960
err = lastSeenService.Set(key, time.Now())
6061
if err != nil {
61-
util.Logger.ErrorF("Failed to set last seen: %v", err)
62+
catcher.Error("Failed to set last seen", err, nil)
6263
return nil, err
6364
}
6465
res := &AuthResponse{
6566
Id: uint32(agent.ID),
6667
Key: key,
6768
}
6869

69-
util.Logger.Info("Agent %s with id %d registered correctly", agent.Hostname, agent.ID)
70+
catcher.Info("Agent was registered correctly", map[string]any{"hostname": agent.Hostname, "id": agent.ID})
7071
return res, nil
7172
}
7273

@@ -88,7 +89,7 @@ func (s *Grpc) UpdateAgent(ctx context.Context, req *AgentRequest) (*AuthRespons
8889

8990
agent, err := agentService.FindByID(uint(id))
9091
if err != nil {
91-
util.Logger.ErrorF("Failed to find agent: %v", err)
92+
catcher.Error("Failed to find agent", err, nil)
9293
return nil, err
9394
}
9495

@@ -119,7 +120,7 @@ func (s *Grpc) UpdateAgent(ctx context.Context, req *AgentRequest) (*AuthRespons
119120

120121
err = agentService.Update(agent)
121122
if err != nil {
122-
util.Logger.ErrorF("Failed to update agent: %v", err)
123+
catcher.Error("Failed to update agent", err, nil)
123124
return nil, err
124125
}
125126

@@ -128,7 +129,7 @@ func (s *Grpc) UpdateAgent(ctx context.Context, req *AgentRequest) (*AuthRespons
128129
Key: agent.AgentKey,
129130
}
130131

131-
util.Logger.Info("Agent %s with id %d updated correctly", agent.Hostname, agent.ID)
132+
catcher.Info("Agent was updated correctly", map[string]any{"hostname": agent.Hostname, "id": agent.ID})
132133
return res, nil
133134
}
134135

@@ -146,7 +147,7 @@ func (s *Grpc) DeleteAgent(ctx context.Context, req *AgentDelete) (*AuthResponse
146147

147148
id, err := agentService.Delete(uuid.MustParse(key), req.DeletedBy)
148149
if err != nil {
149-
util.Logger.ErrorF("Unable to delete agent: %v", err)
150+
catcher.Error("Unable to delete agent", err, nil)
150151
return &AuthResponse{}, status.Error(codes.Internal, fmt.Sprintf("unable to delete agent: %v", err.Error()))
151152
}
152153

@@ -158,7 +159,7 @@ func (s *Grpc) DeleteAgent(ctx context.Context, req *AgentDelete) (*AuthResponse
158159
delete(s.AgentStreamMap, key)
159160
s.agentStreamMutex.Unlock()
160161

161-
util.Logger.Info("Agent with key %s deleted by %s", key, req.DeletedBy)
162+
catcher.Info("Agent was deleted", map[string]any{"key": key, "deleted_by": req.DeletedBy})
162163

163164
return &AuthResponse{
164165
Id: uint32(id),
@@ -173,7 +174,7 @@ func (s *Grpc) ListAgents(ctx context.Context, req *ListRequest) (*ListAgentsRes
173174

174175
agents, total, err := agentService.ListAgents(page, filter)
175176
if err != nil {
176-
util.Logger.ErrorF("failed to fetch agents: %v", err)
177+
catcher.Error("failed to fetch agents", err, nil)
177178
return nil, status.Errorf(codes.Internal, "failed to fetch agents: %v", err)
178179
}
179180
return convertToAgentResponse(agents, total)
@@ -202,7 +203,7 @@ func (s *Grpc) AgentStream(stream AgentService_AgentStreamServer) error {
202203
delete(s.AgentStreamMap, agentKey)
203204
s.agentStreamMutex.Unlock()
204205

205-
util.Logger.ErrorF("failed to reconnect to client: %v", err)
206+
catcher.Error("failed to reconnect to client", err, nil)
206207
return fmt.Errorf("failed to reconnect to client: %v", err)
207208
}
208209

@@ -226,10 +227,10 @@ func (s *Grpc) AgentStream(stream AgentService_AgentStreamServer) error {
226227

227228
switch msg := in.StreamMessage.(type) {
228229
case *BidirectionalStream_Command:
229-
util.Logger.Info("Received command: %s", msg.Command.CmdId)
230+
catcher.Info("Received command", map[string]any{"cmd_id": msg.Command.CmdId})
230231

231232
case *BidirectionalStream_Result:
232-
util.Logger.Info("Received command result: %s", msg.Result.CmdId)
233+
catcher.Info("Received command result", map[string]any{"cmd_id": msg.Result.CmdId})
233234

234235
cmdID := msg.Result.GetCmdId()
235236

@@ -244,7 +245,7 @@ func (s *Grpc) AgentStream(stream AgentService_AgentStreamServer) error {
244245
},
245246
},
246247
}); err != nil {
247-
util.Logger.ErrorF("Failed to send result to server: %v", err)
248+
catcher.Error("Failed to send result to server", err, nil)
248249
}
249250
s.resultChannelM.Lock()
250251
if resultChan, ok := s.ResultChannel[cmdID]; ok {
@@ -256,7 +257,7 @@ func (s *Grpc) AgentStream(stream AgentService_AgentStreamServer) error {
256257
}
257258

258259
} else {
259-
util.Logger.ErrorF("Failed to find result channel for CmdID: %s", cmdID)
260+
catcher.Error("Failed to find result channel for CmdID", nil, map[string]any{"cmd_id": cmdID})
260261
}
261262
s.resultChannelM.Unlock()
262263
}
@@ -346,25 +347,25 @@ func (s *Grpc) ProcessCommand(stream PanelService_ProcessCommandServer) error {
346347

347348
func (s *Grpc) UpdateAgentGroup(ctx context.Context, req *AgentGroupUpdate) (*Agent, error) {
348349
if req.AgentId == 0 || req.AgentGroup == 0 {
349-
util.Logger.ErrorF("Error in req")
350+
catcher.Error("Error in req", nil, nil)
350351
return nil, status.Errorf(codes.FailedPrecondition, "error in req")
351352
}
352353
agent, err := agentService.UpdateAgentGroup(uint(req.AgentId), uint(req.AgentGroup))
353354
if err != nil {
354-
util.Logger.ErrorF("Unable to update group: %v", err)
355+
catcher.Error("Unable to update group", err, nil)
355356
return nil, status.Errorf(codes.Internal, "unable to update group: %v", err)
356357
}
357358
return parseAgentToProto(agent), nil
358359
}
359360

360361
func (s *Grpc) GetAgentByHostname(ctx context.Context, req *Hostname) (*Agent, error) {
361362
if req.Hostname == "" {
362-
util.Logger.ErrorF("Error in req")
363+
catcher.Error("Error in req", nil, nil)
363364
return nil, status.Errorf(codes.FailedPrecondition, "error in req")
364365
}
365366
agent, err := agentService.FindByHostname(req.Hostname)
366367
if err != nil {
367-
util.Logger.ErrorF("Unable to find agent with hostname: %v", err)
368+
catcher.Error("Unable to find agent with hostname", err, nil)
368369
return nil, status.Errorf(codes.NotFound, "unable to find agent with hostname: %v", err)
369370
}
370371
return parseAgentToProto(*agent), nil
@@ -376,7 +377,7 @@ func (s *Grpc) UpdateAgentType(ctx context.Context, req *AgentTypeUpdate) (*Agen
376377
}
377378
agent, err := agentService.UpdateAgentType(uint(req.AgentId), uint(req.AgentType))
378379
if err != nil {
379-
util.Logger.ErrorF("Unable to update type: %v", err)
380+
catcher.Error("Unable to update type", err, nil)
380381
return nil, status.Errorf(codes.Internal, "unable to update type: %v", err)
381382
}
382383
return parseAgentToProto(agent), nil
@@ -387,7 +388,7 @@ func (s *Grpc) LoadAgentCacheFromDatabase() error {
387388
// Fill the agentCache map with agentID and agentToken pairs
388389
agents, err := agentService.FindAll()
389390
if err != nil {
390-
util.Logger.ErrorF("Failed to fetch agents from database: %v", err)
391+
catcher.Error("Failed to fetch agents from database", err, nil)
391392
return err
392393
}
393394
for _, agent := range agents {
@@ -403,7 +404,7 @@ func (s *Grpc) ListAgentsWithCommands(ctx context.Context, req *ListRequest) (*L
403404

404405
agents, total, err := agentService.ListAgentWithCommands(page, filter)
405406
if err != nil {
406-
util.Logger.ErrorF("failed to fetch agents: %v", err)
407+
catcher.Error("failed to fetch agents", err, nil)
407408
return nil, status.Errorf(codes.Internal, "failed to fetch agents: %v", err)
408409
}
409410

@@ -459,14 +460,14 @@ func createHistoryCommand(cmd *UtmCommand, cmdID string) {
459460
}
460461
err := agentCommandService.Create(cmdHistory)
461462
if err != nil {
462-
util.Logger.ErrorF("Unable to create a new command history")
463+
catcher.Error("Unable to create a new command history", err, nil)
463464
}
464465
}
465466

466467
func updateHistoryCommand(cmdResult *CommandResult, cmdID string) {
467468
err := agentCommandService.UpdateCommandStatusAndResult(findAgentIdByKey(CacheAgent, cmdResult.AgentKey), cmdID, models.Executed, cmdResult.Result)
468469
if err != nil {
469-
util.Logger.ErrorF("Failed to update command status")
470+
catcher.Error("Failed to update command status", nil, nil)
470471
}
471472
}
472473

agent-manager/agent/collector_imp.go

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"time"
88

99
"github.com/google/uuid"
10+
"github.com/threatwinds/go-sdk/catcher"
1011
"github.com/utmstack/UTMStack/agent-manager/models"
1112
"github.com/utmstack/UTMStack/agent-manager/util"
1213
"google.golang.org/grpc/codes"
@@ -30,7 +31,7 @@ func (s *Grpc) RegisterCollector(ctx context.Context, req *RegisterRequest) (*Au
3031
Key: oldCollector[0].CollectorKey,
3132
}, nil
3233
} else {
33-
util.Logger.ErrorF("Collector %s(%s) with id %d already registered with different IP", oldCollector[0].Hostname, oldCollector[0].Module, oldCollector[0].ID)
34+
catcher.Error("Collector is already registered with different IP", nil, map[string]any{"hostname": oldCollector[0].Hostname, "module": oldCollector[0].Module, "id": oldCollector[0].ID})
3435
return nil, status.Errorf(codes.AlreadyExists, "hostname has already been registered")
3536
}
3637
}
@@ -39,7 +40,7 @@ func (s *Grpc) RegisterCollector(ctx context.Context, req *RegisterRequest) (*Au
3940
collector.CollectorKey = key
4041
err = collectorService.Create(collector)
4142
if err != nil {
42-
util.Logger.ErrorF("Failed to create collector: %v", err)
43+
catcher.Error("Failed to create collector", err, nil)
4344
return nil, err
4445
}
4546

@@ -49,15 +50,15 @@ func (s *Grpc) RegisterCollector(ctx context.Context, req *RegisterRequest) (*Au
4950

5051
err = lastSeenService.Set(key, time.Now())
5152
if err != nil {
52-
util.Logger.ErrorF("Failed to set last seen: %v", err)
53+
catcher.Error("Failed to set last seen", err, nil)
5354
return nil, err
5455
}
5556
res := &AuthResponse{
5657
Id: uint32(collector.ID),
5758
Key: key,
5859
}
5960

60-
util.Logger.Info("Collector %s(%s) with id %d registered correctly", collector.Hostname, collector.Module, collector.ID)
61+
catcher.Info("Collector was registered correctly", map[string]any{"hostname": collector.Hostname, "module": collector.Module, "id": collector.ID})
6162
return res, nil
6263
}
6364

@@ -75,7 +76,7 @@ func (s *Grpc) DeleteCollector(ctx context.Context, req *CollectorDelete) (*Auth
7576

7677
id, err := collectorService.Delete(uuid.MustParse(key), req.DeletedBy)
7778
if err != nil {
78-
util.Logger.ErrorF("unable to delete collector: %v", err)
79+
catcher.Error("unable to delete collector", err, nil)
7980
return nil, status.Error(codes.Internal, fmt.Sprintf("unable to delete collector: %v", err.Error()))
8081
}
8182

@@ -87,7 +88,7 @@ func (s *Grpc) DeleteCollector(ctx context.Context, req *CollectorDelete) (*Auth
8788
delete(s.CollectorStreamMap, key)
8889
s.collectorStreamMutex.Unlock()
8990

90-
util.Logger.Info("Collector with key %s deleted by %s", key, req.DeletedBy)
91+
catcher.Info("Collector was deleted by", map[string]any{"key": key, "deleted_by": req.DeletedBy})
9192

9293
return &AuthResponse{
9394
Id: uint32(id),
@@ -102,7 +103,7 @@ func (s *Grpc) ListCollector(ctx context.Context, req *ListRequest) (*ListCollec
102103

103104
collectors, total, err := collectorService.ListCollectors(page, filter)
104105
if err != nil {
105-
util.Logger.ErrorF("failed to fetch collectors: %v", err)
106+
catcher.Error("failed to fetch collectors", err, nil)
106107
return nil, status.Errorf(codes.Internal, "failed to fetch collectors: %v", err)
107108
}
108109
return convertToCollectorResponse(collectors, total)
@@ -130,7 +131,7 @@ func (s *Grpc) ProcessPendingConfigs() {
130131
if ok {
131132
collector, err := collectorService.GetByKey(key)
132133
if err != nil {
133-
util.Logger.ErrorF("unable to get collector config to send config to stream : %v", err)
134+
catcher.Error("unable to get collector config to send config to stream", err, nil)
134135
continue
135136
}
136137

@@ -140,7 +141,7 @@ func (s *Grpc) ProcessPendingConfigs() {
140141
},
141142
})
142143
if err != nil {
143-
util.Logger.ErrorF("failed to send config to collector: %v", err)
144+
catcher.Error("failed to send config to collector", err, nil)
144145
}
145146
}
146147
}
@@ -171,7 +172,7 @@ func (s *Grpc) CollectorStream(stream CollectorService_CollectorStreamServer) er
171172
delete(s.CollectorStreamMap, collectorKey)
172173
s.collectorStreamMutex.Unlock()
173174

174-
util.Logger.ErrorF("failed to reconnect to client: %v", err)
175+
catcher.Error("failed to reconnect to client", err, nil)
175176
return fmt.Errorf("failed to reconnect to client: %v", err)
176177
}
177178

@@ -195,7 +196,7 @@ func (s *Grpc) CollectorStream(stream CollectorService_CollectorStreamServer) er
195196

196197
switch msg := in.StreamMessage.(type) {
197198
case *CollectorMessages_Result:
198-
util.Logger.Info("Received Knowlodge: %s", msg.Result.RequestId)
199+
catcher.Info("Received Knowledge", map[string]any{"request_id": msg.Result.RequestId})
199200

200201
s.pendingConfigM.Lock()
201202
if s.PendingConfigs[collectorKey] == msg.Result.RequestId {
@@ -223,7 +224,7 @@ func (s *Grpc) GetCollectorConfig(ctx context.Context, in *ConfigRequest) (*Coll
223224

224225
collector, err := collectorService.GetByKey(key)
225226
if err != nil {
226-
util.Logger.ErrorF("unable to get collector config: %v", err)
227+
catcher.Error("unable to get collector config", err, nil)
227228
return nil, status.Error(codes.Internal, fmt.Sprintf("unable to get collector config: %v", err.Error()))
228229
}
229230

@@ -251,7 +252,7 @@ func (s *Grpc) RegisterCollectorConfig(ctx context.Context, in *CollectorConfig)
251252

252253
err = collectorService.SaveCollectorConfigs(collectorConf, collector.ID)
253254
if err != nil {
254-
util.Logger.ErrorF("error saving collector configuration: %v", err)
255+
catcher.Error("error saving collector configuration", err, nil)
255256
return nil, status.Errorf(codes.Internal, "error saving collector configuration: %v", err.Error())
256257
}
257258

@@ -271,7 +272,7 @@ func (s *Grpc) ListCollectorHostnames(ctx context.Context, req *ListRequest) (*C
271272

272273
hostnames, _, err := collectorService.GetHostnames(page, filter)
273274
if err != nil {
274-
util.Logger.ErrorF("failed to fetch hostnames: %v", err)
275+
catcher.Error("failed to fetch hostnames", err, nil)
275276
return nil, status.Errorf(codes.NotFound, "failed to fetch hostnames: %v", err)
276277
}
277278

@@ -283,7 +284,7 @@ func (s *Grpc) ListCollectorHostnames(ctx context.Context, req *ListRequest) (*C
283284
func (s *Grpc) GetCollectorsByHostnameAndModule(ctx context.Context, filter *FilterByHostAndModule) (*ListCollectorResponse, error) {
284285
collectors, err := collectorService.GetCollectorByHostnameAndModule(filter.GetHostname(), filter.GetModule().String())
285286
if err != nil {
286-
util.Logger.ErrorF("unable to get hostname: %v", err)
287+
catcher.Error("unable to get hostname", err, nil)
287288
return nil, status.Errorf(codes.NotFound, "unable to get hostname: %v", err)
288289
}
289290

@@ -293,7 +294,7 @@ func (s *Grpc) GetCollectorsByHostnameAndModule(ctx context.Context, filter *Fil
293294
func (s *Grpc) LoadCollectorsCacheFromDatabase() error {
294295
collectors, err := collectorService.FindAll()
295296
if err != nil {
296-
util.Logger.ErrorF("Failed to fetch collectors from database: %v", err)
297+
catcher.Error("Failed to fetch collectors from database", err, nil)
297298
return err
298299
}
299300
for _, colect := range collectors {

agent-manager/agent/ping_imp.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"io"
55
"time"
66

7-
"github.com/utmstack/UTMStack/agent-manager/util"
7+
"github.com/threatwinds/go-sdk/catcher"
88
"google.golang.org/grpc/codes"
99
"google.golang.org/grpc/status"
1010
)
@@ -29,7 +29,7 @@ func (s *Grpc) Ping(stream PingService_PingServer) error {
2929
}
3030
err = lastSeenService.Set(key, time.Now())
3131
if err != nil {
32-
util.Logger.ErrorF("unable to update last seen for: %s with error:%s", key, err)
32+
catcher.Error("unable to update", err, map[string]any{"key": key})
3333
}
3434
}
3535
}

0 commit comments

Comments
 (0)