mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 02:37:24 +08:00
fix(monitor): meter alert panic (#23920)
This commit is contained in:
@@ -413,9 +413,18 @@ func (oc *OneCloudNotifier) newMeterRemoteMobileContent(config *monitor.Notifica
|
||||
typ = "预算"
|
||||
config.Title = MOBILE_DEFAULT_TOPIC_CN
|
||||
}
|
||||
customizeConfig := new(monitor.MeterCustomizeConfig)
|
||||
evalCtx.Rule.CustomizeConfig.Unmarshal(customizeConfig)
|
||||
return mobileContent(customizeConfig.Name, typ)
|
||||
var name string
|
||||
if evalCtx.Rule.CustomizeConfig != nil {
|
||||
customizeConfig := new(monitor.MeterCustomizeConfig)
|
||||
if err := evalCtx.Rule.CustomizeConfig.Unmarshal(customizeConfig); err == nil {
|
||||
name = customizeConfig.Name
|
||||
}
|
||||
}
|
||||
// 兼容旧数据:如果 CustomizeConfig 为 nil 或解析失败,使用 Rule.Name 作为后备值
|
||||
if name == "" {
|
||||
name = evalCtx.Rule.Name
|
||||
}
|
||||
return mobileContent(name, typ)
|
||||
}
|
||||
|
||||
func GetUserLangIdsMap(ids []string) (map[string][]string, error) {
|
||||
|
||||
@@ -202,10 +202,14 @@ func (f *sMeterDailyFee) ToAlertCreateInput(
|
||||
level string,
|
||||
) monitor.AlertCreateInput {
|
||||
freq, _ := time.ParseDuration(input.Window)
|
||||
customizeConfig := monitor.MeterCustomizeConfig{
|
||||
Name: f.GetName(),
|
||||
}
|
||||
ret := monitor.AlertCreateInput{
|
||||
Name: f.GetName(),
|
||||
Level: level,
|
||||
Frequency: int64(freq / time.Second),
|
||||
Name: f.GetName(),
|
||||
Level: level,
|
||||
Frequency: int64(freq / time.Second),
|
||||
CustomizeConfig: jsonutils.Marshal(customizeConfig),
|
||||
Settings: GetMeterAlertSetting(input,
|
||||
"account_daily_resfee",
|
||||
"meter_db", allAccountIds, "sumDate"),
|
||||
@@ -233,10 +237,14 @@ func (f *sMeterMonthFee) ToAlertCreateInput(
|
||||
level string,
|
||||
) monitor.AlertCreateInput {
|
||||
freq, _ := time.ParseDuration(input.Window)
|
||||
customizeConfig := monitor.MeterCustomizeConfig{
|
||||
Name: f.GetName(),
|
||||
}
|
||||
ret := monitor.AlertCreateInput{
|
||||
Name: f.GetName(),
|
||||
Level: level,
|
||||
Frequency: int64(freq / time.Second),
|
||||
Name: f.GetName(),
|
||||
Level: level,
|
||||
Frequency: int64(freq / time.Second),
|
||||
CustomizeConfig: jsonutils.Marshal(customizeConfig),
|
||||
Settings: GetMeterAlertSetting(input,
|
||||
"account_month_resfee",
|
||||
"meter_db", allAccountIds, "sumMonth"),
|
||||
|
||||
Reference in New Issue
Block a user