Skip to content

Automated cherry pick of #3093: New menu #3095

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .erda/migrations/msp/20211117-menu.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
UPDATE `tb_tmc_ini` SET `ini_value` = '[{"key":"Overview","cnName":"全局拓扑","enName":"Overview","exists":true,"mustExists":true},{"key":"MonitorCenter","cnName":"监控中心","enName":"MonitorCenter","children":[{"key":"ServiceMonitor","cnName":"服务监控","enName":"ServiceMonitor","mustExists":true,"exists":true},{"key":"FrontMonitor","cnName":"前端监控","enName":"FrontMonitor","onlyK8S":true,"onlyNotK8S":false,"exists":false},{"key":"ActiveMonitor","cnName":"主动监控","enName":"ActiveMonitor","onlyK8S":true,"onlyNotK8S":false,"exists":false}],"exists":true,"mustExists":true},{"key":"AlertCenter","cnName":"告警中心","enName":"AlertCenter","children":[{"key":"AlertStrategy","cnName":"告警策略","enName":"AlertStrategy","exists":true,"mustExists":true},{"key":"AlarmHistory","cnName":"告警历史","enName":"AlarmHistory","exists":true,"mustExists":true},{"key":"RuleManagement","cnName":"规则管理","enName":"RuleManagement","exists":true,"mustExists":true},{"key":"NotifyGroupManagement","cnName":"通知组管理","enName":"NotifyGroupManagement","exists":true,"mustExists":true}],"exists":true,"mustExists":true},{"key":"DiagnoseAnalyzer","cnName":"诊断分析","enName":"DiagnoseAnalyzer","children":[{"key":"Tracing","cnName":"链路追踪","enName":"Tracing","exists":true,"mustExists":true},{"key":"LogAnalyze","cnName":"日志分析","enName":"LogAnalyze","exists":true,"mustExists":true,"onlyK8S":true,"onlyNotK8S":false},{"key":"ErrorInsight","cnName":"错误分析","enName":"ErrorInsight","exists":true,"mustExists":true},{"key":"Dashboard","cnName":"自定义大盘","enName":"Dashboard","exists":true,"mustExists":true}],"exists":true,"mustExists":true},{"key":"ServiceManage","cnName":"服务治理","enName":"ServiceManage","children":[{"key":"APIGateway","cnName":"API网关","enName":"APIGateway","exists":true,"mustExists":true},{"key":"RegisterCenter","cnName":"注册中心","enName":"RegisterCenter","exists":true,"mustExists":true},{"key":"ConfigCenter","cnName":"配置中心","enName":"ConfigCenter","exists":true,"mustExists":true}],"exists":true,"mustExists":true},{"key":"EnvironmentSet","cnName":"环境设置","enName":"EnvironmentSet","children":[{"key":"AccessConfig","cnName":"接入配置","enName":"AccessConfig","onlyK8S":true,"onlyNotK8S":true,"exists":true},{"key":"MemberManagement","cnName":"成员管理","enName":"MemberManagement","onlyK8S":true,"onlyNotK8S":true,"exists":true},{"key":"ComponentInfo","cnName":"组件信息","enName":"ComponentInfo","onlyK8S":true,"onlyNotK8S":false,"exists":false}],"exists":true,"mustExists":true}]' WHERE `ini_name` = 'MS_MENU';
UPDATE `tb_tmc_ini` SET `ini_value` = 'MonitorCenter' WHERE `ini_name` = 'MK_monitor';
42 changes: 30 additions & 12 deletions modules/msp/menu/menu.service.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,19 @@ type menuService struct {
}

var NotExist = map[string]bool{
"LogAnalyze": true,
"APIGateway": true,
"RegisterCenter": true,
"ConfigCenter": true,
"AlarmManagement": true,
//"LogAnalyze": true,
//"APIGateway": true,
//"RegisterCenter": true,
//"ConfigCenter": true,
//"AlarmManagement": true,
"AlertCenter": true,
"ServiceManage": true,
}

var DopMenu = map[string]bool{
"MonitorCenter": true,
"ServiceManage": true,
"EnvironmentSet": true,
}

type componentInfo struct {
Expand All @@ -52,8 +60,8 @@ type componentInfo struct {
}

var ComponentInfo = map[string]*componentInfo{
"AppMonitor": {
enName: "AppMonitor",
"MonitorCenter": {
enName: "MonitorCenter",
cnName: "应用监控",
},
"LogAnalyze": {
Expand All @@ -78,6 +86,7 @@ var splitEDAS = strings.ToLower(os.Getenv("SPLIT_EDAS_CLUSTER_TYPE")) == "true"

//GetMenu api
func (s *menuService) GetMenu(ctx context.Context, req *pb.GetMenuRequest) (*pb.GetMenuResponse, error) {
//监控中心保留服务监控,诊断分析保留链路追踪、错误分析
// get menu items
items, err := s.getMenuItems()
if err != nil {
Expand Down Expand Up @@ -117,7 +126,7 @@ func (s *menuService) GetMenu(ctx context.Context, req *pb.GetMenuRequest) (*pb.
menuMap := make(map[string]*pb.MenuItem)
for _, item := range items {
isK8s := clusterInfo.IsK8S() || (!splitEDAS && clusterInfo.IsEDAS())
if item.EnName == "EnvironmentSet" {
if DopMenu[item.Key] {
for _, child := range item.Children {
child.Params = item.Params
// 反转exists字段,隐藏引导页,显示功能子菜单
Expand All @@ -139,6 +148,7 @@ func (s *menuService) GetMenu(ctx context.Context, req *pb.GetMenuRequest) (*pb.
if len(child.Href) > 0 {
child.Href = s.version + child.Href
}
menuMap[child.Key] = child
}
menuMap[item.Key] = item
}
Expand Down Expand Up @@ -173,6 +183,9 @@ func (s *menuService) GetMenu(ctx context.Context, req *pb.GetMenuRequest) (*pb.
item.Params[k] = fmt.Sprint(v)
}
}
if engine != "monitor" {
item.Params["_enabled"] = "true"
}

// setup exists
isK8s := clusterInfo.IsK8S() || (!splitEDAS && clusterInfo.IsEDAS())
Expand Down Expand Up @@ -325,18 +338,23 @@ func (s *menuService) adjustMenuParams(items []*pb.MenuItem) []*pb.MenuItem {
var monitor, loghub *pb.MenuItem
setParams := make([]*pb.MenuItem, 0)
for _, item := range items {
switch item.Key {
case "EnvironmentalOverview", "AlarmManagement", "QueryAnalysis":
if item.Params == nil {
setParams = append(setParams, item)
case "AppMonitor":
}
switch item.Key {
case "MonitorCenter":
monitor = item
case "LogAnalyze":
case "DiagnoseAnalyzer":
loghub = item
}
}
if monitor != nil {
for _, item := range setParams {
item.Params = monitor.Params
for _, child := range item.Children {
if child.Params != nil {
continue
}
child.Params = monitor.Params
}
}
Expand Down
2 changes: 1 addition & 1 deletion modules/msp/menu/menu.service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ func Test_menuService_GetMenu(t *testing.T) {
ID: 13,
IniName: "MS_MENU",
IniDesc: "微服务治理菜单列表",
IniValue: "[{\"key\":\"EnvironmentalOverview\",\"cnName\":\"环境总览\",\"enName\":\"MicroService\",\"children\":[{\"key\":\"Overview\",\"cnName\":\"全局拓扑\",\"enName\":\"Overview\",\"exists\":true,\"mustExists\":true},{\"key\":\"ServiceList\",\"cnName\":\"服务列表\",\"enName\":\"ServiceList\",\"exists\":true,\"mustExists\":true}],\"exists\":true,\"mustExists\":true},{\"key\":\"ServiceObservation\",\"cnName\":\"服务观测\",\"enName\":\"ServiceObservation\",\"children\":[{\"key\":\"ServiceAnalysis\",\"cnName\":\"服务分析\",\"enName\":\"ServiceAnalysis\",\"exists\":true},{\"key\":\"ErrorInsight\",\"cnName\":\"错误分析\",\"enName\":\"ErrorInsight\",\"exists\":true},{\"key\":\"Transaction\",\"cnName\":\"链路追踪\",\"enName\":\"Transaction\",\"exists\":true}],\"exists\":true,\"mustExists\":true},{\"key\":\"QueryAnalysis\",\"cnName\":\"查询分析\",\"enName\":\"QueryAnalysis\",\"exists\":true,\"children\":[{\"cnName\":\"仪表盘\",\"enName\":\"Dashboard\",\"key\":\"Dashboard\",\"exists\":true},{\"cnName\":\"快速查询\",\"enName\":\"QuickQuery\",\"key\":\"QuickQuery\",\"exists\":true}]},{\"key\":\"LogAnalyze\",\"cnName\":\"日志分析\",\"enName\":\"LogAnalyze\",\"exists\":true,\"children\":[{\"cnName\":\"日志查询\",\"enName\":\"LogQuery\",\"key\":\"LogQuery\",\"exists\":false},{\"cnName\":\"分析规则\",\"enName\":\"AnalyzeRule\",\"key\":\"AnalyzeRule\",\"exists\":false}]},{\"key\":\"APIGateway\",\"cnName\":\"API网关\",\"enName\":\"APIGateway\",\"children\":[{\"key\":\"GatewayIntro\",\"cnName\":\"使用引导\",\"enName\":\"GatewayIntro\",\"href\":\"/manual/microservice/api-gateway.html\",\"exists\":true},{\"key\":\"Endpoints\",\"cnName\":\"流量入口管理\",\"enName\":\"Endpoints\",\"exists\":false,\"onlyK8S\":true},{\"key\":\"APIs\",\"cnName\":\"微服务API管理\",\"enName\":\"APIs\",\"exists\":false},{\"key\":\"ConsumerACL\",\"cnName\":\"调用方管理\",\"enName\":\"ConsumerACL\",\"exists\":false,\"onlyK8S\":true},{\"key\":\"OldPolicies\",\"cnName\":\"API策略\",\"enName\":\"Policies\",\"exists\":false,\"onlyNotK8S\":true},{\"key\":\"OldConsumerACL\",\"cnName\":\"调用者授权\",\"enName\":\"ConsumerACL\",\"exists\":false,\"onlyNotK8S\":true}],\"exists\":true,\"mustExists\":true},{\"key\":\"RegisterCenter\",\"cnName\":\"注册中心\",\"enName\":\"RegisterCenter\",\"children\":[{\"key\":\"RegisterIntro\",\"cnName\":\"使用引导\",\"enName\":\"RegisterIntro\",\"href\":\"/manual/microservice/dubbo.html\",\"exists\":true},{\"key\":\"Services\",\"cnName\":\"服务注册列表\",\"enName\":\"Services\",\"exists\":false}],\"exists\":true,\"mustExists\":true},{\"key\":\"ConfigCenter\",\"cnName\":\"配置中心\",\"enName\":\"ConfigCenter\",\"children\":[{\"key\":\"ConfigIntro\",\"cnName\":\"使用引导\",\"href\":\"/manual/deploy/config-center.html\",\"enName\":\"ConfigIntro\",\"exists\":true},{\"key\":\"Configs\",\"cnName\":\"配置管理\",\"enName\":\"Configs\",\"exists\":false}],\"exists\":true,\"mustExists\":true},{\"key\":\"AlarmManagement\",\"cnName\":\"告警管理\",\"enName\":\"AlarmManagement\",\"children\":[{\"key\":\"AlertStrategy\",\"cnName\":\"告警策略\",\"enName\":\"AlertStrategy\",\"exists\":false},{\"key\":\"AlarmHistory\",\"cnName\":\"告警历史\",\"enName\":\"AlarmHistory\",\"exists\":false},{\"key\":\"RuleManagement\",\"cnName\":\"规则管理\",\"enName\":\"RuleManagement\",\"exists\":false},{\"key\":\"NotifyGroupManagement\",\"cnName\":\"通知组管理\",\"enName\":\"NotifyGroupManagement\",\"exists\":false}],\"exists\":true,\"mustExists\":true},{\"key\":\"EnvironmentSet\",\"cnName\":\"环境设置\",\"enName\":\"EnvironmentSet\",\"children\":[{\"key\":\"AccessConfig\",\"cnName\":\"接入配置\",\"enName\":\"AccessConfig\",\"onlyK8S\":true,\"onlyNotK8S\":true,\"exists\":false},{\"key\":\"MemberManagement\",\"cnName\":\"成员管理\",\"enName\":\"MemberManagement\",\"onlyK8S\":true,\"onlyNotK8S\":true,\"exists\":false},{\"key\":\"ComponentInfo\",\"cnName\":\"组件信息\",\"enName\":\"ComponentInfo\",\"onlyK8S\":true,\"onlyNotK8S\":false,\"exists\":false}],\"exists\":true,\"mustExists\":true}]",
IniValue: "[{\"key\":\"Overview\",\"cnName\":\"全局拓扑\",\"enName\":\"Overview\",\"exists\":true,\"mustExists\":true},{\"key\":\"MonitorCenter\",\"cnName\":\"监控中心\",\"enName\":\"MonitorCenter\",\"children\":[{\"key\":\"ServiceMonitor\",\"cnName\":\"服务监控\",\"enName\":\"ServiceMonitor\",\"mustExists\":true,\"exists\":true},{\"key\":\"FrontMonitor\",\"cnName\":\"前端监控\",\"enName\":\"FrontMonitor\",\"onlyK8S\":true,\"onlyNotK8S\":false,\"exists\":false},{\"key\":\"ActiveMonitor\",\"cnName\":\"主动监控\",\"enName\":\"ActiveMonitor\",\"onlyK8S\":true,\"onlyNotK8S\":false,\"exists\":false}],\"exists\":true,\"mustExists\":true},{\"key\":\"AlertCenter\",\"cnName\":\"告警中心\",\"enName\":\"AlertCenter\",\"children\":[{\"key\":\"AlertStrategy\",\"cnName\":\"告警策略\",\"enName\":\"AlertStrategy\",\"exists\":true,\"mustExists\":true},{\"key\":\"AlarmHistory\",\"cnName\":\"告警历史\",\"enName\":\"AlarmHistory\",\"exists\":true,\"mustExists\":true},{\"key\":\"RuleManagement\",\"cnName\":\"规则管理\",\"enName\":\"RuleManagement\",\"exists\":true,\"mustExists\":true},{\"key\":\"NotifyGroupManagement\",\"cnName\":\"通知组管理\",\"enName\":\"NotifyGroupManagement\",\"exists\":true,\"mustExists\":true}],\"exists\":true,\"mustExists\":true},{\"key\":\"DiagnoseAnalyzer\",\"cnName\":\"诊断分析\",\"enName\":\"DiagnoseAnalyzer\",\"children\":[{\"key\":\"Tracing\",\"cnName\":\"链路追踪\",\"enName\":\"Tracing\",\"exists\":true,\"mustExists\":true},{\"key\":\"LogAnalyze\",\"cnName\":\"日志分析\",\"enName\":\"LogAnalyze\",\"exists\":true,\"mustExists\":true,\"onlyK8S\":true,\"onlyNotK8S\":false},{\"key\":\"ErrorInsight\",\"cnName\":\"错误分析\",\"enName\":\"ErrorInsight\",\"exists\":true,\"mustExists\":true},{\"key\":\"Dashboard\",\"cnName\":\"自定义大盘\",\"enName\":\"Dashboard\",\"exists\":true,\"mustExists\":true}],\"exists\":true,\"mustExists\":true},{\"key\":\"ServiceManage\",\"cnName\":\"服务治理\",\"enName\":\"ServiceManage\",\"children\":[{\"key\":\"APIGateway\",\"cnName\":\"API网关\",\"enName\":\"APIGateway\",\"exists\":true,\"mustExists\":true},{\"key\":\"RegisterCenter\",\"cnName\":\"注册中心\",\"enName\":\"RegisterCenter\",\"exists\":true,\"mustExists\":true},{\"key\":\"ConfigCenter\",\"cnName\":\"配置中心\",\"enName\":\"ConfigCenter\",\"exists\":true,\"mustExists\":true}],\"exists\":true,\"mustExists\":true},{\"key\":\"EnvironmentSet\",\"cnName\":\"环境设置\",\"enName\":\"EnvironmentSet\",\"children\":[{\"key\":\"AccessConfig\",\"cnName\":\"接入配置\",\"enName\":\"AccessConfig\",\"onlyK8S\":true,\"onlyNotK8S\":true,\"exists\":true},{\"key\":\"MemberManagement\",\"cnName\":\"成员管理\",\"enName\":\"MemberManagement\",\"onlyK8S\":true,\"onlyNotK8S\":true,\"exists\":true},{\"key\":\"ComponentInfo\",\"cnName\":\"组件信息\",\"enName\":\"ComponentInfo\",\"onlyK8S\":true,\"onlyNotK8S\":false,\"exists\":false}],\"exists\":true,\"mustExists\":true}]",
CreateTime: time.Now(),
UpdateTime: time.Now(),
IsDeleted: "N",
Expand Down