Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zmops-test
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sanshi
zmops-test
Commits
a1bd955d
Commit
a1bd955d
authored
Dec 18, 2019
by
sanshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
告警控制
parent
d5bcacb5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
103 additions
and
15 deletions
+103
-15
test_problem_acknowledge.py
WorkCase/API/Problem/test_problem_acknowledge.py
+51
-15
problem.py
WorkData/Zabbix/problem.py
+52
-0
No files found.
WorkCase/API/Problem/test_problem_acknowledge.py
View file @
a1bd955d
...
@@ -17,6 +17,7 @@ from WorkData.Zabbix.hosts import DataHosts
...
@@ -17,6 +17,7 @@ from WorkData.Zabbix.hosts import DataHosts
from
WorkData.Zabbix.events
import
DataEvents
from
WorkData.Zabbix.events
import
DataEvents
from
WorkData.Zabbix.items
import
DataItems
from
WorkData.Zabbix.items
import
DataItems
from
WorkData.Zabbix.functions
import
DataFunctions
from
WorkData.Zabbix.functions
import
DataFunctions
from
WorkData.Zabbix.problem
import
DataProblem
from
WorkCase
import
CaseBase
from
WorkCase
import
CaseBase
...
@@ -60,6 +61,9 @@ class TestProblemAcknowledge(object):
...
@@ -60,6 +61,9 @@ class TestProblemAcknowledge(object):
session
=
UtilsDataBase
()
.
conn_mysql
(
db_url
=
cls
.
db_url
,
db_port
=
cls
.
db_port
,
db_base
=
cls
.
db_base
,
db_user
=
cls
.
db_user
,
db_pw
=
cls
.
db_pw
)
session
=
UtilsDataBase
()
.
conn_mysql
(
db_url
=
cls
.
db_url
,
db_port
=
cls
.
db_port
,
db_base
=
cls
.
db_base
,
db_user
=
cls
.
db_user
,
db_pw
=
cls
.
db_pw
)
DataEvents
()
.
delete_like_name
(
session
=
session
,
name
=
cls
.
base_name
)
DataEvents
()
.
delete_like_name
(
session
=
session
,
name
=
cls
.
base_name
)
session
=
UtilsDataBase
()
.
conn_mysql
(
db_url
=
cls
.
db_url
,
db_port
=
cls
.
db_port
,
db_base
=
cls
.
db_base
,
db_user
=
cls
.
db_user
,
db_pw
=
cls
.
db_pw
)
DataProblem
()
.
delete_like_name
(
session
=
session
,
name
=
cls
.
base_name
)
@classmethod
@classmethod
def
teardown_class
(
cls
):
def
teardown_class
(
cls
):
cls
.
log
.
debug
(
"结束执行测试套件......."
)
cls
.
log
.
debug
(
"结束执行测试套件......."
)
...
@@ -101,6 +105,12 @@ class TestProblemAcknowledge(object):
...
@@ -101,6 +105,12 @@ class TestProblemAcknowledge(object):
sql
=
DataEvents
()
.
select_all_from_allKeys
(
session
=
session
,
eventid
=
eventid
,
objectid
=
objectid
)
sql
=
DataEvents
()
.
select_all_from_allKeys
(
session
=
session
,
eventid
=
eventid
,
objectid
=
objectid
)
return
sql
return
sql
@allure.step
(
"查询表:problem"
)
def
select_problem
(
self
,
eventid
=
None
):
session
=
self
.
db_session
()
sql
=
DataProblem
()
.
select_all_from_allKeys
(
session
=
session
,
eventid
=
eventid
)
return
sql
@allure.step
(
"查询表:items"
)
@allure.step
(
"查询表:items"
)
def
select_items
(
self
,
hostid
=
None
):
def
select_items
(
self
,
hostid
=
None
):
session
=
self
.
db_session
()
session
=
self
.
db_session
()
...
@@ -119,6 +129,9 @@ class TestProblemAcknowledge(object):
...
@@ -119,6 +129,9 @@ class TestProblemAcknowledge(object):
session
=
self
.
db_session
()
session
=
self
.
db_session
()
sql
=
DataEvents
()
.
insert_one
(
session
,
eventid
=
eventid
,
source
=
source
,
_object
=
_object
,
objectid
=
objectid
,
clock
=
clock
,
sql
=
DataEvents
()
.
insert_one
(
session
,
eventid
=
eventid
,
source
=
source
,
_object
=
_object
,
objectid
=
objectid
,
clock
=
clock
,
value
=
value
,
acknowledged
=
acknowledged
,
ns
=
ns
,
name
=
name
,
severity
=
severity
)
value
=
value
,
acknowledged
=
acknowledged
,
ns
=
ns
,
name
=
name
,
severity
=
severity
)
DataProblem
()
.
insert_one
(
session
,
eventid
=
eventid
,
source
=
source
,
_object
=
_object
,
objectid
=
objectid
,
clock
=
clock
,
r_eventid
=
None
,
r_clock
=
0
,
r_ns
=
0
,
correlationid
=
0
,
userid
=
0
,
acknowledged
=
acknowledged
,
ns
=
ns
,
name
=
name
,
severity
=
severity
)
return
sql
return
sql
@allure.step
(
"断言返回结果:校验排序"
)
@allure.step
(
"断言返回结果:校验排序"
)
...
@@ -204,12 +217,35 @@ class TestProblemAcknowledge(object):
...
@@ -204,12 +217,35 @@ class TestProblemAcknowledge(object):
return
self
.
eventid
return
self
.
eventid
@allure.step
(
"校验告警状态"
)
@allure.step
(
"校验告警状态"
)
def
check_sql
(
self
,
eventid
):
def
check_sql
(
self
,
eventid
,
action
):
sql
=
self
.
select_events
(
eventid
=
eventid
)
time
.
sleep
(
30
)
assert
sql
!=
[]
for
x
,
y
in
enumerate
(
sql
):
if
action
==
1
:
assert
y
.
acknowledged
==
1
sql
=
self
.
select_events
(
eventid
=
eventid
)
assert
x
==
0
assert
sql
!=
[]
for
x
,
y
in
enumerate
(
sql
):
assert
y
.
acknowledged
==
0
assert
x
==
0
sql
=
self
.
select_problem
(
eventid
=
eventid
)
assert
sql
!=
[]
for
x
,
y
in
enumerate
(
sql
):
assert
y
.
acknowledged
==
0
assert
y
.
r_clock
!=
0
assert
x
==
0
else
:
sql
=
self
.
select_events
(
eventid
=
eventid
)
assert
sql
!=
[]
for
x
,
y
in
enumerate
(
sql
):
assert
y
.
acknowledged
==
1
assert
x
==
0
sql
=
self
.
select_problem
(
eventid
=
eventid
)
assert
sql
!=
[]
for
x
,
y
in
enumerate
(
sql
):
assert
y
.
acknowledged
==
1
assert
y
.
r_clock
==
0
assert
x
==
0
@allure.title
(
"problem.acknowledge:action为空,返回异常"
)
@allure.title
(
"problem.acknowledge:action为空,返回异常"
)
@allure.story
(
"告警忽略/关闭:action为空,返回异常"
)
@allure.story
(
"告警忽略/关闭:action为空,返回异常"
)
...
@@ -234,7 +270,7 @@ class TestProblemAcknowledge(object):
...
@@ -234,7 +270,7 @@ class TestProblemAcknowledge(object):
self
.
case_create
(
num
=
"03"
,
objectid
=
self
.
triggers_ids
[
0
],
acknowledged
=
0
)
self
.
case_create
(
num
=
"03"
,
objectid
=
self
.
triggers_ids
[
0
],
acknowledged
=
0
)
response
=
self
.
problem_acknowledge
(
eventids
=
[
self
.
eventid
],
action
=
1
)
response
=
self
.
problem_acknowledge
(
eventids
=
[
self
.
eventid
],
action
=
1
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_code
(
response
=
response
,
code
=
0
)
# self.check_sql(eventid=self.eventid
)
self
.
check_sql
(
eventid
=
self
.
eventid
,
action
=
1
)
@allure.title
(
"problem.acknowledge:action=2 忽略一个告警"
)
@allure.title
(
"problem.acknowledge:action=2 忽略一个告警"
)
@allure.story
(
"告警忽略/关闭:action=2 忽略一个告警"
)
@allure.story
(
"告警忽略/关闭:action=2 忽略一个告警"
)
...
@@ -243,7 +279,7 @@ class TestProblemAcknowledge(object):
...
@@ -243,7 +279,7 @@ class TestProblemAcknowledge(object):
self
.
case_create
(
num
=
"04"
,
objectid
=
self
.
triggers_ids
[
0
],
acknowledged
=
0
)
self
.
case_create
(
num
=
"04"
,
objectid
=
self
.
triggers_ids
[
0
],
acknowledged
=
0
)
response
=
self
.
problem_acknowledge
(
eventids
=
[
self
.
eventid
],
action
=
2
)
response
=
self
.
problem_acknowledge
(
eventids
=
[
self
.
eventid
],
action
=
2
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_sql
(
eventid
=
self
.
eventid
)
self
.
check_sql
(
eventid
=
self
.
eventid
,
action
=
2
)
@allure.title
(
"problem.acknowledge:action=1 关闭多个告警"
)
@allure.title
(
"problem.acknowledge:action=1 关闭多个告警"
)
@allure.story
(
"告警忽略/关闭:action=1 关闭多个告警"
)
@allure.story
(
"告警忽略/关闭:action=1 关闭多个告警"
)
...
@@ -254,9 +290,9 @@ class TestProblemAcknowledge(object):
...
@@ -254,9 +290,9 @@ class TestProblemAcknowledge(object):
eventid_3
=
self
.
case_create
(
num
=
"053"
,
objectid
=
self
.
triggers_ids
[
2
],
acknowledged
=
0
)
eventid_3
=
self
.
case_create
(
num
=
"053"
,
objectid
=
self
.
triggers_ids
[
2
],
acknowledged
=
0
)
response
=
self
.
problem_acknowledge
(
eventids
=
[
eventid_1
,
eventid_2
,
eventid_3
],
action
=
1
)
response
=
self
.
problem_acknowledge
(
eventids
=
[
eventid_1
,
eventid_2
,
eventid_3
],
action
=
1
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_code
(
response
=
response
,
code
=
0
)
# self.check_sql(eventid=eventid_
1)
self
.
check_sql
(
eventid
=
eventid_1
,
action
=
1
)
# self.check_sql(eventid=eventid_2
)
self
.
check_sql
(
eventid
=
eventid_2
,
action
=
1
)
# self.check_sql(eventid=eventid_3
)
self
.
check_sql
(
eventid
=
eventid_3
,
action
=
1
)
@allure.title
(
"problem.acknowledge:action=2 忽略多个告警"
)
@allure.title
(
"problem.acknowledge:action=2 忽略多个告警"
)
@allure.story
(
"告警忽略/关闭:action=2 忽略多个告警"
)
@allure.story
(
"告警忽略/关闭:action=2 忽略多个告警"
)
...
@@ -267,9 +303,9 @@ class TestProblemAcknowledge(object):
...
@@ -267,9 +303,9 @@ class TestProblemAcknowledge(object):
eventid_3
=
self
.
case_create
(
num
=
"063"
,
objectid
=
self
.
triggers_ids
[
2
],
acknowledged
=
0
)
eventid_3
=
self
.
case_create
(
num
=
"063"
,
objectid
=
self
.
triggers_ids
[
2
],
acknowledged
=
0
)
response
=
self
.
problem_acknowledge
(
eventids
=
[
eventid_1
,
eventid_2
,
eventid_3
],
action
=
2
)
response
=
self
.
problem_acknowledge
(
eventids
=
[
eventid_1
,
eventid_2
,
eventid_3
],
action
=
2
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_sql
(
eventid
=
eventid_1
)
self
.
check_sql
(
eventid
=
eventid_1
,
action
=
2
)
self
.
check_sql
(
eventid
=
eventid_2
)
self
.
check_sql
(
eventid
=
eventid_2
,
action
=
2
)
self
.
check_sql
(
eventid
=
eventid_3
)
self
.
check_sql
(
eventid
=
eventid_3
,
action
=
2
)
if
__name__
==
"__main__"
:
if
__name__
==
"__main__"
:
...
@@ -286,4 +322,4 @@ if __name__ == "__main__":
...
@@ -286,4 +322,4 @@ if __name__ == "__main__":
# a = TestProblemAcknowledge()
# a = TestProblemAcknowledge()
# a.setup_class()
# a.setup_class()
# a.test_case_0
4
()
# a.test_case_0
3
()
WorkData/Zabbix/problem.py
View file @
a1bd955d
...
@@ -90,3 +90,55 @@ class DataProblem(object):
...
@@ -90,3 +90,55 @@ class DataProblem(object):
self
.
log
.
error
(
error
)
self
.
log
.
error
(
error
)
session
.
close
()
session
.
close
()
return
error
return
error
def
insert_one
(
self
,
session
,
eventid
=
None
,
source
=
None
,
_object
=
None
,
objectid
=
None
,
clock
=
None
,
r_eventid
=
None
,
r_clock
=
None
,
r_ns
=
None
,
correlationid
=
None
,
userid
=
None
,
acknowledged
=
None
,
ns
=
None
,
name
=
None
,
severity
=
None
):
"""
:param session: 指针
:param eventid:
:param source:
:param _object:
:param objectid:
:param clock:
:param r_eventid:
:param r_clock:
:param r_ns:
:param correlationid:
:param userid:
:param acknowledged:
:param ns:
:param name:
:param severity:
:return:
"""
self
.
log
.
debug
(
"新增表数据:"
)
try
:
base
=
UtilsDataBase
()
base
.
add_param
(
_key
=
"eventid"
,
value
=
eventid
)
base
.
add_param
(
_key
=
"source"
,
value
=
source
)
base
.
add_param
(
_key
=
"object"
,
value
=
_object
)
base
.
add_param
(
_key
=
"objectid"
,
value
=
objectid
)
base
.
add_param
(
_key
=
"clock"
,
value
=
clock
)
base
.
add_param
(
_key
=
"ns"
,
value
=
ns
)
base
.
add_param
(
_key
=
"r_eventid"
,
value
=
r_eventid
)
base
.
add_param
(
_key
=
"r_clock"
,
value
=
r_clock
)
base
.
add_param
(
_key
=
"r_ns"
,
value
=
r_ns
)
base
.
add_param
(
_key
=
"correlationid"
,
value
=
correlationid
)
base
.
add_param
(
_key
=
"userid"
,
value
=
userid
)
base
.
add_param
(
_key
=
"name"
,
value
=
name
)
base
.
add_param
(
_key
=
"acknowledged"
,
value
=
acknowledged
)
base
.
add_param
(
_key
=
"severity"
,
value
=
severity
)
sql_rep
=
self
.
table
(
**
base
.
param
)
session
.
add
(
sql_rep
)
session
.
commit
()
eventid
=
sql_rep
.
eventid
self
.
log
.
debug
(
"新增的problem:
%
s"
%
eventid
)
session
.
close
()
return
eventid
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
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