Merge remote-tracking branch 'origin/main' into practical-training

This commit is contained in:
TsMask
2024-06-24 17:29:52 +08:00
20 changed files with 190 additions and 104 deletions

View File

@@ -18,19 +18,34 @@ bind 0.0.0.0
port 6379 port 6379
# 安全设置 # 安全设置
protected-mode yes protected-mode yes
requirepass "" requirepass "helloearth"
# 查看主备
info replication
# 从节点只能读取数据,不能直接写入数据 # 从节点只能读取数据,不能直接写入数据
# replicaof是新版本的命令旧版本是slaveof命令
slaveof 192.168.114.114 6379 slaveof 192.168.114.114 6379
replicaof 192.168.114.114 6379
masterauth "helloearth"
# 允许从节点进行读写操作 # 允许从节点进行读写操作
replica-read-only no replica-read-only no
``` ```
## 版本发布空间 ## 一些服务器
```txt
# 版本发布空间
\\192.168.1.205\share\release\omc \\192.168.1.205\share\release\omc
# 研发git
192.168.1.120 192.168.1.120
altouser/a1t0U53r altouser/a1t0U53r
# 默认IOS镜像用户和密码
agtuser/admin123
manager/admin123
omcuser/a9tU53r
```
## 开发 ## 开发
```sh ```sh
@@ -40,7 +55,7 @@ cd ./restagent
go mod download go mod download
# 调试启动 # 调试启动
go run restagent.go -c ./restagent/etc/restconf.yaml --env local go run restagent.go -c ./etc/restconf.yaml --env local
# 打包命名 restagent # 打包命名 restagent
go build -ldflags="-s -w" -o restagent go build -ldflags="-s -w" -o restagent
@@ -53,7 +68,12 @@ go env -w GOOS=linux
go env -w GOOS=windows go env -w GOOS=windows
go build -o restagent -v -ldflags "-X 'be.ems/lib/global.Version=2.2311.8' -X 'be.ems/lib/global.BuildTime=`date`' -X 'be.ems/lib/global.GoVer=`go version`'" cd ./restagent
go build -o restagent -v -ldflags="-s -w -X 'be.ems/lib/global.Version=2.240620.1' -X 'be.ems/lib/global.BuildTime=`date`' -X 'be.ems/lib/global.GoVer=`go version`'"
go build -o crontask -v -ldflags="-s -w -X 'be.ems/lib/global.Version=2.240620.1' -X 'be.ems/lib/global.BuildTime=`date`' -X 'be.ems/lib/global.GoVer=`go version`'"
``` ```
## 安装 ## 安装

View File

@@ -73,7 +73,7 @@ mml:
port2: 5002 port2: 5002
sleep: 200 sleep: 200
deadLine: 10 deadLine: 10
sizeRow: 100 sizeRow: 600
sizeCol: 128 sizeCol: 128
bufferSize: 65535 bufferSize: 65535
user: admin user: admin

View File

@@ -493,59 +493,59 @@ type SystemState struct {
func (t *TaskFunc) TaskHandShakeToNF(uri, params, body string) { func (t *TaskFunc) TaskHandShakeToNF(uri, params, body string) {
log.Debug("TaskHandShakeToNF processing... ") log.Debug("TaskHandShakeToNF processing... ")
var nes []NeInfo // var nes []NeInfo
_, err := XormGetAllNeInfo(&nes) // _, err := XormGetAllNeInfo(&nes)
if err != nil { // if err != nil {
log.Error("Failed to get all ne info:", err) // log.Error("Failed to get all ne info:", err)
} // }
for _, ne := range nes { // for _, ne := range nes {
requestURI := fmt.Sprintf(uri, strings.ToLower(ne.NeType)) // requestURI := fmt.Sprintf(uri, strings.ToLower(ne.NeType))
if params != "" { // if params != "" {
requestURI = fmt.Sprintf("%s?%s", requestURI, params) // requestURI = fmt.Sprintf("%s?%s", requestURI, params)
} // }
requestURL := fmt.Sprintf("http://%s:%s%s", ne.Ip, ne.Port, requestURI) // requestURL := fmt.Sprintf("http://%s:%s%s", ne.Ip, ne.Port, requestURI)
log.Debug("requestURL: Get", requestURL) // log.Debug("requestURL: Get", requestURL)
client := resty.New() // client := resty.New()
response, err := client.R(). // response, err := client.R().
EnableTrace(). // EnableTrace().
SetHeaders(map[string]string{"User-Agent": GetDefaultUserAgent()}). // SetHeaders(map[string]string{"User-Agent": GetDefaultUserAgent()}).
SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}). // SetHeaders(map[string]string{"Content-Type": "application/json;charset=UTF-8"}).
Get(requestURL) // Get(requestURL)
if err != nil { // if err != nil {
log.Error("Failed to Get:", err) // log.Error("Failed to Get:", err)
} // }
log.Debug("StatusCode: ", response.StatusCode()) // log.Debug("StatusCode: ", response.StatusCode())
switch response.StatusCode() { // switch response.StatusCode() {
case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted: // case http.StatusOK, http.StatusCreated, http.StatusNoContent, http.StatusAccepted:
log.Debug("response body:", string(response.Body())) // log.Debug("response body:", string(response.Body()))
state := new(SystemState) // state := new(SystemState)
_ = json.Unmarshal(response.Body(), &state) // _ = json.Unmarshal(response.Body(), &state)
neState := new(NeState) // neState := new(NeState)
neState.NeType = ne.NeType // neState.NeType = ne.NeType
neState.NeId = ne.NeId // neState.NeId = ne.NeId
neState.Version = state.Version // neState.Version = state.Version
neState.Capability = state.Capability // neState.Capability = state.Capability
neState.SerialNum = state.SerialNum // neState.SerialNum = state.SerialNum
neState.ExpiryDate = state.ExpiryDate // neState.ExpiryDate = state.ExpiryDate
cu, _ := json.Marshal(state.CpuUsage) // cu, _ := json.Marshal(state.CpuUsage)
neState.CpuUsage = string(cu) // neState.CpuUsage = string(cu)
mu, _ := json.Marshal(state.MemUsage) // mu, _ := json.Marshal(state.MemUsage)
neState.MemUsage = string(mu) // neState.MemUsage = string(mu)
ds, _ := json.Marshal(state.DiskSpace) // ds, _ := json.Marshal(state.DiskSpace)
neState.DiskSpace = string(ds) // neState.DiskSpace = string(ds)
log.Debug("neState:", neState) // log.Debug("neState:", neState)
_, err := XormInsertNeState(neState) // _, err := XormInsertNeState(neState)
if err != nil { // if err != nil {
log.Error("Failed to insert ne_state:", err) // log.Error("Failed to insert ne_state:", err)
} // }
default: // default:
log.Debug("response body:", string(response.Body())) // log.Debug("response body:", string(response.Body()))
body := new(map[string]interface{}) // body := new(map[string]interface{})
_ = json.Unmarshal(response.Body(), &body) // _ = json.Unmarshal(response.Body(), &body)
} // }
} // }
} }
func (t *TaskFunc) TaskExportCmFromNF(uri, params, body string) { func (t *TaskFunc) TaskExportCmFromNF(uri, params, body string) {

View File

@@ -153,5 +153,9 @@ INSERT INTO `sys_dict_data` VALUES (125, 0, 'dictData.ne_version_status.0', '0',
INSERT INTO `sys_dict_data` VALUES (126, 1, 'dictData.ne_version_status.1', '1', 'ne_version_status', '', 'success', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, ''); INSERT INTO `sys_dict_data` VALUES (126, 1, 'dictData.ne_version_status.1', '1', 'ne_version_status', '', 'success', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, '');
INSERT INTO `sys_dict_data` VALUES (127, 1, 'dictData.ne_version_status.2', '2', 'ne_version_status', '', 'purple', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, ''); INSERT INTO `sys_dict_data` VALUES (127, 1, 'dictData.ne_version_status.2', '2', 'ne_version_status', '', 'purple', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, '');
INSERT INTO `sys_dict_data` VALUES (128, 1, 'dictData.ne_version_status.3', '3', 'ne_version_status', '', 'processing', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, ''); INSERT INTO `sys_dict_data` VALUES (128, 1, 'dictData.ne_version_status.3', '3', 'ne_version_status', '', 'processing', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, '');
INSERT INTO `sys_dict_data` VALUES (129, 0, 'dictData.udm_sub_cn_type.0', '0', 'udm_sub_cn_type', '', '', '1', 'supervisor', 1712720201349, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (130, 1, 'dictData.udm_sub_cn_type.1', '1', 'udm_sub_cn_type', '', '', '1', 'supervisor', 1712720201349, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (131, 2, 'dictData.udm_sub_cn_type.2', '2', 'udm_sub_cn_type', '', '', '1', 'supervisor', 1712720201349, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (132, 3, 'dictData.udm_sub_cn_type.3', '3', 'udm_sub_cn_type', '', '', '1', 'supervisor', 1712720201349, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -653,5 +653,10 @@ INSERT INTO `sys_dict_data` VALUES (2142, 2142, 'config.sys.i18nOpenRemark', '
INSERT INTO `sys_dict_data` VALUES (2143, 2143, 'menu.dashboard.mmeUE', 'MME-UE事件', 'i18n_zh', '', '', '1', 'supervisor', 1718441035866, '', 0, ''); INSERT INTO `sys_dict_data` VALUES (2143, 2143, 'menu.dashboard.mmeUE', 'MME-UE事件', 'i18n_zh', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2144, 2144, 'log.operate.title.mmeUE', 'MME-UE事件', 'i18n_zh', '', '', '1', 'supervisor', 1718441035866, '', 0, ''); INSERT INTO `sys_dict_data` VALUES (2144, 2144, 'log.operate.title.mmeUE', 'MME-UE事件', 'i18n_zh', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2145, 2145, 'menu.system.user.editPost', '修改用户岗位', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); INSERT INTO `sys_dict_data` VALUES (2145, 2145, 'menu.system.user.editPost', '修改用户岗位', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2146, 2146, 'dictType.udm_sub_cn_type', 'UDM Sub CN Type', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2147, 2147, 'dictData.udm_sub_cn_type.0', '没有5GC和EPC', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2148, 2148, 'dictData.udm_sub_cn_type.1', '5GC', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2149, 2149, 'dictData.udm_sub_cn_type.2', 'EPC', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (2150, 2150, 'dictData.udm_sub_cn_type.3', '5GC和EPC', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -652,6 +652,11 @@ INSERT INTO `sys_dict_data` VALUES (4141, 4141, 'config.sys.i18nDefaultRemark',
INSERT INTO `sys_dict_data` VALUES (4142, 4142, 'config.sys.i18nOpenRemark', 'Whether to display switched controls true/false', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); INSERT INTO `sys_dict_data` VALUES (4142, 4142, 'config.sys.i18nOpenRemark', 'Whether to display switched controls true/false', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4143, 4143, 'menu.dashboard.mmeUE', 'MME-UE Event', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, ''); INSERT INTO `sys_dict_data` VALUES (4143, 4143, 'menu.dashboard.mmeUE', 'MME-UE Event', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4144, 4144, 'log.operate.title.mmeUE', 'MME-UE Event', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, ''); INSERT INTO `sys_dict_data` VALUES (4144, 4144, 'log.operate.title.mmeUE', 'MME-UE Event', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4145, 4145, 'menu.system.user.editPost', 'Modify User Post', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); INSERT INTO `sys_dict_data` VALUES (4145, 4145, 'menu.system.user.editPost', 'Modify User Post', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4146, 4146, 'dictType.udm_sub_cn_type', 'UDM Sub CN Type', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4147, 4147, 'dictData.udm_sub_cn_type.0', 'No 5GC and EPC', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4148, 4148, 'dictData.udm_sub_cn_type.1', '5GC', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4149, 4149, 'dictData.udm_sub_cn_type.2', 'EPC', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
INSERT INTO `sys_dict_data` VALUES (4150, 4150, 'dictData.udm_sub_cn_type.3', '5GC and EPC', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -55,6 +55,7 @@ INSERT INTO `sys_dict_type` VALUES (120, 'dictType.ne_host_authMode', 'ne_host_a
INSERT INTO `sys_dict_type` VALUES (121, 'dictType.ne_host_cmd_groupId', 'ne_host_cmd_groupId', '1', 'supervisor', 1702020000000, '', 0, ''); INSERT INTO `sys_dict_type` VALUES (121, 'dictType.ne_host_cmd_groupId', 'ne_host_cmd_groupId', '1', 'supervisor', 1702020000000, '', 0, '');
INSERT INTO `sys_dict_type` VALUES (122, 'dictType.ne_info_status', 'ne_info_status', '1', 'supervisor', 1702020000000, '', 0, ''); INSERT INTO `sys_dict_type` VALUES (122, 'dictType.ne_info_status', 'ne_info_status', '1', 'supervisor', 1702020000000, '', 0, '');
INSERT INTO `sys_dict_type` VALUES (123, 'dictType.ne_license_status', 'ne_license_status', '1', 'supervisor', 1702020000000, '', 0, ''); INSERT INTO `sys_dict_type` VALUES (123, 'dictType.ne_license_status', 'ne_license_status', '1', 'supervisor', 1702020000000, '', 0, '');
INSERT INTO `sys_dict_type` VALUES (124, 'dictType.udm_sub_cn_type', 'udm_sub_cn_type', '1', 'supervisor', 1702020000000, '', 0, '');
UNLOCK TABLES; UNLOCK TABLES;

View File

@@ -153,6 +153,10 @@ INSERT IGNORE INTO `sys_dict_data` VALUES (125, 0, 'dictData.ne_version_status.0
INSERT IGNORE INTO `sys_dict_data` VALUES (126, 1, 'dictData.ne_version_status.1', '1', 'ne_version_status', '', 'success', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, ''); INSERT IGNORE INTO `sys_dict_data` VALUES (126, 1, 'dictData.ne_version_status.1', '1', 'ne_version_status', '', 'success', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, '');
INSERT IGNORE INTO `sys_dict_data` VALUES (127, 1, 'dictData.ne_version_status.2', '2', 'ne_version_status', '', 'purple', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, ''); INSERT IGNORE INTO `sys_dict_data` VALUES (127, 1, 'dictData.ne_version_status.2', '2', 'ne_version_status', '', 'purple', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, '');
INSERT IGNORE INTO `sys_dict_data` VALUES (128, 1, 'dictData.ne_version_status.3', '3', 'ne_version_status', '', 'processing', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, ''); INSERT IGNORE INTO `sys_dict_data` VALUES (128, 1, 'dictData.ne_version_status.3', '3', 'ne_version_status', '', 'processing', '1', 'supervisor', 1706620000000, 'supervisor', 1712720201349, '');
INSERT IGNORE INTO `sys_dict_data` VALUES (129, 0, 'dictData.udm_sub_cn_type.0', '0', 'udm_sub_cn_type', '', '', '1', 'supervisor', 1712720201349, '', 0, '');
INSERT IGNORE INTO `sys_dict_data` VALUES (130, 1, 'dictData.udm_sub_cn_type.1', '1', 'udm_sub_cn_type', '', '', '1', 'supervisor', 1712720201349, '', 0, '');
INSERT IGNORE INTO `sys_dict_data` VALUES (131, 2, 'dictData.udm_sub_cn_type.2', '2', 'udm_sub_cn_type', '', '', '1', 'supervisor', 1712720201349, '', 0, '');
INSERT IGNORE INTO `sys_dict_data` VALUES (132, 3, 'dictData.udm_sub_cn_type.3', '3', 'udm_sub_cn_type', '', '', '1', 'supervisor', 1712720201349, '', 0, '');
-- 指定记录条件更新 -- 指定记录条件更新

View File

@@ -660,5 +660,10 @@ REPLACE INTO `sys_dict_data` VALUES (2142, 2142, 'config.sys.i18nOpenRemark', '
REPLACE INTO `sys_dict_data` VALUES (2143, 2143, 'menu.dashboard.mmeUE', 'MME-UE事件', 'i18n_zh', '', '', '1', 'supervisor', 1718441035866, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (2143, 2143, 'menu.dashboard.mmeUE', 'MME-UE事件', 'i18n_zh', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2144, 2144, 'log.operate.title.mmeUE', 'MME-UE事件', 'i18n_zh', '', '', '1', 'supervisor', 1718441035866, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (2144, 2144, 'log.operate.title.mmeUE', 'MME-UE事件', 'i18n_zh', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2145, 2145, 'menu.system.user.editPost', '修改用户岗位', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (2145, 2145, 'menu.system.user.editPost', '修改用户岗位', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2146, 2146, 'dictType.udm_sub_cn_type', 'UDM Sub CN Type', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2147, 2147, 'dictData.udm_sub_cn_type.0', '没有5GC和EPC', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2148, 2148, 'dictData.udm_sub_cn_type.1', '5GC', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2149, 2149, 'dictData.udm_sub_cn_type.2', 'EPC', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (2150, 2150, 'dictData.udm_sub_cn_type.3', '5GC和EPC', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -654,6 +654,11 @@ REPLACE INTO `sys_dict_data` VALUES (4141, 4141, 'config.sys.i18nDefaultRemark',
REPLACE INTO `sys_dict_data` VALUES (4142, 4142, 'config.sys.i18nOpenRemark', 'Whether to display switched controls true/false', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (4142, 4142, 'config.sys.i18nOpenRemark', 'Whether to display switched controls true/false', 'i18n_en', '', '', '1', 'supervisor', 1705550000000, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4143, 4143, 'menu.dashboard.mmeUE', 'MME-UE Event', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (4143, 4143, 'menu.dashboard.mmeUE', 'MME-UE Event', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4144, 4144, 'log.operate.title.mmeUE', 'MME-UE Event', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (4144, 4144, 'log.operate.title.mmeUE', 'MME-UE Event', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4145, 4145, 'menu.system.user.editPost', 'Modify User Post', 'i18n_zh', '', '', '1', 'supervisor', 1705550000000, '', 0, ''); REPLACE INTO `sys_dict_data` VALUES (4145, 4145, 'menu.system.user.editPost', 'Modify User Post', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4146, 4146, 'dictType.udm_sub_cn_type', 'UDM Sub CN Type', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4147, 4147, 'dictData.udm_sub_cn_type.0', 'No 5GC and EPC', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4148, 4148, 'dictData.udm_sub_cn_type.1', '5GC', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4149, 4149, 'dictData.udm_sub_cn_type.2', 'EPC', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
REPLACE INTO `sys_dict_data` VALUES (4150, 4150, 'dictData.udm_sub_cn_type.3', '5GC and EPC', 'i18n_en', '', '', '1', 'supervisor', 1718441035866, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -53,5 +53,6 @@ INSERT IGNORE INTO `sys_dict_type` VALUES (120, 'dictType.ne_host_authMode', 'ne
INSERT IGNORE INTO `sys_dict_type` VALUES (121, 'dictType.ne_host_cmd_groupId', 'ne_host_cmd_groupId', '1', 'supervisor', 1702020000000, '', 0, ''); INSERT IGNORE INTO `sys_dict_type` VALUES (121, 'dictType.ne_host_cmd_groupId', 'ne_host_cmd_groupId', '1', 'supervisor', 1702020000000, '', 0, '');
INSERT IGNORE INTO `sys_dict_type` VALUES (122, 'dictType.ne_info_status', 'ne_info_status', '1', 'supervisor', 1702020000000, '', 0, ''); INSERT IGNORE INTO `sys_dict_type` VALUES (122, 'dictType.ne_info_status', 'ne_info_status', '1', 'supervisor', 1702020000000, '', 0, '');
INSERT IGNORE INTO `sys_dict_type` VALUES (123, 'dictType.ne_license_status', 'ne_license_status', '1', 'supervisor', 1702020000000, '', 0, ''); INSERT IGNORE INTO `sys_dict_type` VALUES (123, 'dictType.ne_license_status', 'ne_license_status', '1', 'supervisor', 1702020000000, '', 0, '');
INSERT IGNORE INTO `sys_dict_type` VALUES (124, 'dictType.udm_sub_cn_type', 'udm_sub_cn_type', '1', 'supervisor', 1702020000000, '', 0, '');
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -54,8 +54,8 @@ var (
var ( var (
TIME_DELAY_AFTER_WRITE time.Duration = 200 TIME_DELAY_AFTER_WRITE time.Duration = 200
TIME_DEAD_LINE time.Duration = 10 TIME_DEAD_LINE time.Duration = 10
WIN_ROW_SIZE byte = 100 WIN_ROW_SIZE int16 = 200
WIN_COL_SIZE byte = 100 WIN_COL_SIZE int16 = 120
BUFFER_SIZE int = 65535 BUFFER_SIZE int = 65535
) )
@@ -118,9 +118,15 @@ func PostMML2ToNF(w http.ResponseWriter, r *http.Request) {
// services.ResponseWithJson(w, http.StatusOK, response) // services.ResponseWithJson(w, http.StatusOK, response)
// return // return
// } // }
// 发送窗口大小设置命令 // 发送窗口大小设置命令
conn.Write([]byte{255, 251, 31}) // 发送WILL WINDOW SIZE conn.Write([]byte{255, 251, 31}) // 发送WILL WINDOW SIZE
conn.Write([]byte{255, 250, 31, 0, WIN_ROW_SIZE, 0, WIN_COL_SIZE, 255, 240}) // 发送设置 WINDOW SIZE conn.Write([]byte{
255, 250, 31,
byte(WIN_COL_SIZE >> 8), byte(WIN_COL_SIZE & 0xFF),
byte(WIN_ROW_SIZE >> 8), byte(WIN_ROW_SIZE & 0xFF),
255, 240,
}) // 发送设置 WINDOW SIZE
conn.SetDeadline(time.Now().Add(TIME_DEAD_LINE * time.Second)) conn.SetDeadline(time.Now().Add(TIME_DEAD_LINE * time.Second))
loginStr := fmt.Sprintf("%s\n%s\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password) loginStr := fmt.Sprintf("%s\n%s\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password)

View File

@@ -123,6 +123,12 @@ for ne_type in ${ne_types}; do
SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} AS SELECT * FROM kpi_report WHERE 1=0;ALTER TABLE ${TABLE_NAME} MODIFY COLUMN \`id\` int(11) NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY IF NOT EXISTS (\`id\`);" SQL="CREATE TABLE IF NOT EXISTS ${TABLE_NAME} AS SELECT * FROM kpi_report WHERE 1=0;ALTER TABLE ${TABLE_NAME} MODIFY COLUMN \`id\` int(11) NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY IF NOT EXISTS (\`id\`);"
echo -n "Create table: ${TABLE_NAME} ..." echo -n "Create table: ${TABLE_NAME} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}" mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
if [ $? = 0 ]; then
echo "done"
fi
SQL="ALTER TABLE ${TABLE_NAME} ADD INDEX IF NOT EXISTS \`idx_timestamp\`(\`created_at\`) USING BTREE, ADD INDEX IF NOT EXISTS \`idx_uid_datetime\`(\`rm_uid\`, \`date\`, \`start_time\`) USING BTREE;"
echo -n "Create index of ${TABLE_NAME} ..."
mysql -u${USER} -p${PASSWORD} -P ${PORT} -h ${HOST} --protocol tcp -D ${DBNAME} -e "${SQL}"
if [ $? = 0 ]; then if [ $? = 0 ]; then
echo "done" echo "done"
fi fi

View File

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

View File

@@ -177,8 +177,8 @@ type MMLParam struct {
Port2 int `yaml:"port2"` Port2 int `yaml:"port2"`
Sleep int64 `yaml:"sleep"` Sleep int64 `yaml:"sleep"`
DeadLine int64 `yaml:"deadLine"` DeadLine int64 `yaml:"deadLine"`
SizeRow byte `yaml:"sizeRow"` SizeRow int16 `yaml:"sizeRow"`
SizeCol byte `yaml:"sizeCol"` SizeCol int16 `yaml:"sizeCol"`
BufferSize int `yaml:"bufferSize"` BufferSize int `yaml:"bufferSize"`
User string `yaml:"user"` User string `yaml:"user"`
Password string `ymal:"password"` Password string `ymal:"password"`
@@ -226,8 +226,8 @@ func NewYamlConfig() YamlConfig {
ConnParam: "charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True", ConnParam: "charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True",
}, },
MML: MMLParam{ MML: MMLParam{
SizeRow: 100, SizeRow: 200,
SizeCol: 128, SizeCol: 120,
BufferSize: 65535, BufferSize: 65535,
}, },
Alarm: AlarmConfig{ Alarm: AlarmConfig{

View File

@@ -73,7 +73,7 @@ mml:
port2: 5002 port2: 5002
sleep: 200 sleep: 200
deadLine: 10 deadLine: 10
sizeRow: 100 sizeRow: 600
sizeCol: 128 sizeCol: 128
bufferSize: 65535 bufferSize: 65535
user: admin user: admin

View File

@@ -50,11 +50,11 @@ func (c *ConnTelnet) NewClient() (*ConnTelnet, error) {
// fmt.Fprintln(client, c.User) // fmt.Fprintln(client, c.User)
// fmt.Fprintln(client, c.Password) // fmt.Fprintln(client, c.Password)
// 需要确保接收方理解并正确处理发送窗口大小设置命令
client.Write([]byte{255, 251, 31}) // 发送窗口大小选项
client.Write([]byte{255, 250, 31, 0, 120, 0, 128, 255, 240}) // 发送窗口行和列的大小 (120 列 x 128 行)
c.Client = &client c.Client = &client
// 调整窗口大小 (120 列 x 128 行)
requestPty(c.Client, 120, 128)
// 排空连接登录的信息 // 排空连接登录的信息
c.RunCMD("") c.RunCMD("")
return c, nil return c, nil
@@ -107,15 +107,24 @@ func (c *ConnTelnet) RunCMD(cmd string) (string, error) {
} }
// NewClient 创建Telnet客户端会话对象 // NewClient 创建Telnet客户端会话对象
func (c *ConnTelnet) NewClientSession(cols, rows uint8) (*TelnetClientSession, error) { func (c *ConnTelnet) NewClientSession(cols, rows int) (*TelnetClientSession, error) {
if c.Client == nil { if c.Client == nil {
return nil, fmt.Errorf("telnet client not connected") return nil, fmt.Errorf("telnet client not connected")
} }
conn := *c.Client requestPty(c.Client, cols, rows)
// 调整窗口
conn.Write([]byte{255, 251, 31})
conn.Write([]byte{255, 250, 31, 0, cols, 0, rows, 255, 240})
return &TelnetClientSession{ return &TelnetClientSession{
Client: conn, Client: *c.Client,
}, nil }, nil
} }
// requestPty 调整终端窗口大小
func requestPty(client *net.Conn, cols, rows int) error {
if client == nil {
return fmt.Errorf("telnet client not connected")
}
conn := *client
// 需要确保接收方理解并正确处理发送窗口大小设置命令
conn.Write([]byte{255, 251, 31})
conn.Write([]byte{255, 250, 31, byte(cols >> 8), byte(cols & 0xFF), byte(rows >> 8), byte(rows & 0xFF), 255, 240})
return nil
}

View File

@@ -96,19 +96,47 @@ func (r *PerfKPIImpl) SelectKpiReport(query model.GoldKPIQuery, kpiIds []string)
params = append(params, query.RmUID) params = append(params, query.RmUID)
} }
if query.NeType != "" { if query.NeType != "" {
conditions = append(conditions, "gk.ne_type = ?") //conditions = append(conditions, "gk.ne_type = ?")
params = append(params, query.NeType) // params = append(params, query.NeType)
tableName += strings.ToLower(query.NeType) tableName += strings.ToLower(query.NeType)
} }
var dateTimeStr string = "CONCAT(gk.`date`, \" \", gk.start_time)"
var dateStr1, dateStr2, timeStr1, timeStr2 string
if query.StartTime != "" { if query.StartTime != "" {
conditions = append(conditions, dateTimeStr+" >= ?") dateStr1 = query.StartTime[:10]
params = append(params, query.StartTime) timeStr1 = query.StartTime[11:]
} }
if query.EndTime != "" { if query.EndTime != "" {
conditions = append(conditions, dateTimeStr+" <= ?") dateStr2 = query.EndTime[:10]
params = append(params, query.EndTime) timeStr2 = query.EndTime[11:]
} }
if dateStr1 == dateStr2 && dateStr1 != "" {
conditions = append(conditions, "gk.`date` = ?")
params = append(params, dateStr1)
conditions = append(conditions, "gk.`start_time` >= ?")
params = append(params, timeStr1)
conditions = append(conditions, "gk.`start_time` <= ?")
params = append(params, timeStr2)
} else {
if dateStr1 != "" {
conditions = append(conditions, "(gk.`date` > ? OR (gk.`date` = ? AND gk.`start_time` >= ?))")
params = append(params, dateStr1, dateStr1, timeStr1)
}
if dateStr2 != "" {
conditions = append(conditions, "(gk.`date` < ? OR (gk.`date` = ? AND gk.`start_time` <= ?))")
params = append(params, dateStr2, dateStr2, timeStr2)
}
}
// var dateTimeStr string = "CONCAT(gk.`date`, \" \", gk.start_time)"
// if query.StartTime != "" {
// conditions = append(conditions, dateTimeStr+" >= ?")
// params = append(params, query.StartTime)
// }
// if query.EndTime != "" {
// conditions = append(conditions, dateTimeStr+" <= ?")
// params = append(params, query.EndTime)
// }
// 构建查询条件语句 // 构建查询条件语句
whereSql := "" whereSql := ""
if len(conditions) > 0 { if len(conditions) > 0 {
@@ -116,6 +144,7 @@ func (r *PerfKPIImpl) SelectKpiReport(query model.GoldKPIQuery, kpiIds []string)
} }
// 查询字段列 // 查询字段列
var dateTimeStr string = "CONCAT(gk.`date`, \" \", gk.start_time)"
timeFormat := "DATE_FORMAT(" + dateTimeStr + ", '%Y-%m-%d %H:%i:')" timeFormat := "DATE_FORMAT(" + dateTimeStr + ", '%Y-%m-%d %H:%i:')"
secondGroup := fmt.Sprintf("LPAD(FLOOR(SECOND(gk.start_time) / %d) * %d, 2, '0')", query.Interval, query.Interval) secondGroup := fmt.Sprintf("LPAD(FLOOR(SECOND(gk.start_time) / %d) * %d, 2, '0')", query.Interval, query.Interval)
groupByField := fmt.Sprintf("CONCAT( %s, %s ) AS timeGroup", timeFormat, secondGroup) groupByField := fmt.Sprintf("CONCAT( %s, %s ) AS timeGroup", timeFormat, secondGroup)

View File

@@ -198,7 +198,7 @@ func (s *NeLicenseController) State(c *gin.Context) {
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo"))) c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
return return
} }
if neState, err := neService.NeState(neInfo); err == nil { if neState, err := neService.NeState(neInfo); err == nil && neState["sn"] != nil {
neLicense.Status = "1" neLicense.Status = "1"
neLicense.SerialNum = fmt.Sprint(neState["sn"]) neLicense.SerialNum = fmt.Sprint(neState["sn"])
neLicense.ExpiryDate = fmt.Sprint(neState["expire"]) neLicense.ExpiryDate = fmt.Sprint(neState["expire"])

View File

@@ -257,18 +257,18 @@ func (s *WSController) Telnet(c *gin.Context) {
defer client.Close() defer client.Close()
// 终端单行字符数 // 终端单行字符数
cols, err := strconv.Atoi(c.Query("cols")) cols, err := strconv.Atoi(c.DefaultQuery("cols", "120"))
if err != nil || cols > 254 { if err != nil {
cols = 120 cols = 120
} }
// 终端显示行数 // 终端显示行数
rows, err := strconv.Atoi(c.Query("rows")) rows, err := strconv.Atoi(c.DefaultQuery("rows", "128"))
if err != nil || cols > rows { if err != nil {
rows = 128 rows = 128
} }
// 创建Telnet客户端会话 // 创建Telnet客户端会话
clientSession, err := client.NewClientSession(uint8(cols), uint8(rows)) clientSession, err := client.NewClientSession(cols, rows)
if err != nil { if err != nil {
// 连接主机失败,请检查连接参数后重试 // 连接主机失败,请检查连接参数后重试
c.JSON(200, result.ErrMsg(i18n.TKey(language, "neHost.errByHostInfo"))) c.JSON(200, result.ErrMsg(i18n.TKey(language, "neHost.errByHostInfo")))