Skip to content

Commit

Permalink
fix(backend): dbha 支持 tendbcluster 告警分派 TencentBlueKing#7265
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangzhw8 committed Oct 10, 2024
1 parent ccc313c commit adf657a
Showing 1 changed file with 20 additions and 21 deletions.
41 changes: 20 additions & 21 deletions dbm-ui/backend/db_monitor/models/alarm.py
Original file line number Diff line number Diff line change
Expand Up @@ -421,29 +421,9 @@ def save_dispatch_group(cls, params):
@classmethod
def get_rules_by_dbtype(cls, db_type, bk_biz_id) -> List[Dict[str, Any]]:
"""根据db类型生成规则"""
conditions = []
# 仅分派平台策略
policies = MonitorPolicy.get_policies(db_type)

# 排除无效的db类型,比如cloud
if not policies:
return []
rules = []

conditions.append({"field": "alert.strategy_id", "value": policies, "method": "eq", "condition": "and"})
user_groups = [NoticeGroup.get_groups(bk_biz_id).get(db_type)]

# 业务级分派策略
if bk_biz_id != PLAT_BIZ_ID:
conditions.append({"field": "appid", "value": [str(bk_biz_id)], "method": "eq", "condition": "and"})

rules = [
{
"user_groups": user_groups,
"conditions": conditions,
**BK_MONITOR_DISPATCH_RULE_MIXIN,
}
]

# 补充 dbha 特殊策略的分派规则
if db_type in [DBType.MySQL, DBType.TenDBCluster, DBType.Redis, DBType.Sqlserver]:
policies = MonitorPolicy.get_dbha_policies()
Expand All @@ -466,6 +446,25 @@ def get_rules_by_dbtype(cls, db_type, bk_biz_id) -> List[Dict[str, Any]]:
}
)

# 仅分派平台策略
policies = MonitorPolicy.get_policies(db_type)

# 排除无效的db类型,比如cloud
if policies:
conditions = [{"field": "alert.strategy_id", "value": policies, "method": "eq", "condition": "and"}]

# 业务级分派策略
if bk_biz_id != PLAT_BIZ_ID:
conditions.append({"field": "appid", "value": [str(bk_biz_id)], "method": "eq", "condition": "and"})

rules = [
{
"user_groups": user_groups,
"conditions": conditions,
**BK_MONITOR_DISPATCH_RULE_MIXIN,
}
]

return rules

@classmethod
Expand Down

0 comments on commit adf657a

Please sign in to comment.