rename severity to priority
This commit is contained in:
parent
a7cc47ec0b
commit
62d10346cc
|
@ -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,
|
||||
|
|
|
@ -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%"},
|
||||
},
|
||||
},
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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%"},
|
||||
// },
|
||||
// },
|
||||
//
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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"},
|
||||
},
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in New Issue