@ -63,8 +63,12 @@ func (srv PrometheusSrv) RouteGetRuleStatuses(c *models.ReqContext) response.Res
return response . JSON ( http . StatusInternalServerError , ruleResponse )
return response . JSON ( http . StatusInternalServerError , ruleResponse )
}
}
for _ , groupId := range ruleGroupQuery . Result {
for _ , r := range ruleGroupQuery . Result {
alertRuleQuery := ngmodels . ListRuleGroupAlertRulesQuery { OrgID : c . SignedInUser . OrgId , RuleGroup : groupId }
if len ( r ) < 3 {
continue
}
groupId , namespaceUID , namespace := r [ 0 ] , r [ 1 ] , r [ 2 ]
alertRuleQuery := ngmodels . ListRuleGroupAlertRulesQuery { OrgID : c . SignedInUser . OrgId , NamespaceUID : namespaceUID , RuleGroup : groupId }
if err := srv . store . GetRuleGroupAlertRules ( & alertRuleQuery ) ; err != nil {
if err := srv . store . GetRuleGroupAlertRules ( & alertRuleQuery ) ; err != nil {
ruleResponse . DiscoveryBase . Status = "error"
ruleResponse . DiscoveryBase . Status = "error"
ruleResponse . DiscoveryBase . Error = fmt . Sprintf ( "failure getting rules for group %s: %s" , groupId , err . Error ( ) )
ruleResponse . DiscoveryBase . Error = fmt . Sprintf ( "failure getting rules for group %s: %s" , groupId , err . Error ( ) )
@ -73,8 +77,10 @@ func (srv PrometheusSrv) RouteGetRuleStatuses(c *models.ReqContext) response.Res
}
}
newGroup := & apimodels . RuleGroup {
newGroup := & apimodels . RuleGroup {
Name : groupId ,
Name : groupId ,
File : "" , // This doesn't make sense in our architecture but would be a good use case for provisioned alerts.
// This doesn't make sense in our architecture
// so we use this field for passing to the frontend the namaspace
File : namespace ,
LastEvaluation : time . Time { } ,
LastEvaluation : time . Time { } ,
EvaluationTime : 0 , // TODO: see if we are able to pass this along with evaluation results
EvaluationTime : 0 , // TODO: see if we are able to pass this along with evaluation results
}
}