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
10145084
Commit
10145084
authored
Nov 29, 2019
by
sanshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建告警规则
parent
644de9d1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
219 additions
and
76 deletions
+219
-76
Administrator.xml
.idea/dictionaries/Administrator.xml
+2
-0
test_device_create.py
WorkCase/APP/Device/test_device_create.py
+5
-47
test_rule_create.py
WorkCase/APP/Rule/test_rule_create.py
+111
-29
hosts.py
WorkData/Argus/hosts.py
+16
-0
hosts_items.py
WorkData/Argus/hosts_items.py
+85
-0
No files found.
.idea/dictionaries/Administrator.xml
View file @
10145084
...
...
@@ -29,6 +29,7 @@
<w>
hosttype
</w>
<w>
hosttypeids
</w>
<w>
hstgrp
</w>
<w>
icmpping
</w>
<w>
interfaceid
</w>
<w>
interfaceids
</w>
<w>
iplist
</w>
...
...
@@ -61,6 +62,7 @@
<w>
proxyids
</w>
<w>
publickey
</w>
<w>
pytest
</w>
<w>
rmcp
</w>
<w>
ruleid
</w>
<w>
ruleids
</w>
<w>
sanshi
</w>
...
...
WorkCase/APP/Device/test_device_create.py
View file @
10145084
...
...
@@ -193,59 +193,17 @@ class TestDeviceCreate(object):
monitorType
=
1
)
self
.
check_code
(
response
=
response
,
code
=
0
)
@allure.title
(
"device.create:创建agent设备在线规则"
)
@allure.story
(
"创建资产:创建agent设备在线规则"
)
@allure.title
(
"device.create:创建agent资产,dns识别"
)
@allure.story
(
"创建资产:创建agent资产,dns识别"
)
@allure.severity
(
"blocker"
)
def
test_case_05
(
self
):
self
.
get_base_token
()
name
=
self
.
base_name
+
"05"
response
=
self
.
device_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"agent.ping"
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
True
])
self
.
check_code
(
response
=
response
,
code
=
0
)
@allure.title
(
"device.create:创建agent设备离线规则"
)
@allure.story
(
"创建资产:创建agent设备离线规则"
)
def
test_case_06
(
self
):
self
.
get_base_token
()
name
=
self
.
base_name
+
"06"
response
=
self
.
device_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"agent.ping]"
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
False
])
self
.
check_code
(
response
=
response
,
code
=
0
)
@allure.title
(
"device.create:创建icmp设备在线规则"
)
@allure.story
(
"创建资产:创建icmp设备在线规则"
)
def
test_case_07
(
self
):
self
.
get_base_token
()
name
=
self
.
base_name
+
"07"
response
=
self
.
device_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"agent.ping]"
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
True
])
response
=
self
.
device_create
(
token
=
self
.
token
,
hostName
=
name
,
hostType
=
self
.
base_type_agent
,
iplist
=
self
.
base_ip
,
dns
=
self
.
base_dns
,
monitorInterface
=
self
.
base_port
,
monitorType
=
2
)
self
.
check_code
(
response
=
response
,
code
=
0
)
@allure.title
(
"device.create:创建icmp设备离线规则"
)
@allure.story
(
"创建资产:创建icmp设备离线规则"
)
def
test_case_08
(
self
):
self
.
get_base_token
()
name
=
self
.
base_name
+
"08"
response
=
self
.
device_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"agent.ping]"
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
True
])
self
.
check_code
(
response
=
response
,
code
=
0
)
if
__name__
==
"__main__"
:
from
WorkUtils.UtilsPyTest
import
UtilsPyTest
...
...
WorkCase/APP/Rule/test_rule_create.py
View file @
10145084
...
...
@@ -6,6 +6,7 @@
from
__future__
import
division
from
WorkApi.APP.Device.device_create
import
DeviceCreate
from
WorkCase
import
CaseBase
from
WorkUtils.UtilsLog
import
UtilsLog
from
WorkUtils.UtilsDataBase
import
UtilsDataBase
...
...
@@ -15,7 +16,9 @@ from WorkApi.APP.Api.api_login import ApiLogin
from
WorkApi.APP.Rule.rule_create
import
RuleCreate
from
WorkData.Argus.members
import
DataMembers
from
WorkData.Argus.hosts_items
import
DataHostsItems
from
WorkData.Argus.alarm_rule
import
DataAlarmRule
from
WorkData.Argus.hosts
import
DataHosts
import
allure
...
...
@@ -24,6 +27,7 @@ import allure
class
TestRuleCreate
(
object
):
log
=
UtilsLog
()
env
=
CaseBase
()
.
app_environment
host_create
=
"http://172.16.3.78:3334"
host
=
env
[
"host"
]
db_url
=
env
[
"db_url"
]
db_port
=
env
[
"db_port"
]
...
...
@@ -35,11 +39,22 @@ class TestRuleCreate(object):
base_id
=
10
base_password
=
"123456"
base_type_agent
=
126
base_type_snmp
=
127
base_ip
=
"172.16.3.170"
base_dns
=
"sanshi.zmops.com"
base_port
=
999
base_host_name
=
"SS测试主机"
base_name
=
"SS测试告警规则名称"
base_template_id_agent
=
10001
base_template_id_snmp
=
10190
@classmethod
def
setup_class
(
cls
):
cls
.
log
.
debug
(
"开始执行测试套件......."
)
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
)
DataHosts
()
.
delete_like_host_name
(
session
=
session
,
host_name
=
cls
.
base_host_name
)
@classmethod
def
teardown_class
(
cls
):
...
...
@@ -125,6 +140,18 @@ class TestRuleCreate(object):
sql
=
DataAlarmRule
()
.
select_all_from_allKeys
(
session
=
session
,
alarm_ruleid
=
alarm_ruleid
,
name
=
name
,
triggerid
=
triggerid
)
return
sql
@allure.step
(
"查询表:hosts"
)
def
select_hosts
(
self
,
hostid
=
None
,
host_name
=
None
,
available
=
None
,
monitor_status
=
None
):
session
=
self
.
db_session
()
sql
=
DataHosts
()
.
select_all_from_allKeys
(
session
=
session
,
hostid
=
hostid
,
host_name
=
host_name
,
available
=
available
,
monitor_status
=
monitor_status
)
return
sql
@allure.step
(
"查询表:hosts_items"
)
def
select_hosts_items
(
self
,
_id
=
None
,
host_id
=
None
,
name
=
None
,
key_
=
None
):
session
=
self
.
db_session
()
sql
=
DataHostsItems
()
.
select_all_from_allKeys
(
session
=
session
,
_id
=
_id
,
host_id
=
host_id
,
name
=
name
,
key_
=
key_
)
return
sql
@allure.step
(
"校验查询结果"
)
def
check_select
(
self
,
response
,
name
,
description
,
_type
,
principal_name
,
principal_phone
,
memberid
):
data
=
UtilsResponse
()
.
get_data
(
response
=
response
)
...
...
@@ -148,6 +175,56 @@ class TestRuleCreate(object):
_msg
=
UtilsResponse
()
.
get_msg
(
response
=
response
)
assert
_msg
==
msg
@allure.step
(
"调用接口:device.create"
)
def
device_create
(
self
,
token
=
None
,
hostName
=
None
,
hostType
=
None
,
iplist
=
None
,
dns
=
None
,
monitorInterface
=
None
,
monitorType
=
None
,
parentHost
=
None
,
businessIds
=
None
,
opsPerson
=
None
,
snmpCommunity
=
None
,
ipmiAuthtype
=
None
,
ipmiPrivilege
=
None
,
ipmiUsername
=
None
,
ipmiPassword
=
None
,
factory
=
None
,
model
=
None
,
version
=
None
,
serialnumber
=
None
,
description
=
None
,
monitorStatus
=
None
):
api
=
DeviceCreate
(
_host
=
self
.
host_create
)
api
.
token
=
token
api
.
hostName
=
hostName
api
.
hostType
=
hostType
api
.
iplist
=
iplist
api
.
dns
=
dns
api
.
monitorInterface
=
monitorInterface
api
.
monitorType
=
monitorType
api
.
parentHost
=
parentHost
api
.
businessIds
=
businessIds
api
.
opsPerson
=
opsPerson
api
.
snmpCommunity
=
snmpCommunity
api
.
ipmiAuthtype
=
ipmiAuthtype
api
.
ipmiPrivilege
=
ipmiPrivilege
api
.
ipmiUsername
=
ipmiUsername
api
.
ipmiPassword
=
ipmiPassword
api
.
factory
=
factory
api
.
model
=
model
api
.
version
=
version
api
.
serialnumber
=
serialnumber
api
.
description
=
description
api
.
monitorStatus
=
monitorStatus
api
.
get_response
()
return
api
.
response
@allure.title
(
"创建测试数据"
)
def
case_create
(
self
,
num
,
item_key
):
name
=
self
.
base_host_name
+
num
response
=
self
.
device_create
(
token
=
self
.
token
,
hostName
=
name
,
hostType
=
self
.
base_type_agent
,
iplist
=
self
.
base_ip
,
monitorInterface
=
self
.
base_port
,
monitorType
=
1
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
host_id
=
UtilsResponse
()
.
get_data
(
response
=
response
)
sql
=
self
.
select_hosts
(
hostid
=
self
.
host_id
)
for
x
,
y
in
enumerate
(
sql
):
assert
x
==
0
self
.
host_name
=
y
.
asset_code
sql
=
self
.
select_hosts_items
(
host_id
=
self
.
host_id
,
key_
=
item_key
)
for
x
,
y
in
enumerate
(
sql
):
assert
x
==
0
self
.
item_name
=
y
.
name
@allure.title
(
"rule.create:token未传"
)
@allure.story
(
"创建告警规则:token未传"
)
@allure.severity
(
"blocker"
)
...
...
@@ -183,11 +260,12 @@ class TestRuleCreate(object):
@allure.severity
(
"blocker"
)
def
test_case_04
(
self
):
self
.
get_base_token
()
item_key
=
"system.cpu.load[percpu,avg15]"
self
.
case_create
(
num
=
"04"
,
item_key
=
item_key
)
name
=
self
.
base_name
+
"04"
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
0
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"system.cpu.load[percpu,avg15]"
],
triggersList_function
=
[
"avg"
],
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
0
,
triggersList_hostid
=
[
self
.
host_id
],
triggersList_hostName
=
[
self
.
host_name
],
triggersList_itemid
=
[
self
.
base_template_id_agent
],
triggersList_itemName
=
[
item_key
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
])
self
.
check_code
(
response
=
response
,
code
=
0
)
...
...
@@ -196,11 +274,12 @@ class TestRuleCreate(object):
@allure.story
(
"创建告警规则:创建agent设备在线规则"
)
def
test_case_05
(
self
):
self
.
get_base_token
()
item_key
=
"agent.ping"
self
.
case_create
(
num
=
"05"
,
item_key
=
item_key
)
name
=
self
.
base_name
+
"05"
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"agent.ping"
],
triggersList_function
=
[
"avg"
],
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
self
.
host_id
],
triggersList_hostName
=
[
self
.
host_name
],
triggersList_itemid
=
[
self
.
base_template_id_agent
],
triggersList_itemName
=
[
item_key
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
True
])
self
.
check_code
(
response
=
response
,
code
=
0
)
...
...
@@ -209,11 +288,12 @@ class TestRuleCreate(object):
@allure.story
(
"创建告警规则:创建agent设备离线规则"
)
def
test_case_06
(
self
):
self
.
get_base_token
()
item_key
=
"agent.ping"
self
.
case_create
(
num
=
"06"
,
item_key
=
item_key
)
name
=
self
.
base_name
+
"06"
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"agent.ping]"
],
triggersList_function
=
[
"avg"
],
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
self
.
host_id
],
triggersList_hostName
=
[
self
.
host_name
],
triggersList_itemid
=
[
self
.
base_template_id_agent
],
triggersList_itemName
=
[
item_key
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
False
])
self
.
check_code
(
response
=
response
,
code
=
0
)
...
...
@@ -222,11 +302,12 @@ class TestRuleCreate(object):
@allure.story
(
"创建告警规则:创建icmp设备在线规则"
)
def
test_case_07
(
self
):
self
.
get_base_token
()
item_key
=
"icmpping"
self
.
case_create
(
num
=
"07"
,
item_key
=
item_key
)
name
=
self
.
base_name
+
"07"
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"agent.ping]"
],
triggersList_function
=
[
"avg"
],
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
self
.
host_id
],
triggersList_hostName
=
[
self
.
host_name
],
triggersList_itemid
=
[
self
.
base_template_id_snmp
],
triggersList_itemName
=
[
item_key
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
True
])
self
.
check_code
(
response
=
response
,
code
=
0
)
...
...
@@ -235,13 +316,14 @@ class TestRuleCreate(object):
@allure.story
(
"创建告警规则:创建icmp设备离线规则"
)
def
test_case_08
(
self
):
self
.
get_base_token
()
item_key
=
"icmpping"
self
.
case_create
(
num
=
"08"
,
item_key
=
item_key
)
name
=
self
.
base_name
+
"08"
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
10466
],
triggersList_hostName
=
[
"SS TEST HOST04"
],
triggersList_itemid
=
[
39676
],
triggersList_itemName
=
[
"agent.ping]"
],
triggersList_function
=
[
"avg"
],
response
=
self
.
rule_create
(
token
=
self
.
token
,
name
=
name
,
severity
=
0
,
status
=
1
,
manualClose
=
1
,
triggersList_hostid
=
[
self
.
host_id
],
triggersList_hostName
=
[
self
.
host_name
],
triggersList_itemid
=
[
self
.
base_template_id_snmp
],
triggersList_itemName
=
[
item_key
],
triggersList_function
=
[
"avg"
],
triggersList_operator
=
[
"="
],
triggersList_constant
=
[
888
],
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
Tru
e
])
triggersList_parameters_unit
=
[
"m"
],
triggersList_parameters_value
=
[
5
],
triggersList_onlineFlag
=
[
Fals
e
])
self
.
check_code
(
response
=
response
,
code
=
0
)
...
...
@@ -253,11 +335,11 @@ if __name__ == "__main__":
import
os
# 执行自动化测试用例
#
case_info = os.path.split(__file__)
#
case = UtilsCmd().pytest_cmd()
#
r = UtilsPyTest(case=case, case_info=case_info)
#
r.run_main()
a
=
TestRuleCreate
()
a
.
setup_class
()
a
.
test_case_06
()
case_info
=
os
.
path
.
split
(
__file__
)
case
=
UtilsCmd
()
.
pytest_cmd
()
r
=
UtilsPyTest
(
case
=
case
,
case_info
=
case_info
)
r
.
run_main
()
#
a = TestRuleCreate()
#
a.setup_class()
# a.test_case_08
()
WorkData/Argus/hosts.py
View file @
10145084
...
...
@@ -24,6 +24,7 @@ class Hosts(Base):
__tablename__
=
"hosts"
hostid
=
Column
(
Integer
,
primary_key
=
True
)
zabbix_hostid
=
Column
(
BigInteger
,
comment
=
"zabbix主机编号"
)
host_name
=
Column
(
VARCHAR
(
128
),
comment
=
"主机名"
)
asset_code
=
Column
(
VARCHAR
(
128
),
comment
=
"资产编号"
)
manage_ip
=
Column
(
VARCHAR
(
32
),
comment
=
"管理IP"
)
...
...
@@ -34,7 +35,22 @@ class Hosts(Base):
available
=
Column
(
Integer
,
comment
=
"可用性"
)
monitor_status
=
Column
(
Integer
,
comment
=
"监控状态"
)
iplist
=
Column
(
VARCHAR
(
255
),
comment
=
"IP列表 分号隔开"
)
dns
=
Column
(
VARCHAR
(
255
),
comment
=
"域名"
)
monitor_interface
=
Column
(
VARCHAR
(
255
),
comment
=
"监控接口 分号隔开"
)
business_ids
=
Column
(
VARCHAR
(
255
),
comment
=
"业务id(对应于zabbix系统的分组)"
)
port
=
Column
(
VARCHAR
(
30
),
comment
=
"服务端口号"
)
ops_person
=
Column
(
Integer
,
comment
=
"运维人员"
)
factory
=
Column
(
VARCHAR
(
255
),
comment
=
"厂商"
)
model
=
Column
(
VARCHAR
(
255
),
comment
=
"型号"
)
version
=
Column
(
VARCHAR
(
50
),
comment
=
"版本号"
)
serialnumber
=
Column
(
VARCHAR
(
255
),
comment
=
"序列号"
)
description
=
Column
(
VARCHAR
(
255
),
comment
=
"描述"
)
snmp_community
=
Column
(
VARCHAR
(
255
),
comment
=
"snmp社区名(对应于zabbix系统里的snmp宏里SNMP_COMMUNITY模板的值)"
)
ipmi_authtype
=
Column
(
Integer
,
comment
=
"ipmi认证算法(0:无 1:MD2 2:MD5 3:Straight 4:OEM 5:RMCP+)"
)
ipmi_privilege
=
Column
(
Integer
,
comment
=
"ipmi优先权层级(1:回调 2:用户 3:操作者 4:管理者 5:OEM)"
)
ipmi_username
=
Column
(
VARCHAR
(
50
),
comment
=
"ipmi用户名"
)
ipmi_password
=
Column
(
VARCHAR
(
50
),
comment
=
"ipmi密码"
)
create_time
=
Column
(
BigInteger
,
comment
=
"创建时间"
)
class
DataHosts
(
object
):
...
...
WorkData/Argus/hosts_items.py
0 → 100644
View file @
10145084
# -*- coding: utf_8 -*-
# 表名: hosts_items
# 作者: 陈磊
# 时间: 2019-11-29
from
sqlalchemy.ext.declarative
import
declarative_base
from
sqlalchemy
import
Column
,
Integer
,
VARCHAR
,
SMALLINT
,
DATETIME
,
DECIMAL
,
BigInteger
,
FLOAT
,
NUMERIC
,
TEXT
from
sqlalchemy.orm.exc
import
MultipleResultsFound
,
NoResultFound
from
sqlalchemy
import
or_
from
WorkUtils.UtilsLog
import
UtilsLog
from
WorkUtils.UtilsDataBase
import
UtilsDataBase
import
time
Base
=
declarative_base
()
class
HostsItems
(
Base
):
"""
设备监控项
"""
__tablename__
=
"hosts_items"
id
=
Column
(
BigInteger
,
primary_key
=
True
)
host_id
=
Column
(
BigInteger
,
comment
=
"设备编号"
)
name
=
Column
(
VARCHAR
(
255
),
comment
=
"监控项名"
)
key_
=
Column
(
VARCHAR
(
255
),
comment
=
"监控项的值"
)
class
DataHostsItems
(
object
):
def
__init__
(
self
):
self
.
log
=
UtilsLog
()
self
.
log
.
info
(
self
.
__class__
)
self
.
table
=
HostsItems
def
select_all_from_allKeys
(
self
,
session
,
_id
=
None
,
host_id
=
None
,
name
=
None
,
key_
=
None
):
"""
:param session: 指针
:param _id:
:param host_id:
:param name:
:param key_:
:return: 查询结果
"""
self
.
log
.
debug
(
"查询数据库:"
)
try
:
base
=
UtilsDataBase
()
base
.
add_param
(
_key
=
"id"
,
value
=
_id
)
base
.
add_param
(
_key
=
"host_id"
,
value
=
host_id
)
base
.
add_param
(
_key
=
"name"
,
value
=
name
)
base
.
add_param
(
_key
=
"key_"
,
value
=
key_
)
sql_rep
=
session
.
query
(
self
.
table
)
.
filter_by
(
**
base
.
param
)
.
all
()
self
.
log
.
debug
(
sql_rep
)
session
.
close
()
return
sql_rep
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
def
delete_host_id
(
self
,
session
,
host_id
):
"""
:param session: 指针
:param host_id:
:return:
"""
self
.
log
.
debug
(
"查询数据库:"
)
try
:
self
.
log
.
debug
(
"删除相关测试数据"
)
session
.
query
(
self
.
table
)
.
filter_by
(
host_id
=
host_id
)
.
delete
(
synchronize_session
=
False
)
# session.delete(sql)
session
.
commit
()
session
.
close
()
self
.
log
.
debug
(
"删除成功"
)
return
True
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