Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
so-operation-api
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
smart-operation
so-operation-api
Commits
7b70817d
Commit
7b70817d
authored
Jul 21, 2023
by
李科
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 预警规则编辑逻辑
parent
e4dc193a
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
27 deletions
+31
-27
src/service/alert_rules.go
src/service/alert_rules.go
+26
-25
src/service/k8s/prometheusrule_test.go
src/service/k8s/prometheusrule_test.go
+1
-1
src/service/prometheusrule.go
src/service/prometheusrule.go
+4
-1
No files found.
src/service/alert_rules.go
View file @
7b70817d
...
...
@@ -94,17 +94,7 @@ func (a *AlertRulesSvc) Add(req request.AddAlertRules) (err error) {
}
}
var
item
response
.
AlertRulesItem
item
,
err
=
a
.
GetDataById
(
request
.
DetailAlertRules
{
Id
:
data
.
Id
})
// 查询完整数据
prSvc
:=
PrometheusRuleSvc
{
User
:
a
.
User
}
// 插入数据到 prometheus.yml --> rule_files
createErr
:=
prSvc
.
Create
(
item
)
if
createErr
!=
nil
{
_
,
err
=
db
.
Delete
(
&
data
)
if
err
!=
nil
{
return
err
}
return
createErr
}
err
=
a
.
CreatePrometheusRule
(
req
.
IsEnabled
,
data
.
Id
,
db
)
return
nil
}
...
...
@@ -185,28 +175,40 @@ func (a *AlertRulesSvc) Update(req request.UpdateAlertRules) (err error) {
}
}
var
item
response
.
AlertRulesItem
item
,
err
=
a
.
GetDataById
(
request
.
DetailAlertRules
{
Id
:
data
.
Id
})
prSvc
:=
PrometheusRuleSvc
{
User
:
a
.
User
}
err
=
a
.
CreatePrometheusRule
(
req
.
IsEnabled
,
data
.
Id
,
db
)
return
nil
}
{
// 删除PrometheusRule
deleteErr
:=
prSvc
.
Delete
(
item
)
if
deleteErr
!=
nil
{
return
deleteErr
func
(
a
*
AlertRulesSvc
)
CreatePrometheusRule
(
isEnabled
int
,
id
string
,
db
*
xorm
.
Engine
)
(
err
error
)
{
if
isEnabled
==
1
{
var
item
response
.
AlertRulesItem
item
,
err
=
a
.
GetDataById
(
request
.
DetailAlertRules
{
Id
:
id
})
// 查询完整数据
if
err
!=
nil
{
return
}
prSvc
:=
PrometheusRuleSvc
{
User
:
a
.
User
}
_
,
exist
,
_
:=
prSvc
.
Get
(
item
)
if
exist
{
deleteErr
:=
prSvc
.
Delete
(
item
)
if
deleteErr
!=
nil
{
_
,
err
=
db
.
ID
(
id
)
.
Delete
(
&
entity
.
AlertRules
{})
if
err
!=
nil
{
return
}
return
deleteErr
}
}
// 再次创建PrometheusRule
createErr
:=
prSvc
.
Create
(
item
)
if
createErr
!=
nil
{
_
,
err
=
db
.
Delete
(
&
data
)
_
,
err
=
db
.
ID
(
id
)
.
Delete
(
&
entity
.
AlertRules
{}
)
if
err
!=
nil
{
return
err
return
}
return
createErr
}
}
return
nil
return
}
func
(
a
*
AlertRulesSvc
)
UpdateIsEnabled
(
req
request
.
UpdateIsEnabledAlertRules
)
(
err
error
)
{
...
...
@@ -228,7 +230,6 @@ func (a *AlertRulesSvc) UpdateIsEnabled(req request.UpdateIsEnabledAlertRules) (
if
err
!=
nil
{
return
}
if
req
.
IsEnabled
==
2
{
if
item
.
IsEnabled
==
1
{
prSvc
:=
PrometheusRuleSvc
{
User
:
a
.
User
}
...
...
src/service/k8s/prometheusrule_test.go
View file @
7b70817d
...
...
@@ -24,7 +24,7 @@ func init() {
svc
=
PrometheusRule
{
Header
:
header
}
pr
=
monitoringv1
.
PrometheusRule
{}
alertRulesId
:=
"
83343ef6-4a99-47bd-abb4-bcff52feb2ec
"
// 预警规则id
alertRulesId
:=
"
45a50875-20fd-4d93-a7d5-c6790186ad97
"
// 预警规则id
prometheusRuleName
:=
GetPrometheusRuleName
(
alertRulesId
)
pr
.
Name
=
prometheusRuleName
pr
.
Namespace
=
"beagle-monitoring"
...
...
src/service/prometheusrule.go
View file @
7b70817d
...
...
@@ -90,7 +90,7 @@ func (p *PrometheusRuleSvc) Create(data response.AlertRulesItem) (err error) {
return
}
func
(
p
*
PrometheusRuleSvc
)
Get
(
data
response
.
AlertRulesItem
)
(
obj
*
monitoringv1
.
PrometheusRule
,
err
error
)
{
func
(
p
*
PrometheusRuleSvc
)
Get
(
data
response
.
AlertRulesItem
)
(
obj
*
monitoringv1
.
PrometheusRule
,
e
xist
bool
,
e
rr
error
)
{
prometheusRuleName
:=
k8s
.
GetPrometheusRuleName
(
data
.
Id
)
pr
:=
monitoringv1
.
PrometheusRule
{
ObjectMeta
:
v1
.
ObjectMeta
{
...
...
@@ -103,6 +103,9 @@ func (p *PrometheusRuleSvc) Get(data response.AlertRulesItem) (obj *monitoringv1
prSvc
:=
k8s
.
PrometheusRule
{
Header
:
header
}
conf
.
Logger
.
Info
(
"pr"
,
zap
.
Any
(
"pr"
,
pr
))
obj
,
err
=
prSvc
.
Get
(
pr
.
Namespace
,
pr
.
Name
)
if
obj
!=
nil
&&
err
==
nil
{
exist
=
true
}
return
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment