Skip to content

Commit 47bcb50

Browse files
committed
refactor(plugins): enhance logging by including process context for error tracking
1 parent dcdd9cb commit 47bcb50

File tree

49 files changed

+503
-688
lines changed

Some content is hidden

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

49 files changed

+503
-688
lines changed

agent-manager/agent/agent_imp.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func (s *AgentService) RegisterAgent(ctx context.Context, req *AgentRequest) (*A
8383
Key: oldAgent.AgentKey,
8484
}, nil
8585
} else {
86-
catcher.Error("agent already exists", err, map[string]any{"hostname": agent.Hostname})
86+
catcher.Error("agent already exists", err, map[string]any{"hostname": agent.Hostname, "process": "agent-manager"})
8787
return nil, status.Errorf(codes.AlreadyExists, "hostname has already been registered")
8888
}
8989
}
@@ -92,7 +92,7 @@ func (s *AgentService) RegisterAgent(ctx context.Context, req *AgentRequest) (*A
9292
agent.AgentKey = key
9393
err = s.DBConnection.Create(agent)
9494
if err != nil {
95-
catcher.Error("failed to create agent", err, nil)
95+
catcher.Error("failed to create agent", err, map[string]any{"process": "agent-manager"})
9696
return nil, status.Error(codes.Internal, fmt.Sprintf("failed to create agent: %v", err))
9797
}
9898

@@ -106,7 +106,7 @@ func (s *AgentService) RegisterAgent(ctx context.Context, req *AgentRequest) (*A
106106
LastPing: time.Now(),
107107
}
108108

109-
catcher.Info("Agent registered correctly", map[string]any{"hostname": agent.Hostname, "id": agent.ID})
109+
catcher.Info("Agent registered correctly", map[string]any{"hostname": agent.Hostname, "id": agent.ID, "process": "agent-manager"})
110110
return &AuthResponse{
111111
Id: uint32(agent.ID),
112112
Key: key,
@@ -126,7 +126,7 @@ func (s *AgentService) UpdateAgent(ctx context.Context, req *AgentRequest) (*Aut
126126
agent := &models.Agent{}
127127
err = s.DBConnection.GetFirst(agent, "id = ?", idInt)
128128
if err != nil {
129-
catcher.Error("failed to fetch agent", err, nil)
129+
catcher.Error("failed to fetch agent", err, map[string]any{"process": "agent-manager"})
130130
return nil, status.Errorf(codes.NotFound, "agent not found")
131131
}
132132

@@ -157,7 +157,7 @@ func (s *AgentService) UpdateAgent(ctx context.Context, req *AgentRequest) (*Aut
157157

158158
err = s.DBConnection.Upsert(&agent, "id = ?", nil, idInt)
159159
if err != nil {
160-
catcher.Error("failed to update agent", err, nil)
160+
catcher.Error("failed to update agent", err, map[string]any{"process": "agent-manager"})
161161
return nil, status.Errorf(codes.Internal, "failed to update agent: %v", err)
162162
}
163163

@@ -181,18 +181,18 @@ func (s *AgentService) DeleteAgent(ctx context.Context, req *DeleteRequest) (*Au
181181

182182
err = s.DBConnection.Upsert(&models.Agent{}, "id = ?", map[string]interface{}{"deleted_by": req.DeletedBy}, id)
183183
if err != nil {
184-
catcher.Error("unable to update delete_by field in agent", err, nil)
184+
catcher.Error("unable to update delete_by field in agent", err, map[string]any{"process": "agent-manager"})
185185
}
186186

187187
err = s.DBConnection.Delete(&models.AgentCommand{}, "agent_id = ?", false, uint(idInt))
188188
if err != nil {
189-
catcher.Error("unable to delete agent commands", err, nil)
189+
catcher.Error("unable to delete agent commands", err, map[string]any{"process": "agent-manager"})
190190
return &AuthResponse{}, status.Error(codes.Internal, fmt.Sprintf("unable to delete agent commands: %v", err.Error()))
191191
}
192192

193193
err = s.DBConnection.Delete(&models.Agent{}, "id = ?", false, id)
194194
if err != nil {
195-
catcher.Error("unable to delete agent", err, nil)
195+
catcher.Error("unable to delete agent", err, map[string]any{"process": "agent-manager"})
196196
return &AuthResponse{}, status.Error(codes.Internal, fmt.Sprintf("unable to delete agent: %v", err.Error()))
197197
}
198198

@@ -204,7 +204,7 @@ func (s *AgentService) DeleteAgent(ctx context.Context, req *DeleteRequest) (*Au
204204
delete(s.AgentStreamMap, uint(idInt))
205205
s.AgentStreamMutex.Unlock()
206206

207-
catcher.Info("Agent deleted", map[string]any{"key": key, "deleted_by": req.DeletedBy})
207+
catcher.Info("Agent deleted", map[string]any{"key": key, "deleted_by": req.DeletedBy, "process": "agent-manager"})
208208

209209
return &AuthResponse{
210210
Id: uint32(idInt),
@@ -219,7 +219,7 @@ func (s *AgentService) ListAgents(ctx context.Context, req *ListRequest) (*ListA
219219
agents := []models.Agent{}
220220
total, err := s.DBConnection.GetByPagination(&agents, page, filter, "", false)
221221
if err != nil {
222-
catcher.Error("failed to fetch agents", err, nil)
222+
catcher.Error("failed to fetch agents", err, map[string]any{"process": "agent-manager"})
223223
return nil, status.Errorf(codes.Internal, "failed to fetch agents: %v", err)
224224
}
225225

@@ -267,7 +267,7 @@ func (s *AgentService) AgentStream(stream AgentService_AgentStreamServer) error
267267

268268
switch msg := in.StreamMessage.(type) {
269269
case *BidirectionalStream_Result:
270-
catcher.Info("Received command result from agent", map[string]any{"agent_id": msg.Result.AgentId, "result": msg.Result.Result})
270+
catcher.Info("Received command result from agent", map[string]any{"agent_id": msg.Result.AgentId, "result": msg.Result.Result, "process": "agent-manager"})
271271
cmdID := msg.Result.GetCmdId()
272272

273273
s.CommandResultChannelM.Lock()
@@ -279,7 +279,7 @@ func (s *AgentService) AgentStream(stream AgentService_AgentStreamServer) error
279279
ExecutedAt: msg.Result.ExecutedAt,
280280
}
281281
} else {
282-
catcher.Error("failed to find result channel for CmdID", nil, map[string]any{"cmdID": cmdID})
282+
catcher.Error("failed to find result channel for CmdID", nil, map[string]any{"cmdID": cmdID, "process": "agent-manager"})
283283
}
284284
s.CommandResultChannelM.Unlock()
285285
}
@@ -325,7 +325,7 @@ func (s *AgentService) ProcessCommand(stream PanelService_ProcessCommandServer)
325325
histCommand := createHistoryCommand(cmd, cmdID, uint(streamId))
326326
err = s.DBConnection.Create(&histCommand)
327327
if err != nil {
328-
catcher.Error("unable to create a new command history", err, nil)
328+
catcher.Error("unable to create a new command history", err, map[string]any{"process": "agent-manager"})
329329
}
330330

331331
err = agentStream.Send(&BidirectionalStream{
@@ -349,7 +349,7 @@ func (s *AgentService) ProcessCommand(stream PanelService_ProcessCommandServer)
349349
cmd.AgentId, cmdID,
350350
)
351351
if err != nil {
352-
catcher.Error("failed to update command status", err, nil)
352+
catcher.Error("failed to update command status", err, map[string]any{"process": "agent-manager"})
353353
}
354354

355355
err = stream.Send(result)
@@ -370,7 +370,7 @@ func (s *AgentService) ListAgentCommands(ctx context.Context, req *ListRequest)
370370
commands := []models.AgentCommand{}
371371
total, err := s.DBConnection.GetByPagination(&commands, page, filter, "", false)
372372
if err != nil {
373-
catcher.Error("failed to fetch agent commands", err, nil)
373+
catcher.Error("failed to fetch agent commands", err, map[string]any{"process": "agent-manager"})
374374
return nil, status.Errorf(codes.Internal, "failed to fetch agent commands: %v", err)
375375
}
376376

agent-manager/agent/collector_imp.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func InitCollectorService() {
6363
collectors := []models.Collector{}
6464
_, err := CollectorServ.DBConnection.GetAll(&collectors, "")
6565
if err != nil {
66-
catcher.Error("failed to fetch collectors", err, nil)
66+
catcher.Error("failed to fetch collectors", err, map[string]any{"process": "agent-manager"})
6767
os.Exit(1)
6868
}
6969
for _, c := range collectors {
@@ -79,7 +79,7 @@ func InitCollectorService() {
7979
moduleConfig := &types.ConfigurationSection{}
8080
moduleConfig, err = client.GetUTMConfig(moduleType)
8181
if err != nil {
82-
catcher.Error("failed to get module config", err, nil)
82+
catcher.Error("failed to get module config", err, map[string]any{"process": "agent-manager"})
8383
time.Sleep(5 * time.Second)
8484
continue external
8585
}
@@ -89,7 +89,7 @@ func InitCollectorService() {
8989
var idInt int
9090
idInt, err = strconv.Atoi(group.CollectorID)
9191
if err != nil {
92-
catcher.Error("invalid collector ID", err, nil)
92+
catcher.Error("invalid collector ID", err, map[string]any{"process": "agent-manager"})
9393
continue
9494
}
9595

@@ -131,7 +131,7 @@ func (s *CollectorService) RegisterCollector(ctx context.Context, req *RegisterR
131131
Key: oldCollector.CollectorKey,
132132
}, nil
133133
} else {
134-
catcher.Error("collector already registered with different IP", nil, map[string]any{"hostname": oldCollector.Hostname, "module": oldCollector.Module, "id": oldCollector.ID})
134+
catcher.Error("collector already registered with different IP", nil, map[string]any{"hostname": oldCollector.Hostname, "module": oldCollector.Module, "id": oldCollector.ID, "process": "agent-manager"})
135135
return nil, status.Errorf(codes.AlreadyExists, "hostname has already been registered")
136136
}
137137
}
@@ -140,7 +140,7 @@ func (s *CollectorService) RegisterCollector(ctx context.Context, req *RegisterR
140140
collector.CollectorKey = key
141141
err = s.DBConnection.Create(collector)
142142
if err != nil {
143-
catcher.Error("failed to create collector", err, nil)
143+
catcher.Error("failed to create collector", err, map[string]any{"process": "agent-manager"})
144144
return nil, status.Error(codes.Internal, fmt.Sprintf("failed to create collector: %v", err))
145145
}
146146

@@ -154,7 +154,7 @@ func (s *CollectorService) RegisterCollector(ctx context.Context, req *RegisterR
154154
LastPing: time.Now(),
155155
}
156156

157-
catcher.Info("Collector registered correctly", map[string]any{"hostname": collector.Hostname, "module": collector.Module, "id": collector.ID})
157+
catcher.Info("Collector registered correctly", map[string]any{"hostname": collector.Hostname, "module": collector.Module, "id": collector.ID, "process": "agent-manager"})
158158
return &AuthResponse{
159159
Id: uint32(collector.ID),
160160
Key: key,
@@ -173,12 +173,12 @@ func (s *CollectorService) DeleteCollector(ctx context.Context, req *DeleteReque
173173

174174
err = s.DBConnection.Upsert(&models.Collector{}, "id = ?", map[string]interface{}{"deleted_by": req.DeletedBy}, id)
175175
if err != nil {
176-
catcher.Error("unable to delete collector", err, nil)
176+
catcher.Error("unable to delete collector", err, map[string]any{"process": "agent-manager"})
177177
}
178178

179179
err = s.DBConnection.Delete(&models.Collector{}, "id = ?", false, id)
180180
if err != nil {
181-
catcher.Error("unable to delete collector", err, nil)
181+
catcher.Error("unable to delete collector", err, map[string]any{"process": "agent-manager"})
182182
return nil, status.Error(codes.Internal, fmt.Sprintf("unable to delete collector: %v", err.Error()))
183183
}
184184

@@ -190,7 +190,7 @@ func (s *CollectorService) DeleteCollector(ctx context.Context, req *DeleteReque
190190
delete(s.CollectorStreamMap, uint(idInt))
191191
s.CollectorStreamMutex.Unlock()
192192

193-
catcher.Info("Collector deleted", map[string]any{"key": key, "deleted_by": req.DeletedBy})
193+
catcher.Info("Collector deleted", map[string]any{"key": key, "deleted_by": req.DeletedBy, "process": "agent-manager"})
194194
return &AuthResponse{
195195
Id: uint32(idInt),
196196
Key: key,
@@ -204,7 +204,7 @@ func (s *CollectorService) ListCollector(ctx context.Context, req *ListRequest)
204204
collectors := []models.Collector{}
205205
total, err := s.DBConnection.GetByPagination(&collectors, page, filter, "", false)
206206
if err != nil {
207-
catcher.Error("failed to fetch collectors", err, nil)
207+
catcher.Error("failed to fetch collectors", err, map[string]any{"process": "agent-manager"})
208208
return nil, status.Errorf(codes.Internal, "failed to fetch collectors: %v", err)
209209
}
210210
return convertModelToCollectorResponse(collectors, total), nil
@@ -214,7 +214,7 @@ func (s *CollectorService) ProcessPendingConfigs() {
214214
for configs := range s.CollectorPendigConfigChan {
215215
collectorID, err := strconv.Atoi(configs.CollectorId)
216216
if err != nil {
217-
catcher.Error("invalid collector ID", err, nil)
217+
catcher.Error("invalid collector ID", err, map[string]any{"process": "agent-manager"})
218218
continue
219219
}
220220

@@ -231,7 +231,7 @@ func (s *CollectorService) ProcessPendingConfigs() {
231231
},
232232
})
233233
if err != nil {
234-
catcher.Error("failed to send config to collector", err, nil)
234+
catcher.Error("failed to send config to collector", err, map[string]any{"process": "agent-manager"})
235235
}
236236
}
237237
}
@@ -276,7 +276,7 @@ func (s *CollectorService) CollectorStream(stream CollectorService_CollectorStre
276276

277277
switch msg := in.StreamMessage.(type) {
278278
case *CollectorMessages_Result:
279-
catcher.Info("Received Knowledge", map[string]any{"request_id": msg.Result.RequestId})
279+
catcher.Info("Received Knowledge", map[string]any{"request_id": msg.Result.RequestId, "process": "agent-manager"})
280280

281281
case *CollectorMessages_Config:
282282
// Not implemented

agent-manager/agent/lastseen_imp.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (s *LastSeenService) InitPingSync() {
5151
for {
5252
_, err := s.DBConnection.GetAll(&pings, "")
5353
if err != nil {
54-
catcher.Error("failed to get LastSeen items", err, nil)
54+
catcher.Error("failed to get LastSeen items", err, map[string]any{"process": "agent-manager"})
5555
time.Sleep(5 * time.Second)
5656
continue
5757
}
@@ -78,7 +78,7 @@ func (s *LastSeenService) processPings() {
7878
}
7979
}
8080

81-
catcher.Info("processPings goroutine ended", nil)
81+
catcher.Info("processPings goroutine ended", map[string]any{"process": "agent-manager"})
8282
}
8383

8484
func (s *LastSeenService) flushLastSeenToDB() {
@@ -131,7 +131,7 @@ func (s *LastSeenService) flushLastSeenToDB() {
131131
for ping := range pingChan {
132132
err := s.DBConnection.Upsert(&ping, "connector_id = ?", nil, ping.ConnectorID)
133133
if err != nil {
134-
catcher.Error("failed to save LastSeen item for connector", err, map[string]any{"connector_id": ping.ConnectorID})
134+
catcher.Error("failed to save LastSeen item for connector", err, map[string]any{"connector_id": ping.ConnectorID, "process": "agent-manager"})
135135
select {
136136
case errorChan <- err:
137137
default:

agent-manager/agent/parser.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func createHistoryCommand(cmd *UtmCommand, cmdID string, agentId uint) *models.A
4040
func parseAgentToProto(agent models.Agent) *Agent {
4141
agentStatus, lastSeen, err := LastSeenServ.GetLastSeenStatus(agent.ID, "agent")
4242
if err != nil {
43-
catcher.Error("failed to get last seen status for agent", err, map[string]any{"agent": agent.ID})
43+
catcher.Error("failed to get last seen status for agent", err, map[string]any{"agent": agent.ID, "process": "agent-manager"})
4444
}
4545
agentResult := &Agent{
4646
Id: uint32(agent.ID),
@@ -108,7 +108,7 @@ func replaceSecretValues(input string) string {
108108
func modelToProtoCollector(model models.Collector) *Collector {
109109
collectorStatus, lastSeen, err := LastSeenServ.GetLastSeenStatus(model.ID, "collector")
110110
if err != nil {
111-
catcher.Error("failed to get last seen status for collector", err, map[string]any{"model": model.ID})
111+
catcher.Error("failed to get last seen status for collector", err, map[string]any{"model": model.ID, "process": "agent-manager"})
112112
}
113113
return &Collector{
114114
Id: int32(model.ID),

agent-manager/agent/utmgrpc.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
func InitGrpcServer() {
1717
err := InitAgentService()
1818
if err != nil {
19-
catcher.Error("failed to init agent service", err, nil)
19+
catcher.Error("failed to init agent service", err, map[string]any{"process": "agent-manager"})
2020
os.Exit(1)
2121
}
2222

@@ -29,13 +29,13 @@ func InitGrpcServer() {
2929
func StartGrpcServer() {
3030
listener, err := net.Listen("tcp", "0.0.0.0:50051")
3131
if err != nil {
32-
catcher.Error("failed to listen", err, nil)
32+
catcher.Error("failed to listen", err, map[string]any{"process": "agent-manager"})
3333
os.Exit(1)
3434
}
3535

3636
loadedCert, err := tls.LoadX509KeyPair(config.CertPath, config.CertKeyPath)
3737
if err != nil {
38-
catcher.Error("failed to load TLS credentials: %v", err, nil)
38+
catcher.Error("failed to load TLS credentials: %v", err, map[string]any{"process": "agent-manager"})
3939
os.Exit(1)
4040
}
4141

@@ -59,9 +59,9 @@ func StartGrpcServer() {
5959
grpc_health_v1.RegisterHealthServer(grpcServer, healthServer)
6060
healthServer.SetServingStatus("", grpc_health_v1.HealthCheckResponse_SERVING)
6161

62-
catcher.Info("Starting gRPC server on 0.0.0.0:50051", nil)
62+
catcher.Info("Starting gRPC server on 0.0.0.0:50051", map[string]any{"process": "agent-manager"})
6363
if err := grpcServer.Serve(listener); err != nil {
64-
catcher.Error("failed to serve", err, nil)
64+
catcher.Error("failed to serve", err, map[string]any{"process": "agent-manager"})
6565
os.Exit(1)
6666
}
6767
}

agent-manager/updates/updates.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func InitUpdatesManager() {
1717
}
1818

1919
func ServeDependencies() {
20-
catcher.Info("Serving dependencies", map[string]any{"path": config.UpdatesDependenciesFolder})
20+
catcher.Info("Serving dependencies", map[string]any{"path": config.UpdatesDependenciesFolder, "process": "agent-manager"})
2121

2222
gin.SetMode(gin.ReleaseMode)
2323
r := gin.New()
@@ -33,7 +33,7 @@ func ServeDependencies() {
3333

3434
loadedCert, err := tls.LoadX509KeyPair(config.CertPath, config.CertKeyPath)
3535
if err != nil {
36-
catcher.Error("failed to load TLS credentials", err, nil)
36+
catcher.Error("failed to load TLS credentials", err, map[string]any{"process": "agent-manager"})
3737
os.Exit(1)
3838
}
3939

@@ -55,9 +55,9 @@ func ServeDependencies() {
5555
TLSConfig: tlsConfig,
5656
}
5757

58-
catcher.Info("Starting HTTP server on port 8080", nil)
58+
catcher.Info("Starting HTTP server on port 8080", map[string]any{"process": "agent-manager"})
5959
if err := server.ListenAndServeTLS("", ""); err != nil {
60-
catcher.Error("error starting HTTP server", err, nil)
60+
catcher.Error("error starting HTTP server", err, map[string]any{"process": "agent-manager"})
6161
return
6262
}
6363
}

0 commit comments

Comments
 (0)