diff --git a/dbm-services/redis/db-tools/dbactuator/pkg/atomjobs/atomredis/redis_backup.go b/dbm-services/redis/db-tools/dbactuator/pkg/atomjobs/atomredis/redis_backup.go index 1dc92f66d5..f46dfe4189 100644 --- a/dbm-services/redis/db-tools/dbactuator/pkg/atomjobs/atomredis/redis_backup.go +++ b/dbm-services/redis/db-tools/dbactuator/pkg/atomjobs/atomredis/redis_backup.go @@ -444,6 +444,8 @@ func (task *BackupTask) GoFullBakcup() { task.Status = consts.BackupStatusRunning task.Message = "start backup..." + task.StartTime = time.Now().Local() + task.EndTime = time.Now().Local() task.BackupRecordReport(task.reporter) mylog.Logger.Info(fmt.Sprintf("redis(%s) dbType:%s start backup...", task.Addr(), task.DbType)) diff --git a/dbm-services/redis/db-tools/dbactuator/pkg/common/exporter_conf.go b/dbm-services/redis/db-tools/dbactuator/pkg/common/exporter_conf.go index 423552c34d..350ced0e49 100644 --- a/dbm-services/redis/db-tools/dbactuator/pkg/common/exporter_conf.go +++ b/dbm-services/redis/db-tools/dbactuator/pkg/common/exporter_conf.go @@ -48,6 +48,26 @@ func DeleteExporterConfigFile(port int) (err error) { return os.Remove(confFile) } +// IsTwemproxySupportSlowlog twemproxy是否支持slowlog命令 +func IsTwemproxySupportSlowlog() bool { + BinPath := filepath.Join(consts.UsrLocal, "twemproxy") + if !util.FileExists(BinPath) { + return false + } + realLink, err := filepath.EvalSymlinks(BinPath) + if err != nil { + return false + } + baseV, subV, err := util.VersionParse(filepath.Base(realLink)) + if err != nil { + return false + } + if baseV >= 4001 && subV >= 22000000 { + return true + } + return false +} + // CreateLocalExporterConfigFile 创建本地Exporter配置文件. func CreateLocalExporterConfigFile(ip string, port int, metaRole, password string) (err error) { addr := map[string]string{} @@ -76,10 +96,20 @@ func CreateLocalExporterConfigFile(ip string, port int, metaRole, password strin key = fmt.Sprintf("%s:%d", ip, port) val = password addr[key] = val + // 为了能做正确的慢查询日志采集,需要配置redis://ip:port + key = fmt.Sprintf("redis://%s:%d", ip, port) + val = password + addr[key] = val } else if metaRole == consts.MetaRoleTwemproxy { key = fmt.Sprintf("%s:%d", ip, port) val = password addr[key] = val + if IsTwemproxySupportSlowlog() { + // 为了能做正确的慢查询日志采集,需要配置redis://ip:port + key = fmt.Sprintf("redis://%s:%d", ip, port) + val = password + addr[key] = val + } key = fmt.Sprintf("%s:%d:stat", ip, port) val = fmt.Sprintf("%s:%d", ip, port+1000) addr[key] = val diff --git a/dbm-services/redis/db-tools/dbmon/pkg/redisfullbackup/task.go b/dbm-services/redis/db-tools/dbmon/pkg/redisfullbackup/task.go index 56f19bbb69..5218ca8741 100644 --- a/dbm-services/redis/db-tools/dbmon/pkg/redisfullbackup/task.go +++ b/dbm-services/redis/db-tools/dbmon/pkg/redisfullbackup/task.go @@ -219,6 +219,8 @@ func (task *BackupTask) BakcupToLocal() { task.Status = consts.BackupStatusRunning task.Message = "start backup..." + task.StartTime = time.Now().Local() + task.EndTime = time.Now().Local() task.BackupRecordReport(task.reporter) mylog.Logger.Info(fmt.Sprintf("redis(%s) dbType:%s start backup...", task.Addr(), task.DbType))