refactor(lcnode): hybrid cloud add auditlog for lc start stop and heartbeat #22771832

Signed-off-by: zhaochenyang <zhaochenyang@oppo.com>
This commit is contained in:
zhaochenyang 2024-11-12 15:18:48 +08:00 committed by AmazingChi
parent 644508479e
commit 152d9b08f5
4 changed files with 12 additions and 9 deletions

View File

@ -23,6 +23,7 @@ import (
"time"
"github.com/cubefs/cubefs/proto"
"github.com/cubefs/cubefs/util/auditlog"
"github.com/cubefs/cubefs/util/log"
)
@ -107,8 +108,9 @@ func (l *LcNode) opMasterHeartbeat(conn net.Conn, p *proto.Packet, remoteAddr st
end:
adminTask.Response = resp
l.respondToMaster(adminTask)
log.LogInfof("opMasterHeartbeat from %s, req: %v, adminTask: %+v, resp success: %+v, cost %s",
remoteAddr, req, adminTask, resp, time.Since(start).String())
msg := fmt.Sprintf("from(%v), adminTask(%+v), resp(%+v), %v", remoteAddr, adminTask, resp, time.Since(start).String())
log.LogInfof("MasterHeartbeat %v ", msg)
auditlog.LogMasterOp("MasterHeartbeat", msg, err)
}()
l.lastHeartbeat = time.Now()

View File

@ -203,9 +203,8 @@ func (l *LcNode) startLcScan(adminTask *proto.AdminTask) (err error) {
l.lcScanners[scanner.ID] = scanner
l.scannerMutex.Unlock()
if err = scanner.Start(); err != nil {
return
}
err = scanner.Start()
auditlog.LogMasterOp("LcScanStart", fmt.Sprintf("ID(%v), from master(%v)", scanner.ID, request.MasterAddr), err)
return
}
@ -818,6 +817,7 @@ func (s *LcScanner) DoneScanning() bool {
}
func (s *LcScanner) Stop() {
start := time.Now()
close(s.stopC)
s.clearFileChan() // clear fileChan avoid blocking dirRPool
s.fileRPool.WaitAndClose()
@ -828,6 +828,7 @@ func (s *LcScanner) Stop() {
s.transitionMgr.ec.Close()
s.transitionMgr.ecForW.Close()
log.LogInfof("stop: scanner(%v) stopped", s.ID)
auditlog.LogMasterOp("LcScanStop ", fmt.Sprintf("ID(%v), receiveStop(%v), %v", s.ID, s.receiveStop, time.Since(start).String()), nil)
}
func (s *LcScanner) clearFileChan() {

View File

@ -7274,7 +7274,7 @@ func (m *Server) adminLcNode(w http.ResponseWriter, r *http.Request) {
vol := r.FormValue("vol")
rid := r.FormValue("ruleid")
done := r.FormValue("done")
rsp, err := m.cluster.getAllLcNodeInfo(vol, rid, done)
rsp, err := m.cluster.adminLcNodeInfo(vol, rid, done)
auditlog.LogMasterOp("AdminLcNode", fmt.Sprintf("op(info), vol(%v), ruleid(%v), done(%v)", vol, rid, done), err)
if err != nil {
sendErrReply(w, r, &proto.HTTPReply{Code: proto.ErrCodeParamError, Msg: err.Error()})

View File

@ -5464,13 +5464,13 @@ type LcNodeInfoResponse struct {
SnapshotNodeStatus lcNodeStatus
}
func (c *Cluster) getAllLcNodeInfo(vol, rid, done string) (rsp *LcNodeInfoResponse, err error) {
func (c *Cluster) adminLcNodeInfo(vol, rid, done string) (rsp *LcNodeInfoResponse, err error) {
if vol == "" && rid != "" {
err = errors.New("getAllLcNodeInfo failed: ruleid must be used with vol")
err = errors.New("err: ruleid must be used with vol")
return
}
if done != "" && done != "true" && done != "false" {
err = errors.New("getAllLcNodeInfo failed: done invalid")
err = errors.New("err: invalid done")
return
}