From 53d21860c129ee80d74ca051e8f990e8f992ecfc Mon Sep 17 00:00:00 2001 From: simonzhangsz Date: Thu, 17 Aug 2023 00:16:03 +0800 Subject: [PATCH] backup and alarm --- crontask/etc/crontask.yaml | 4 +- crontask/etc/tasks.yaml | 16 +++++++- crontask/gencmxml.go | 2 +- database/upgrade/upgrade.sql | 8 +++- features/fm/alarm.go | 37 +++++++++++------- features/nbi/nbi.go | 32 +++++---------- .../backup/smf-sz_01-etc-20230727001500.zip | Bin 4134 -> 0 bytes sshsvc/etc/sshsvc.yaml | 4 +- tools/misc/dumpdb.sh | 11 +++--- tools/misc/tables_c.lst | 1 + 10 files changed, 66 insertions(+), 49 deletions(-) delete mode 100644 restagent/backup/smf-sz_01-etc-20230727001500.zip diff --git a/crontask/etc/crontask.yaml b/crontask/etc/crontask.yaml index a23c9087..6717ca34 100644 --- a/crontask/etc/crontask.yaml +++ b/crontask/etc/crontask.yaml @@ -2,7 +2,7 @@ # level: /trace/debug/info/error/warn/error/fatal, default: debug # duration: saved days, default is 30 days logger: - file: d:/omc.git/goprojects/ems.agt/crontask/log/crontask.log + file: d:/local.git/be.ems/crontask/log/crontask.log level: trace duration: 24 count: 10 @@ -27,7 +27,7 @@ database: host: 127.0.0.1 port: 33066 name: omc_db - backup: d:/omc.git/goprojects/ems.agt/restagent/database + backup: d:/local.git/be.ems/restagent/database # northbound interface, cm/pm nbi: diff --git a/crontask/etc/tasks.yaml b/crontask/etc/tasks.yaml index 4ae534ca..75289919 100644 --- a/crontask/etc/tasks.yaml +++ b/crontask/etc/tasks.yaml @@ -61,8 +61,22 @@ tasks: params: SQL=select+*+into+outfile+'%s'+fields+terminated+by+','+escaped+by+''+optionally+enclosed+by+''+lines+terminated+by+'\n'+from+(select+'op_id','account_name','op_ip','subsys_tag','op_type','op_content','op_result','begin_time','end_time','vnf_flag','log_time'+union+select+op_id,account_name,op_ip,subsys_tag,op_type,op_content,op_result,begin_time,end_time,vnf_flag,log_time+from+operation_log)+b interval: 1 unit: Days - at: 00:25:00 + at: 00:26:00 do: TaskDBBackupCSVGetBySQL + - name: Backup security log + uri: /api/rest/databaseManagement/v1/omc_db/security_log + params: SQL=select+*+into+outfile+'%s'+fields+terminated+by+','+escaped+by+''+optionally+enclosed+by+''+lines+terminated+by+'\n'+from+(select+'id','account_name','account_type','op_ip','op_type','op_content','op_result','op_time'+union+select+id,account_name,account_type,op_ip,op_type,op_content,op_result,op_time+from+security_log)+b + interval: 1 + unit: Days + at: 00:28:00 + do: TaskDBBackupCSVGetBySQL + - name: Backup alarm log + uri: /api/rest/databaseManagement/v1/omc_db/alarm_log + params: SQL=select+*+into+outfile+'%s'+fields+terminated+by+','+escaped+by+''+optionally+enclosed+by+''+lines+terminated+by+'\n'+from+(select+'id','ne_type','ne_id','alarm_seq','alarm_id','alarm_code','alarm_status','event_time','log_time'+union+select+id,ne_type,ne_id,alarm_seq,alarm_id,alarm_code,alarm_status,event_time,log_time+from+alarm_log)+b + interval: 1 + unit: Days + at: 00:30:00 + do: TaskDBBackupCSVGetBySQL - name: handshake to NF status: Active uri: /api/rest/systemManagement/v1/elementType/%s/objectType/systemState diff --git a/crontask/gencmxml.go b/crontask/gencmxml.go index 697198c5..528d8fe1 100644 --- a/crontask/gencmxml.go +++ b/crontask/gencmxml.go @@ -126,7 +126,7 @@ func (t *TaskFunc) GenNFXmlFile(neType string) error { case "UserLabel": v = ne.NeName case "VendorName": - v = "Ruijie Network" + v = "RJ" case "SwVersion": v = global.Version case "PatchInfo": diff --git a/database/upgrade/upgrade.sql b/database/upgrade/upgrade.sql index 0c6520e2..2f1f3873 100644 --- a/database/upgrade/upgrade.sql +++ b/database/upgrade/upgrade.sql @@ -24,7 +24,7 @@ ALTER TABLE `omc_db`.`permission` ADD COLUMN IF NOT EXISTS `management` varchar(32) NULL DEFAULT '*' AFTER `method`; ALTER TABLE `omc_db`.`permission` -CHANGE COLUMN `create_at` `created_at` datetime NULL DEFAULT current_timestamp AFTER `description`, +CHANGE COLUMN IF EXISTS `create_at` `created_at` datetime NULL DEFAULT current_timestamp AFTER `description`, MODIFY COLUMN `method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '*' AFTER `permission_name`, MODIFY COLUMN `management` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '*' AFTER `method`, MODIFY COLUMN `element` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '*' AFTER `management`, @@ -34,4 +34,8 @@ ADD COLUMN IF NOT EXISTS `deleted_at` datetime NULL AFTER `updated_at`; ALTER TABLE `omc_db`.`permission` DROP INDEX IF EXISTS `permission_name`, -ADD UNIQUE INDEX `permission_name`(`permission_name`) USING BTREE; \ No newline at end of file +ADD UNIQUE INDEX `permission_name`(`permission_name`) USING BTREE; + +ALTER TABLE `omc_db`.`ne_software` +DROP COLUMN IF EXISTS `patch_time`, +ADD COLUMN IF NOT EXISTS `patch_time` datetime NULL AFTER `update_time`; \ No newline at end of file diff --git a/features/fm/alarm.go b/features/fm/alarm.go index 89b630ae..521d93e5 100644 --- a/features/fm/alarm.go +++ b/features/fm/alarm.go @@ -235,12 +235,15 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) { //services.ResponseInternalServerError500ProcessError(w, err) //return } - log.Debug("valueJson:", valueJson) - session := xEngine.NewSession() - defer session.Close() + log.Trace("valueJson:", valueJson) + // session := xEngine.NewSession() + // defer session.Close() var activeAlarmNum int = 0 for _, alarmData := range *alarmArray { log.Debug("alarmData:", alarmData) + + session := xEngine.NewSession() + defer session.Close() if alarmData.AlarmStatus == AlarmStatusClear { alarmData.ClearType = ClearTypeAutoClear alarmData.ClearTime.Valid = true @@ -267,7 +270,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) { continue } } - log.Debug("alarmData:", alarmData) + log.Trace("alarmData:", alarmData) var currentSeq string var seq int has, err := xEngine.Table("alarm"). @@ -325,6 +328,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) { continue } } + session.Commit() // for alarm forward time format alarmData.EventTime = eventTime } else { @@ -350,11 +354,12 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) { log.Error("Failed to get alarm:", err) continue } - log.Debugf("neType=%s, neId=%s, currentSeq=%s", alarmData.NeType, alarmData.NeId, currentSeq) + log.Debugf("neType=%s, neId=%s, currentSeq=%s activeAlarmNum=%d", + alarmData.NeType, alarmData.NeId, currentSeq, activeAlarmNum) if has == true { seq, _ := strconv.Atoi(currentSeq) - alarmData.AlarmSeq = seq + activeAlarmNum + alarmData.AlarmSeq = seq + 1 if alarmData.AlarmSeq > global.MaxInt32Number { alarmData.AlarmSeq = AlarmSeqBeginNumber } @@ -420,12 +425,13 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) { alarmLog.AlarmCode = alarmData.AlarmCode alarmLog.AlarmStatus = alarmData.AlarmStatus alarmLog.EventTime = eventTime - log.Debug("alarmLog:", alarmLog) + log.Trace("alarmLog:", alarmLog) affected, err = session.Insert(alarmLog) if err != nil && affected <= 0 { log.Error("Failed to insert alarm_log:", err) } + session.Commit() } if config.GetYamlConfig().Alarm.ForwardAlarm { if err = AlarmEmailForward(&alarmData); err != nil { @@ -437,7 +443,6 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) { } } - session.Commit() services.ResponseStatusOK200Null(w) } @@ -487,11 +492,14 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { //services.ResponseInternalServerError500ProcessError(w, err) continue } - session := xEngine.NewSession() - defer session.Close() + // session := xEngine.NewSession() + // defer session.Close() var activeAlarmNum int = 0 for _, alarmData := range *alarmArray { log.Debug("alarmData:", alarmData) + + session := xEngine.NewSession() + defer session.Close() // todo: clear alarm .... if alarmData.AlarmStatus == AlarmStatusClear { exist, err := session.Table("alarm"). @@ -571,7 +579,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { continue } } - + session.Commit() // for alarm forward time format alarmData.EventTime = eventTime } else { @@ -597,11 +605,12 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { log.Error("Failed to get alarm:", err) continue } - log.Debugf("neType=%s, neId=%s, currentSeq=%s", alarmData.NeType, alarmData.NeId, currentSeq) + log.Debugf("neType=%s, neId=%s, currentSeq=%s, activeAlarmNum=%d", + alarmData.NeType, alarmData.NeId, currentSeq, activeAlarmNum) if has == true { seq, _ := strconv.Atoi(currentSeq) - alarmData.AlarmSeq = seq + activeAlarmNum + alarmData.AlarmSeq = seq + 1 if alarmData.AlarmSeq > global.MaxInt32Number { alarmData.AlarmSeq = AlarmSeqBeginNumber } @@ -646,7 +655,7 @@ func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { if IsNeedToAckAlarm(valueJson, &alarmData) == true { SetAlarmAckInfo(valueJson, &alarmData) } - log.Debug("alarmData:", alarmData) + log.Trace("alarmData:", alarmData) affected, err := session.Insert(alarmData) if err == nil && affected > 0 { alarmLog := new(AlarmLog) diff --git a/features/nbi/nbi.go b/features/nbi/nbi.go index e87fe82c..a6a8aabb 100644 --- a/features/nbi/nbi.go +++ b/features/nbi/nbi.go @@ -129,7 +129,7 @@ func CheckLocalRmUID(rmUIDs []string) string { } func NBIGetNRMFromNF(w http.ResponseWriter, r *http.Request) { - log.Debug("NorthGetNRMFromNF processing... ") + log.Debug("NBIGetNRMFromNF processing... ") // response 414-4 uri too long ? (optional) // todo ... ? @@ -220,19 +220,9 @@ func NBIGetNRMFromNF(w http.ResponseWriter, r *http.Request) { services.ResponseRequestURITooLong414NRMNumExceed(w, config.GetYamlConfig().Params.RmUIDMaxNum) return } - /* - // response 400-1 - // check rmUID is valid - // todo ... - invalidRmUIDs := CheckValidRmUID(rmUIDValues) - if len(invalidRmUIDs) != 0 { - log.Debug("rmUID is invalid") - services.ResponseBadRequest400RmUIDsIsInvalid(w, invalidRmUIDs) - return - } - */ + var response *resty.Response - // respMsg := make(map[string]interface{}) + respMsg := make(map[string]interface{}) for _, rmUID := range rmUIDValues { neInfo, err := dborm.XormGetNeInfoByRmUID(neType, rmUID) if err != nil { @@ -255,16 +245,14 @@ func NBIGetNRMFromNF(w http.ResponseWriter, r *http.Request) { services.ResponseInternalServerError500NFConnectRefused(w) return } - /* - switch response.StatusCode() { - case http.StatusOK, http.StatusAccepted, http.StatusNoContent, http.StatusCreated: - respMsg["data"] = response - default: - if response != nil { - services.TransportResponse(w, response.StatusCode(), response.Body()) - } + switch response.StatusCode() { + case http.StatusOK, http.StatusAccepted, http.StatusNoContent, http.StatusCreated: + respMsg["data"] = response + default: + if response != nil { + services.TransportResponse(w, response.StatusCode(), response.Body()) } - */ + } } services.TransportResponse(w, response.StatusCode(), response.Body()) diff --git a/restagent/backup/smf-sz_01-etc-20230727001500.zip b/restagent/backup/smf-sz_01-etc-20230727001500.zip deleted file mode 100644 index e5959079aabf81a72b87bb1244a2c7c43831bf33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4134 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 Lz4Cn^{p0p8cTqF- diff --git a/sshsvc/etc/sshsvc.yaml b/sshsvc/etc/sshsvc.yaml index 03e638a7..56a754cd 100644 --- a/sshsvc/etc/sshsvc.yaml +++ b/sshsvc/etc/sshsvc.yaml @@ -3,7 +3,7 @@ # duration: rotation time with xx hours, example: 1/12/24 hours # count: rotation count of log, default is 30 rotation logger: - file: d:/omc.git/goprojects/ems.agt/sshsvc/log/sshsvc.log + file: d:/local.git/be.ems/sshsvc/log/sshsvc.log level: trace duration: 24 count: 30 @@ -13,7 +13,7 @@ logger: # count: rotation count of log, default is 30 rotation # level: cmd/ret log cmd/log cmd & result logmml: - file: d:/omc.git/goprojects/ems.agt/sshsvc/mmllog/omcmml.log + file: d:/local.git/be.ems/sshsvc/mmllog/omcmml.log duration: 24 count: 30 level: ret diff --git a/tools/misc/dumpdb.sh b/tools/misc/dumpdb.sh index 7fec9d50..a97252b2 100644 --- a/tools/misc/dumpdb.sh +++ b/tools/misc/dumpdb.sh @@ -1,15 +1,16 @@ #!/bin/bash -home="/home/simon" -project="goprojects" +Home=/home/simon +GitLocalRoot=${Home}/local.git +EmsBEDir=${GitLocalRoot}/be.ems user="root" password="1000omc@kp!" host="192.168.2.119" port="33066" dbname="omc_db" -dumpdbdir=${home}/${project}/ems.agt/tools/misc -insdir=${home}/${project}/ems.agt/database/install -upgdir=${home}/${project}/ems.agt/database/upgrade +dumpdbdir=${EmsBEDir}/tools/misc +insdir=${EmsBEDir}/database/install +upgdir=${EmsBEDir}/database/upgrade tables_c=tables_c.lst tables_s=tables_s.lst diff --git a/tools/misc/tables_c.lst b/tools/misc/tables_c.lst index d005cde3..fef46f73 100644 --- a/tools/misc/tables_c.lst +++ b/tools/misc/tables_c.lst @@ -13,3 +13,4 @@ param_config title_info trace_info user_menu +permission