Merge remote-tracking branch 'origin/main' into lichang

This commit is contained in:
TsMask
2024-05-24 21:08:10 +08:00
25 changed files with 322 additions and 97 deletions

View File

@@ -1,7 +1,7 @@
# Makefile for rest agent project # Makefile for rest agent project
PROJECT = OMC PROJECT = OMC
VERSION = 2.2405.2 VERSION = 2.2405.3
PLATFORM = amd64 PLATFORM = amd64
ARMPLATFORM = aarch64 ARMPLATFORM = aarch64
BUILDDIR = ../../build BUILDDIR = ../../build

View File

@@ -79,11 +79,10 @@ mml:
user: admin user: admin
password: admin password: admin
mmlHome: ./mmlhome mmlHome: ./mmlhome
upload: /home/agtuser
# NE config # NE config
ne: ne:
user: agtuser user: manager
etcdir: /usr/local/etc etcdir: /usr/local/etc
bindir: /usr/local/bin bindir: /usr/local/bin
omcdir: /usr/local/omc omcdir: /usr/local/omc

View File

@@ -1,7 +1,7 @@
# Makefile for OMC-OMC-crontask project # Makefile for OMC-OMC-crontask project
PROJECT = OMC PROJECT = OMC
VERSION = 2.2405.2 VERSION = 2.2405.3
LIBDIR = be.ems/lib LIBDIR = be.ems/lib
BINNAME = crontask BINNAME = crontask

View File

@@ -77,7 +77,7 @@ func execTshark(html string, filename string, proto string, port int) {
//if err1 != nil { //if err1 != nil {
// fmt.Println("write html failed") // fmt.Println("write html failed")
//}else { //}else {
//xsltproc pdml2html.xsl ngap.pdml > /home/agtuser/ngap.html //xsltproc pdml2html.xsl ngap.pdml > /home/manager/ngap.html
command := fmt.Sprintf("xsltproc /usr/local/omc/etc/schema/pdml2html.xsl %s > %s", pdmlFile, html) command := fmt.Sprintf("xsltproc /usr/local/omc/etc/schema/pdml2html.xsl %s > %s", pdmlFile, html)
dest := exec.Command("sh", "-c", command) dest := exec.Command("sh", "-c", command)
_, err2 := dest.Output() _, err2 := dest.Output()

View File

@@ -1,7 +1,7 @@
# Makefile for rest agent project # Makefile for rest agent project
PROJECT = OMC PROJECT = OMC
VERSION = 2.2405.2 VERSION = 2.2405.3
RelDate = `date +%Y%m%d` RelDate = `date +%Y%m%d`
Release = $(RelDate) Release = $(RelDate)
RelVer = $(VERSION)-$(RelDate) RelVer = $(VERSION)-$(RelDate)

View File

@@ -0,0 +1,63 @@
/*
Navicat Premium Data Transfer
Source Server : local_mariadb
Source Server Type : MariaDB
Source Server Version : 100338 (10.3.38-MariaDB)
Source Host : localhost:33066
Source Schema : omc_db
Target Server Type : MariaDB
Target Server Version : 100338 (10.3.38-MariaDB)
File Encoding : 65001
Date: 24/05/2024 15:44:03
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for alarm_event
-- ----------------------------
DROP TABLE IF EXISTS `alarm_event`;
CREATE TABLE `alarm_event` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`alarm_seq` int(11) NULL DEFAULT NULL,
`alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`alarm_code` int(11) NULL DEFAULT NULL,
`event_time` datetime NULL DEFAULT NULL,
`alarm_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
`orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Minor' COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)',
`perceived_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)',
`pv_flag` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`object_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`object_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0',
`object_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`location_info` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`alarm_status` int(11) NOT NULL DEFAULT 1 COMMENT '0:clear, 1:active',
`specific_problem` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`specific_problem_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`add_info` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`counter` int(11) NULL DEFAULT 0,
`latest_event_time` datetime NULL DEFAULT NULL,
`ack_state` tinyint(4) NULL DEFAULT 0 COMMENT '0: Unacked, 1: Acked',
`ack_time` datetime NULL DEFAULT NULL,
`ack_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`clear_type` tinyint(4) NULL DEFAULT 0 COMMENT '0: Unclear, 1: AutoClear, 2: ManualClear',
`clear_time` datetime NULL DEFAULT NULL,
`clear_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`timestamp` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `idx_pk_id`(`id`) USING BTREE,
UNIQUE INDEX `idx_uni_aid_ne_aseq`(`ne_type`, `ne_id`, `alarm_id`, `alarm_seq`) USING BTREE,
INDEX `idx_event_time`(`event_time`) USING BTREE,
INDEX `idx_severity_status`(`alarm_status`, `orig_severity`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 228788 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -0,0 +1,62 @@
/*
Navicat Premium Data Transfer
Source Server : local_mariadb
Source Server Type : MariaDB
Source Server Version : 100338 (10.3.38-MariaDB)
Source Host : localhost:33066
Source Schema : omc_db
Target Server Type : MariaDB
Target Server Version : 100338 (10.3.38-MariaDB)
File Encoding : 65001
Date: 24/05/2024 15:44:03
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for alarm_event
-- ----------------------------
CREATE TABLE IF NOT EXISTS `alarm_event` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`alarm_seq` int(11) NULL DEFAULT NULL,
`alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`alarm_code` int(11) NULL DEFAULT NULL,
`event_time` datetime NULL DEFAULT NULL,
`alarm_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
`orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Minor' COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)',
`perceived_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)',
`pv_flag` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`object_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`object_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0',
`object_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`location_info` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`alarm_status` int(11) NOT NULL DEFAULT 1 COMMENT '0:clear, 1:active',
`specific_problem` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`specific_problem_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`add_info` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`counter` int(11) NULL DEFAULT 0,
`latest_event_time` datetime NULL DEFAULT NULL,
`ack_state` tinyint(4) NULL DEFAULT 0 COMMENT '0: Unacked, 1: Acked',
`ack_time` datetime NULL DEFAULT NULL,
`ack_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`clear_type` tinyint(4) NULL DEFAULT 0 COMMENT '0: Unclear, 1: AutoClear, 2: ManualClear',
`clear_time` datetime NULL DEFAULT NULL,
`clear_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`timestamp` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `idx_pk_id`(`id`) USING BTREE,
UNIQUE INDEX `idx_uni_aid_ne_aseq`(`ne_type`, `ne_id`, `alarm_id`, `alarm_seq`) USING BTREE,
INDEX `idx_event_time`(`event_time`) USING BTREE,
INDEX `idx_severity_status`(`alarm_status`, `orig_severity`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 228788 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -0,0 +1,62 @@
/*
Navicat Premium Data Transfer
Source Server : local_mariadb
Source Server Type : MariaDB
Source Server Version : 100338 (10.3.38-MariaDB)
Source Host : localhost:33066
Source Schema : omc_db
Target Server Type : MariaDB
Target Server Version : 100338 (10.3.38-MariaDB)
File Encoding : 65001
Date: 24/05/2024 15:44:03
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for alarm_event
-- ----------------------------
CREATE TABLE IF NOT EXISTS `alarm_event` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`alarm_seq` int(11) NULL DEFAULT NULL,
`alarm_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`alarm_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`alarm_code` int(11) NULL DEFAULT NULL,
`event_time` datetime NULL DEFAULT NULL,
`alarm_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '',
`orig_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'Minor' COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)',
`perceived_severity` enum('Critical','Major','Minor','Warning','Event') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '1: Critical, 2: Major, 3: Minor, 4: Warning, 5: Event(Only VNF)',
`pv_flag` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ne_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`object_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`object_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0',
`object_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`location_info` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`alarm_status` int(11) NOT NULL DEFAULT 1 COMMENT '0:clear, 1:active',
`specific_problem` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`specific_problem_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`add_info` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`counter` int(11) NULL DEFAULT 0,
`latest_event_time` datetime NULL DEFAULT NULL,
`ack_state` tinyint(4) NULL DEFAULT 0 COMMENT '0: Unacked, 1: Acked',
`ack_time` datetime NULL DEFAULT NULL,
`ack_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`clear_type` tinyint(4) NULL DEFAULT 0 COMMENT '0: Unclear, 1: AutoClear, 2: ManualClear',
`clear_time` datetime NULL DEFAULT NULL,
`clear_user` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`timestamp` datetime NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `idx_pk_id`(`id`) USING BTREE,
UNIQUE INDEX `idx_uni_aid_ne_aseq`(`ne_type`, `ne_id`, `alarm_id`, `alarm_seq`) USING BTREE,
INDEX `idx_event_time`(`event_time`) USING BTREE,
INDEX `idx_severity_status`(`alarm_status`, `orig_severity`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 228788 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -802,28 +802,6 @@ SET
WHERE WHERE
`menu_id` = 2110; `menu_id` = 2110;
UPDATE `omc_db`.`sys_menu`
SET
`menu_name` = 'menu.system.setting.i18n',
`parent_id` = 2114,
`menu_sort` = 1,
`path` = NULL,
`component` = NULL,
`is_frame` = '1',
`is_cache` = '1',
`menu_type` = 'B',
`visible` = '1',
`status` = '1',
`perms` = 'system:setting:i18n',
`icon` = '#',
`create_by` = 'supervisor',
`create_time` = 1700000000000,
`update_by` = 'supervisor',
`update_time` = 1700000000000,
`remark` = 'menu.system.setting.i18nRemark'
WHERE
`menu_id` = 2122;
UPDATE `omc_db`.`sys_menu` UPDATE `omc_db`.`sys_menu`
SET SET
`menu_name` = 'menu.dashboard.cdr', `menu_name` = 'menu.dashboard.cdr',

View File

@@ -697,19 +697,27 @@ func ActiveSoftwareToNF(w http.ResponseWriter, r *http.Request) {
if !config.GetYamlConfig().OMC.TestMode { if !config.GetYamlConfig().OMC.TestMode {
filePath := (*neVersion)[0]["path"] filePath := (*neVersion)[0]["path"]
sshHost := fmt.Sprintf("%s@%s", config.GetYamlConfig().NE.User, neInfo.Ip) sshHost := fmt.Sprintf("%s@%s", config.GetYamlConfig().NE.User, neInfo.Ip)
srcFile := fmt.Sprintf("%s/actpkg.sh", config.GetYamlConfig().OMC.BinDir)
runCmd := fmt.Sprintf("sudo rm -f %s/actpkg.sh", config.GetYamlConfig().NE.ScpDir)
err = RunSSHCmd(sshHost, runCmd)
if err != nil {
log.Errorf("Failed to run cmd: %s", runCmd)
services.ResponseInternalServerError500ProcessError(w, err)
return
}
srcFile := fmt.Sprintf("%s/actpkg.sh", config.GetYamlConfig().OMC.BinDir)
scpDir := fmt.Sprintf("%s@%s:%s", config.GetYamlConfig().NE.User, scpDir := fmt.Sprintf("%s@%s:%s", config.GetYamlConfig().NE.User,
neInfo.Ip, config.GetYamlConfig().NE.ScpDir) neInfo.Ip, config.GetYamlConfig().NE.ScpDir)
cmd := exec.Command("scp", "-r", srcFile, scpDir) cmd := exec.Command("scp", "-r", srcFile, scpDir)
_, err := cmd.CombinedOutput() _, err := cmd.CombinedOutput()
if err != nil { if err != nil {
log.Errorf("Faile to scp NF: neType=%s, neId=%s, ip=%s", neType, neId, neInfo.Ip) log.Errorf("Failed to scp NF: neType=%s, neId=%s, ip=%s", neType, neId, neInfo.Ip)
services.ResponseInternalServerError500ProcessError(w, err) services.ResponseInternalServerError500ProcessError(w, err)
return return
} }
runCmd := fmt.Sprintf("sudo %s/actpkg.sh '%s' %s", runCmd = fmt.Sprintf("sudo %s/actpkg.sh '%s' %s",
config.GetYamlConfig().NE.ScpDir, filePath, neTypeUpper) config.GetYamlConfig().NE.ScpDir, filePath, neTypeUpper)
if neTypeLower == "omc" { if neTypeLower == "omc" {
idNeVersion, _ := strconv.Atoi((*neVersion)[0]["id"]) idNeVersion, _ := strconv.Atoi((*neVersion)[0]["id"])
@@ -897,6 +905,14 @@ func RollBackSoftwareToNF(w http.ResponseWriter, r *http.Request) {
if !config.GetYamlConfig().OMC.TestMode { if !config.GetYamlConfig().OMC.TestMode {
sshHost := fmt.Sprintf("%s@%s", config.GetYamlConfig().NE.User, neInfo.Ip) sshHost := fmt.Sprintf("%s@%s", config.GetYamlConfig().NE.User, neInfo.Ip)
runCmd := fmt.Sprintf("sudo rm -f %s/rbkpkg.sh", config.GetYamlConfig().NE.ScpDir)
err = RunSSHCmd(sshHost, runCmd)
if err != nil {
log.Errorf("Failed to run cmd: %s", runCmd)
services.ResponseInternalServerError500ProcessError(w, err)
return
}
srcFile := fmt.Sprintf("%s/rbkpkg.sh", config.GetYamlConfig().OMC.BinDir) srcFile := fmt.Sprintf("%s/rbkpkg.sh", config.GetYamlConfig().OMC.BinDir)
scpDir := fmt.Sprintf("%s@%s:%s", config.GetYamlConfig().NE.User, scpDir := fmt.Sprintf("%s@%s:%s", config.GetYamlConfig().NE.User,
@@ -909,7 +925,7 @@ func RollBackSoftwareToNF(w http.ResponseWriter, r *http.Request) {
return return
} }
runCmd := fmt.Sprintf("sudo %s/rbkpkg.sh '%s' %s", runCmd = fmt.Sprintf("sudo %s/rbkpkg.sh '%s' %s",
config.GetYamlConfig().NE.ScpDir, filePath, neTypeUpper) config.GetYamlConfig().NE.ScpDir, filePath, neTypeUpper)
if neTypeLower == "omc" { if neTypeLower == "omc" {
idNeVersion, _ := strconv.Atoi((*neVersion)[0]["id"]) idNeVersion, _ := strconv.Atoi((*neVersion)[0]["id"])

View File

@@ -435,11 +435,20 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
SetAlarmAckInfo(valueJson, &alarmData) SetAlarmAckInfo(valueJson, &alarmData)
} }
log.Debug("alarmData:", alarmData) log.Debug("alarmData:", alarmData)
affected, err := session.Insert(alarmData) if alarmData.OrigSeverity == "Event" && config.GetYamlConfig().Alarm.SplitEventAlarm {
if err != nil && affected <= 0 { affected, err := xEngine.Table("alarm_event").InsertOne(alarmData)
log.Error("Failed to insert alarm data:", err) if err != nil && affected <= 0 {
services.ResponseInternalServerError500DatabaseOperationFailed(w) log.Error("Failed to insert alarm_event:", err)
continue services.ResponseInternalServerError500ProcessError(w, err)
continue
}
} else {
affected, err := session.Insert(alarmData)
if err != nil && affected <= 0 {
log.Error("Failed to insert alarm data:", err)
services.ResponseInternalServerError500DatabaseOperationFailed(w)
continue
}
} }
alarmLog := new(AlarmLog) alarmLog := new(AlarmLog)
alarmLog.NeType = alarmData.NeType alarmLog.NeType = alarmData.NeType
@@ -451,7 +460,7 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
alarmLog.EventTime = eventTime alarmLog.EventTime = eventTime
log.Trace("alarmLog:", alarmLog) log.Trace("alarmLog:", alarmLog)
affected, err = session.Insert(alarmLog) affected, err := session.Insert(alarmLog)
if err != nil && affected <= 0 { if err != nil && affected <= 0 {
log.Error("Failed to insert alarm_log:", err) log.Error("Failed to insert alarm_log:", err)
} }
@@ -470,6 +479,28 @@ func PostAlarmFromNF(w http.ResponseWriter, r *http.Request) {
services.ResponseStatusOK200Null(w) services.ResponseStatusOK200Null(w)
} }
type AlarmEvent struct {
AlarmSeq int `json:"alarmSeq"`
AlarmId string `json:"alarmId" xorm:"alarm_id"`
NeId string `json:"neId"`
AlarmCode int `json:"alarmCode"`
AlarmTitle string `json:"alarmTitle"`
EventTime string `json:"eventTime"`
AlarmType string `json:"alarmType"`
OrigSeverity string `json:"origSeverity"`
PVFlag string `json:"pvFlag" xorm:"pv_flag"`
NeName string `json:"neName"`
NeType string `json:"neType"`
ObjectUid string `json:"objectUid" xorm:"object_uid"`
ObjectName string `json:"objectName" xorm:"object_name"`
ObjectType string `json:"objectType" xorm:"object_type"`
LocationInfo string `json:"locationInfo"`
Province string `json:"province"`
SpecificProblem string `json:"specificProblem"`
SpecificProblemID string `json:"specificProblemID" xorm:"specific_problem_id"`
AddInfo string `json:"addInfo"`
}
// process alarm get from NFs // process alarm get from NFs
func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) { func GetAlarmFromNF(w http.ResponseWriter, r *http.Request) {
log.Debug("GetAlarmFromNF processing... ") log.Debug("GetAlarmFromNF processing... ")

View File

@@ -3,7 +3,7 @@
ProjectL = omc ProjectL = omc
ProjectU = OMC ProjectU = OMC
PROJECT = $(ProjectL) PROJECT = $(ProjectL)
VERSION = 2.2405.2 VERSION = 2.2405.3
RelDate = `date +%Y%m%d` RelDate = `date +%Y%m%d`
Release = $(RelDate) Release = $(RelDate)
RelVer = $(VERSION)-$(RelDate) RelVer = $(VERSION)-$(RelDate)
@@ -128,7 +128,7 @@ deb: $(BINNAME)
chmod +x $(DebBuildDir)/usr/local/omc/bin/* chmod +x $(DebBuildDir)/usr/local/omc/bin/*
#sed -i.bak 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control #sed -i.bak 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control
sed -i 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control sed -i 's/YYYYMMDD/$(shell date +"%Y%m%d")/g' $(DebBuildDir)/DEBIAN/control
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: agtuser/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: manager/g' $(DebBuildDir)/usr/local/omc/etc/default/restconf.yaml
dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFile) dpkg -b $(DebBuildDir) $(ReleaseDebs)/$(DebPkgFile)
rpm: $(BINNAME) rpm: $(BINNAME)

View File

@@ -3,7 +3,7 @@
tooldir=/usr/local/bin tooldir=/usr/local/bin
toollist="zip unzip" toollist="zip unzip"
#分发到各个节点,这里分发到nehosts文件中的主机中. # distribute to hosts in file nehosts
while read line while read line
do do
if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then

View File

@@ -1,29 +1,36 @@
#!/bin/bash #!/bin/bash
# 判断id_rsa密钥文件是否存在 # if exist id_rsa
if [ ! -f ~/.ssh/id_rsa ];then if [ ! -f ~/.ssh/id_rsa ];then
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
else else
echo "id_rsa has created ..." echo "id_rsa has created ..."
fi fi
#分发到各个节点,这里分发到nehosts文件中的主机中. # distribute to hosts in file nehosts
while read line while read line
do do
# ignore comment or null line
if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then
continue continue
fi fi
user=`echo $line | cut -d " " -f 2`
ip=`echo $line | cut -d " " -f 1` ip=`echo $line | cut -d " " -f 1`
user=`echo $line | cut -d " " -f 2`
passwd=`echo $line | cut -d " " -f 3` passwd=`echo $line | cut -d " " -f 3`
# !!! to remove ~/.ssh, all old authorized key will be lost
expect <<EOF expect <<EOF
set timeout 10 set timeout 10
spawn ssh-copy-id -f $user@$ip spawn ssh $user@$ip "sudo rm -r ~/.ssh"
expect { expect {
"yes/no" { send "yes\n";exp_continue } "yes/no" { send "yes\n";exp_continue }
"password" { send "$passwd\n" } "password:" { send "$passwd\n" }
} }
expect "password" { send "$passwd\n" } spawn ssh-copy-id -f $user@$ip
expect {
"password:" { send "$passwd\n" }
}
expect eof
EOF EOF
done < nehosts done < nehosts

View File

@@ -1,16 +1,16 @@
# host user password # host user password
# Example: 192.168.4.133 root password # Example: 192.168.4.133 root password
172.16.5.100 agtuser admin123 172.16.5.100 manager admin123
172.16.5.110 agtuser admin123 172.16.5.110 manager admin123
172.16.5.120 agtuser admin123 172.16.5.120 manager admin123
172.16.5.130 agtuser admin123 172.16.5.130 manager admin123
172.16.5.140 agtuser admin123 172.16.5.140 manager admin123
172.16.5.150 agtuser admin123 172.16.5.150 manager admin123
172.16.5.160 agtuser admin123 172.16.5.160 manager admin123
172.16.5.170 agtuser admin123 172.16.5.170 manager admin123
172.16.5.180 agtuser admin123 172.16.5.180 manager admin123
172.16.5.190 agtuser admin123 172.16.5.190 manager admin123
172.16.5.220 agtuser admin123 172.16.5.220 manager admin123
172.16.5.230 agtuser admin123 172.16.5.230 manager admin123
172.16.5.210 agtuser admin123 172.16.5.210 manager admin123
172.16.5.200 agtuser admin123 172.16.5.200 manager admin123

View File

@@ -50,8 +50,8 @@ case "${M_ARG}" in
done done
cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo cp -rf ${CustomizedDir}/logo/* ${OMCStaticDir}/logo
cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc cp -rf ${CustomizedDir}/doc/* ${OMCStaticDir}/helpDoc
perl -0777 -i -pe 's/agtuser/bluearcus/g' ${OMCRootDir}/etc/default/restconf.yaml perl -0777 -i -pe 's/manager/bluearcus/g' ${OMCRootDir}/etc/default/restconf.yaml
perl -0777 -i -pe 's/agtuser/bluearcus/g' ${OMCBinDir}/nehosts perl -0777 -i -pe 's/manager/bluearcus/g' ${OMCBinDir}/nehosts
fi fi
;; ;;
upgrade | upgvue3) upgrade | upgvue3)

View File

@@ -2,7 +2,7 @@
ProcList="restagent crontask sshsvc captrace data2html" ProcList="restagent crontask sshsvc captrace data2html"
ProjectL=omc ProjectL=omc
VERSION=2.2405.2 VERSION=2.2405.3
RelDate=`date +%Y%m%d` RelDate=`date +%Y%m%d`
Release=${RelDate} Release=${RelDate}
RelVer=${VERSION}-${RelDate} RelVer=${VERSION}-${RelDate}

View File

@@ -81,30 +81,7 @@ type YamlConfig struct {
CmdTimeout int `yaml:"cmdTimeout"` CmdTimeout int `yaml:"cmdTimeout"`
} `yaml:"omc"` } `yaml:"omc"`
Alarm struct { Alarm AlarmConfig `yaml:"alarm"`
ForwardAlarm bool `yaml:"forwardAlarm"`
SMProxy string `yaml:"smProxy"`
Email struct {
Smtp string `yaml:"smtp"`
Port uint16 `yaml:"port"`
User string `yaml:"user"`
Password string `yaml:"password"`
TlsSkipVerify bool `yaml:"tlsSkipVerify"`
} `yaml:"email"`
SMS struct {
ApiURL string `yaml:"apiURL"`
AccessKeyID string `yaml:"AccessKeyID"`
AccessKeySecret string `yaml:"accessKeySecret"`
SignName string `yaml:"signName"`
TemplateCode string `yaml:"templateCode"`
} `yaml:"sms"`
SMSC struct {
Addr string `yaml:"addr"`
SystemID string `yaml:"systemID"`
Password string `yaml:"password"`
SystemType string `yaml:"systemType"`
} `yaml:"smsc"`
} `yaml:"alarm"`
MML MMLParam `yaml:"mml"` MML MMLParam `yaml:"mml"`
@@ -169,6 +146,32 @@ type DbConfig struct {
Backup string `yaml:"backup"` Backup string `yaml:"backup"`
} }
type AlarmConfig struct {
SplitEventAlarm bool `yaml:"splitEventAlarm"`
ForwardAlarm bool `yaml:"forwardAlarm"`
SMProxy string `yaml:"smProxy"`
Email struct {
Smtp string `yaml:"smtp"`
Port uint16 `yaml:"port"`
User string `yaml:"user"`
Password string `yaml:"password"`
TlsSkipVerify bool `yaml:"tlsSkipVerify"`
} `yaml:"email"`
SMS struct {
ApiURL string `yaml:"apiURL"`
AccessKeyID string `yaml:"AccessKeyID"`
AccessKeySecret string `yaml:"accessKeySecret"`
SignName string `yaml:"signName"`
TemplateCode string `yaml:"templateCode"`
} `yaml:"sms"`
SMSC struct {
Addr string `yaml:"addr"`
SystemID string `yaml:"systemID"`
Password string `yaml:"password"`
SystemType string `yaml:"systemType"`
} `yaml:"smsc"`
}
type MMLParam struct { type MMLParam struct {
Port int `yaml:"port"` Port int `yaml:"port"`
Port2 int `yaml:"port2"` Port2 int `yaml:"port2"`
@@ -180,7 +183,6 @@ type MMLParam struct {
User string `yaml:"user"` User string `yaml:"user"`
Password string `ymal:"password"` Password string `ymal:"password"`
MmlHome string `yaml:"mmlHome"` MmlHome string `yaml:"mmlHome"`
Upload string `yaml:"upload"`
} }
type TestDatas struct { type TestDatas struct {
@@ -228,6 +230,9 @@ func NewYamlConfig() YamlConfig {
SizeCol: 128, SizeCol: 128,
BufferSize: 65535, BufferSize: 65535,
}, },
Alarm: AlarmConfig{
SplitEventAlarm: true,
},
} }
} }

View File

@@ -79,7 +79,7 @@ mml:
user: admin user: admin
password: admin password: admin
mmlHome: ./mmlhome mmlHome: ./mmlhome
upload: /home/agtuser upload: /home/manager
# NE config # NE config
ne: ne:

View File

@@ -84,7 +84,6 @@ mml:
user: admin user: admin
password: admin password: admin
mmlHome: ./mmlhome mmlHome: ./mmlhome
upload: /home/agtuser
# NE config # NE config
ne: ne:

View File

@@ -1,7 +1,7 @@
# Makefile for rest agent project # Makefile for rest agent project
PROJECT = OMC PROJECT = OMC
VERSION = 2.2405.2 VERSION = 2.2405.3
PLATFORM = amd64 PLATFORM = amd64
ARMPLATFORM = aarch64 ARMPLATFORM = aarch64
BUILDDIR = ../../build BUILDDIR = ../../build

View File

@@ -1,7 +1,7 @@
# 项目信息 # 项目信息
framework: framework:
name: "CN EMS" name: "CN EMS"
version: "2.2405.2" version: "2.2405.3"
# 应用服务配置 # 应用服务配置
server: server:

View File

@@ -20,7 +20,7 @@ func PageNumSize(pageNum, pageSize any) (int64, int64) {
// 显示记录数 // 显示记录数
size := parse.Number(pageSize) size := parse.Number(pageSize)
if size < 0 { if size < 1 {
size = 10 size = 10
} }
return num - 1, size return num - 1, size

View File

@@ -1,7 +1,7 @@
# Makefile for OMC-OMC-crontask project # Makefile for OMC-OMC-crontask project
PROJECT = OMC PROJECT = OMC
VERSION = 2.2405.2 VERSION = 2.2405.3
LIBDIR = be.ems/lib LIBDIR = be.ems/lib
BINNAME = sshsvc BINNAME = sshsvc

View File

@@ -1,5 +1,6 @@
4a_log 4a_log
alarm alarm
alarm_event
alarm_forward_log alarm_forward_log
alarm_log alarm_log
alarm_relation alarm_relation
@@ -53,6 +54,8 @@ user
user_menu user_menu
user_role user_role
cdr_event cdr_event
cdr_event_ims
cdr_event_smf
ue_event ue_event
kpi_report kpi_report
#end #end