parsedRule.Labels[labels.AlertAdditionalInfoLabel]=fmt.Sprintf("The rule threshold is set to %.4f, and the observed metric value is {{$value}}.",*parsedRule.RuleCondition.Target)
parsedRule.Annotations[labels.AlertSummaryLabel]=fmt.Sprintf("The rule threshold is set to %.4f, and the observed metric value is {{$value}}.",*parsedRule.RuleCondition.Target)
parsedRule.Labels[labels.RuleSourceLabel]=""
parsedRule.Labels[labels.AlertRuleIdLabel]=""
// create a threshold rule
rule,err=NewThresholdRule(
alertname,
parsedRule,
ThresholdRuleOpts{
SendUnmatched:true,
SendAlways:true,
},
)
iferr!=nil{
zap.S().Errorf("msg: failed to prepare a new threshold rule for test:","\t error: ",err)
return0,newApiErrorBadData(err)
}
}elseifparsedRule.RuleType==RuleTypeProm{
// create promql rule
rule,err=NewPromRule(
alertname,
parsedRule,
log.With(m.logger,"alert",alertname),
PromRuleOpts{
SendAlways:true,
},
)
iferr!=nil{
zap.S().Errorf("msg: failed to prepare a new promql rule for test:","\t error: ",err)
return0,newApiErrorBadData(err)
}
}else{
return0,newApiErrorBadData(fmt.Errorf("failed to derive ruletype with given information"))