Defaults for alert collection rules (#8474)

Better error message if rule with same name exists.
This commit is contained in:
Tony Murray 2018-03-28 22:11:57 -05:00 committed by GitHub
parent d91fe84fc3
commit fb701bc1b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 5 deletions

View File

@ -123,7 +123,11 @@ if (is_numeric($rule_id) && $rule_id > 0) {
if ($rule_id) {
$message = "Added Rule: <i>$name</i>";
} else {
$message = 'Failed to add Rule: <i>' . $name . '</i>';
if (dbFetchCell('SELECT 1 FROM alert_rules WHERE name=?', [$name])) {
$message = "Rule named <i>$name</i> already exists";
} else {
$message = "Failed to add Rule: <i>$name</i>";
}
$status = 'error';
}
}

View File

@ -38,12 +38,21 @@ $template_id = $vars['template_id'];
if (is_numeric($template_id)) {
$rules = get_rules_from_json();
$rule = $rules[$template_id];
$default_extra = [
'mute' => false,
'count' => '-1',
'delay' => 60,
'invert' => false,
'interval' => 300,
'recovery' => true,
];
$output = [
'status' => 'ok',
'name' => $rules[$template_id]['name'],
'builder' => QueryBuilderParser::fromOld($rules[$template_id]['rule'])->toArray(),
'extra' => $rules[$template_id]['extra']
'name' => $rule['name'],
'builder' => $rule['builder'] ?: QueryBuilderParser::fromOld($rule['rule'])->toArray(),
'extra' => array_replace($default_extra, (array)$rule['extra']),
'severity' => $rule['severity'] ?: 'critical'
];
} else {
$output = [