rename severity to priority

This commit is contained in:
liugq 2022-07-12 16:35:20 +08:00
parent a7cc47ec0b
commit 62d10346cc
6 changed files with 20 additions and 22 deletions

View File

@ -25,7 +25,7 @@ type ConditionItem struct {
MinimumPeriodMatch int `json:"minimum_period_match"`
Operator string `json:"operator"`
Values []string `json:"values"`
Severity string `json:"severity"`
Priority string `json:"priority"`
Expression string `json:"expression,omitempty"`
}
@ -68,9 +68,7 @@ type ConditionResultItem struct {
RelationValues map[string]interface{} `json:"relation_values"`
}
type Severity string
var SeverityWeights = map[string]int{
var PriorityWeights = map[string]int{
"info": 1,
"low": 2,
"medium": 3,

View File

@ -55,7 +55,7 @@ func TestCreateRule( t *testing.T) {
//Conditions: Condition{
// Operator: "any",
// Items: []ConditionItem{
// { MinimumPeriodMatch: 1, Operator: "gte", Values: []string{"1"}, Severity: "error", AlertMessage: "集群健康状态为 Red"},
// { MinimumPeriodMatch: 1, Operator: "gte", Values: []string{"1"}, Priority: "error", AlertMessage: "集群健康状态为 Red"},
// },
//},
@ -71,7 +71,7 @@ func TestCreateRule( t *testing.T) {
Conditions: Condition{
Operator: "any",
Items: []ConditionItem{
{MinimumPeriodMatch: 1, Operator: "lte", Values: []string{"76"}, Severity: "error", Message: "磁盘可用率小于10%"},
{MinimumPeriodMatch: 1, Operator: "lte", Values: []string{"76"}, Priority: "error", Message: "磁盘可用率小于10%"},
},
},

View File

@ -152,7 +152,7 @@ func (h *AlertAPI) getAlertStats(w http.ResponseWriter, req *http.Request, ps ht
}
}
}
for severity, _ := range alerting.SeverityWeights {
for severity, _ := range alerting.PriorityWeights {
if _, ok := severityAlerts[severity]; !ok {
severityAlerts[severity] = 0
}

View File

@ -865,7 +865,7 @@ func getRuleMetricData( rule *alerting.Rule, filterParam *alerting.FilterParam)
// Conditions: alerting.Condition{
// Operator: "any",
// Items: []alerting.ConditionItem{
// {MinimumPeriodMatch: 5, Operator: "gte", Values: []string{"90"}, Severity: "error", AlertMessage: "cpu使用率大于90%"},
// {MinimumPeriodMatch: 5, Operator: "gte", Values: []string{"90"}, Priority: "error", AlertMessage: "cpu使用率大于90%"},
// },
// },
//

View File

@ -513,7 +513,7 @@ func (engine *Engine) CheckCondition(rule *alerting.Rule)(*alerting.ConditionRes
for idx, targetData := range targetMetricData {
if idx == 0 {
sort.Slice(rule.Conditions.Items, func(i, j int) bool {
return alerting.SeverityWeights[rule.Conditions.Items[i].Severity] > alerting.SeverityWeights[rule.Conditions.Items[j].Severity]
return alerting.PriorityWeights[rule.Conditions.Items[i].Priority] > alerting.PriorityWeights[rule.Conditions.Items[j].Priority]
})
}
LoopCondition:
@ -669,11 +669,11 @@ func (engine *Engine) Do(rule *alerting.Rule) error {
alertItem.State = alerting.AlertStateAlerting
var (
severity = conditionResults[0].ConditionItem.Severity
severity = conditionResults[0].ConditionItem.Priority
)
for _, conditionResult := range conditionResults {
if alerting.SeverityWeights[severity] < alerting.SeverityWeights[conditionResult.ConditionItem.Severity] {
severity = conditionResult.ConditionItem.Severity
if alerting.PriorityWeights[severity] < alerting.PriorityWeights[conditionResult.ConditionItem.Priority] {
severity = conditionResult.ConditionItem.Priority
}
}
paramsCtx = newParameterCtx(rule, checkResults, util.MapStr{
@ -826,9 +826,9 @@ func newParameterCtx(rule *alerting.Rule, checkResults *alerting.ConditionResult
severity string
)
if len(checkResults.ResultItems) > 0 {
severity = checkResults.ResultItems[0].ConditionItem.Severity
severity = checkResults.ResultItems[0].ConditionItem.Priority
sort.Slice(checkResults.ResultItems, func(i, j int) bool {
if alerting.SeverityWeights[checkResults.ResultItems[i].ConditionItem.Severity] > alerting.SeverityWeights[checkResults.ResultItems[j].ConditionItem.Severity] {
if alerting.PriorityWeights[checkResults.ResultItems[i].ConditionItem.Priority] > alerting.PriorityWeights[checkResults.ResultItems[j].ConditionItem.Priority] {
return true
}
return false
@ -851,7 +851,7 @@ func newParameterCtx(rule *alerting.Rule, checkResults *alerting.ConditionResult
}
conditionParams = append(conditionParams, util.MapStr{
alerting2.ParamThreshold: resultItem.ConditionItem.Values,
alerting2.Severity: resultItem.ConditionItem.Severity,
alerting2.Severity: resultItem.ConditionItem.Priority,
alerting2.ParamGroupValues: resultItem.GroupValues,
alerting2.ParamIssueTimestamp: resultItem.IssueTimestamp,
alerting2.ParamResultValue: resultItem.ResultValue,

View File

@ -65,8 +65,8 @@ func TestEngine( t *testing.T) {
Conditions: alerting.Condition{
Operator: "any",
Items: []alerting.ConditionItem{
{MinimumPeriodMatch: 1, Operator: "lte", Values: []string{"10"}, Severity: "error"},
{MinimumPeriodMatch: 1, Operator: "lte", Values: []string{"20"}, Severity: "warning"},
{MinimumPeriodMatch: 1, Operator: "lte", Values: []string{"10"}, Priority: "error"},
{MinimumPeriodMatch: 1, Operator: "lte", Values: []string{"20"}, Priority: "warning"},
},
},
@ -107,7 +107,7 @@ func TestEngine( t *testing.T) {
// t.Fatal(err)
//}
sort.Slice(rule.Conditions.Items, func(i, j int) bool {
return alerting.SeverityWeights[rule.Conditions.Items[i].Severity] > alerting.SeverityWeights[rule.Conditions.Items[j].Severity]
return alerting.PriorityWeights[rule.Conditions.Items[i].Priority] > alerting.PriorityWeights[rule.Conditions.Items[j].Priority]
})
fmt.Println(rule.Conditions.Items)
@ -152,7 +152,7 @@ func TestGeneratePercentilesAggQuery(t *testing.T) {
// Conditions: alerting.Condition{
// Operator: "any",
// Items: []alerting.ConditionItem{
// {MinimumPeriodMatch: 5, Operator: "gte", Values: []string{"90"}, Severity: "error", AlertMessage: "cpu使用率大于90%"},
// {MinimumPeriodMatch: 5, Operator: "gte", Values: []string{"90"}, Priority: "error", AlertMessage: "cpu使用率大于90%"},
// },
// },
//
@ -212,7 +212,7 @@ func TestGeneratePercentilesAggQuery(t *testing.T) {
Conditions: alerting.Condition{
Operator: "any",
Items: []alerting.ConditionItem{
{MinimumPeriodMatch: 1, Operator: "gte", Values: []string{"10"}, Severity: "warning"},
{MinimumPeriodMatch: 1, Operator: "gte", Values: []string{"10"}, Priority: "warning"},
},
},