Commit 08452c1b by sanshi

创建主机

parent ec0bf746
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
<dictionary name="Administrator"> <dictionary name="Administrator">
<words> <words>
<w>applicationids</w> <w>applicationids</w>
<w>authpassphrase</w>
<w>authprotocol</w>
<w>authtype</w>
<w>businessid</w> <w>businessid</w>
<w>contextname</w>
<w>departmentid</w> <w>departmentid</w>
<w>dingding</w> <w>dingding</w>
<w>discoveryids</w> <w>discoveryids</w>
...@@ -10,27 +14,43 @@ ...@@ -10,27 +14,43 @@
<w>eventid</w> <w>eventid</w>
<w>eventids</w> <w>eventids</w>
<w>experienceid</w> <w>experienceid</w>
<w>functionid</w>
<w>groupid</w> <w>groupid</w>
<w>groupids</w> <w>groupids</w>
<w>hostid</w> <w>hostid</w>
<w>hostids</w> <w>hostids</w>
<w>hostmonitor</w> <w>hostmonitor</w>
<w>hostprototype</w> <w>hostprototype</w>
<w>hstgrp</w>
<w>interfaceid</w>
<w>ipmi</w>
<w>itemid</w> <w>itemid</w>
<w>itemids</w> <w>itemids</w>
<w>lastchange</w> <w>lastchange</w>
<w>lastcheck</w> <w>lastcheck</w>
<w>lastlogsize</w>
<w>logtimefmt</w>
<w>maintenanceid</w>
<w>mediatype</w> <w>mediatype</w>
<w>mediatypeids</w> <w>mediatypeids</w>
<w>monitorid</w> <w>monitorid</w>
<w>mtime</w>
<w>networkmonitor</w> <w>networkmonitor</w>
<w>nodata</w>
<w>objectid</w> <w>objectid</w>
<w>objectids</w> <w>objectids</w>
<w>preservekeys</w> <w>preservekeys</w>
<w>privatekey</w>
<w>privpassphrase</w>
<w>privprotocol</w>
<w>publickey</w>
<w>pytest</w> <w>pytest</w>
<w>ruleid</w> <w>ruleid</w>
<w>ruleids</w> <w>ruleids</w>
<w>sanshi</w> <w>sanshi</w>
<w>securitylevel</w>
<w>securityname</w>
<w>snmpv</w>
<w>sortfield</w> <w>sortfield</w>
<w>sortorder</w> <w>sortorder</w>
<w>tablename</w> <w>tablename</w>
...@@ -40,6 +60,8 @@ ...@@ -40,6 +60,8 @@
<w>triggerid</w> <w>triggerid</w>
<w>triggerids</w> <w>triggerids</w>
<w>triggerprototype</w> <w>triggerprototype</w>
<w>useip</w>
<w>valuemapid</w>
<w>wechat</w> <w>wechat</w>
<w>zabbix</w> <w>zabbix</w>
<w>zmops</w> <w>zmops</w>
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<list> <list>
<option value="N803" /> <option value="N803" />
<option value="N802" /> <option value="N802" />
<option value="N806" />
</list> </list>
</option> </option>
</inspection_tool> </inspection_tool>
......
...@@ -8,22 +8,9 @@ from WorkUtils.UtilsLog import UtilsLog ...@@ -8,22 +8,9 @@ from WorkUtils.UtilsLog import UtilsLog
class HostCreate(object): class HostCreate(object):
def __init__(self, _host, host=None, description=None, groupids=None, interfaces=None, tags=None, templateids=None, macros=None, def __init__(self, _host):
inventory=None, status=None, tls_accept=None, tls_psk_identity=None, tls_psk=None):
""" """
:param _host: 域名 :param _host: 域名
:param host:
:param description:
:param groupids:
:param interfaces:
:param tags:
:param templateids:
:param macros:
:param inventory:
:param status:
:param tls_accept:
:param tls_psk_identity:
:param tls_psk:
:return: :return:
""" """
self.log = UtilsLog() self.log = UtilsLog()
...@@ -39,33 +26,91 @@ class HostCreate(object): ...@@ -39,33 +26,91 @@ class HostCreate(object):
self.local_json = {} self.local_json = {}
self.response = "" self.response = ""
self.host = host self.hostid = None
self.description = description self.host = None
self.groupids = groupids self.available = None
self.interfaces = interfaces self.description = None
self.tags = tags self.flags = None
self.templateids = templateids self.inventory_mode = None
self.macros = macros self.ipmi_authtype = None
self.inventory = inventory self.ipmi_available = None
self.status = status self.ipmi_disable_until = None
self.tls_accept = tls_accept self.ipmi_error = None
self.tls_psk_identity = tls_psk_identity self.ipmi_errors_from = None
self.tls_psk = tls_psk self.ipmi_password = None
self.ipmi_privilege = None
self.ipmi_username = None
self.jmx_available = None
self.jmx_disable_until = None
self.jmx_error = None
self.jmx_errors_from = None
self.maintenance_from = None
self.maintenance_status = None
self.maintenance_type = None
self.maintenanceid = None
self.name = None
self.proxy_hostid = None
self.snmp_available = None
self.snmp_disable_until = None
self.snmp_error = None
self.snmp_errors_from = None
self.interfaces = None
self.groupids = None
self.tags = None
self.templateids = None
self.macros = None
self.inventory = None
self.status = None
self.tls_connect = None
self.tls_accept = None
self.tls_issuer = None
self.tls_subject = None
self.tls_psk_identity = None
self.tls_psk = None
self.api = UtilsRequest() self.api = UtilsRequest()
def get_response(self): def get_response(self):
base = ApiBase() base = ApiBase()
base.dict_add_key(_key="hostid", value=self.hostid)
base.dict_add_key(_key="host", value=self.host) base.dict_add_key(_key="host", value=self.host)
base.dict_add_key(_key="available", value=self.available)
base.dict_add_key(_key="description", value=self.description) base.dict_add_key(_key="description", value=self.description)
base.dict_add_key(_key="groupids", value=self.groupids) base.dict_add_key(_key="flags", value=self.flags)
base.dict_add_key(_key="inventory_mode", value=self.inventory_mode)
base.dict_add_key(_key="ipmiAuthtype", value=self.ipmi_authtype)
base.dict_add_key(_key="ipmiAvailable", value=self.ipmi_available)
base.dict_add_key(_key="ipmiDisable_until", value=self.ipmi_disable_until)
base.dict_add_key(_key="ipmiError", value=self.ipmi_error)
base.dict_add_key(_key="ipmiErrorsFrom", value=self.ipmi_errors_from)
base.dict_add_key(_key="ipmiPassword", value=self.ipmi_password)
base.dict_add_key(_key="ipmiPrivilege", value=self.ipmi_privilege)
base.dict_add_key(_key="ipmiUsername", value=self.ipmi_username)
base.dict_add_key(_key="jmxAvailable", value=self.jmx_available)
base.dict_add_key(_key="jmxDisableUntil", value=self.jmx_disable_until)
base.dict_add_key(_key="jmxError", value=self.jmx_error)
base.dict_add_key(_key="jmxErrorsFrom", value=self.jmx_errors_from)
base.dict_add_key(_key="maintenanceFrom", value=self.maintenance_from)
base.dict_add_key(_key="maintenanceStatus", value=self.maintenance_status)
base.dict_add_key(_key="maintenanceType", value=self.maintenance_type)
base.dict_add_key(_key="maintenanceid", value=self.maintenanceid)
base.dict_add_key(_key="name", value=self.name)
base.dict_add_key(_key="proxyHostid", value=self.proxy_hostid)
base.dict_add_key(_key="snmpAvailable", value=self.snmp_available)
base.dict_add_key(_key="snmpDisableUntil", value=self.snmp_disable_until)
base.dict_add_key(_key="snmpError", value=self.snmp_error)
base.dict_add_key(_key="snmpErrorsFrom", value=self.snmp_errors_from)
base.dict_add_key(_key="interfaces", value=self.interfaces) base.dict_add_key(_key="interfaces", value=self.interfaces)
base.dict_add_key(_key="groupids", value=self.groupids)
base.dict_add_key(_key="tags", value=self.tags) base.dict_add_key(_key="tags", value=self.tags)
base.dict_add_key(_key="templateids", value=self.templateids) base.dict_add_key(_key="templateids", value=self.templateids)
base.dict_add_key(_key="macros", value=self.macros) base.dict_add_key(_key="macros", value=self.macros)
base.dict_add_key(_key="inventory", value=self.inventory) base.dict_add_key(_key="inventory", value=self.inventory)
base.dict_add_key(_key="status", value=self.status) base.dict_add_key(_key="status", value=self.status)
base.dict_add_key(_key="tlsConnect", value=self.tls_connect)
base.dict_add_key(_key="tlsAccept", value=self.tls_accept) base.dict_add_key(_key="tlsAccept", value=self.tls_accept)
base.dict_add_key(_key="tlsIssuer", value=self.tls_issuer)
base.dict_add_key(_key="tlsSubject", value=self.tls_subject)
base.dict_add_key(_key="tlsPskIdentity", value=self.tls_psk_identity) base.dict_add_key(_key="tlsPskIdentity", value=self.tls_psk_identity)
base.dict_add_key(_key="tlsPsk", value=self.tls_psk) base.dict_add_key(_key="tlsPsk", value=self.tls_psk)
self.local_json = base._json self.local_json = base._json
......
...@@ -42,9 +42,9 @@ class MembersCreate(object): ...@@ -42,9 +42,9 @@ class MembersCreate(object):
self.api = UtilsRequest() self.api = UtilsRequest()
def get_response(self): def get_response(self):
self._headers = { base = ApiBase()
"token": self.token base.dict_add_key(_key="token", value=self.token)
} self._headers = base._json
base = ApiBase() base = ApiBase()
base.dict_add_key(_key="name", value=self.name) base.dict_add_key(_key="name", value=self.name)
......
...@@ -34,9 +34,9 @@ class SettingsGetMember(object): ...@@ -34,9 +34,9 @@ class SettingsGetMember(object):
self.api = UtilsRequest() self.api = UtilsRequest()
def get_response(self): def get_response(self):
self._headers = { base = ApiBase()
"token": self.token base.dict_add_key(_key="token", value=self.token)
} self._headers = base._json
base = ApiBase() base = ApiBase()
base.dict_add_key(_key="memberId", value=self.memberId) base.dict_add_key(_key="memberId", value=self.memberId)
......
...@@ -36,9 +36,9 @@ class SettingsChangePassword(object): ...@@ -36,9 +36,9 @@ class SettingsChangePassword(object):
self.api = UtilsRequest() self.api = UtilsRequest()
def get_response(self): def get_response(self):
self._headers = { base = ApiBase()
"token": self.token base.dict_add_key(_key="token", value=self.token)
} self._headers = base._json
base = ApiBase() base = ApiBase()
base.dict_add_key(_key="memberId", value=self.memberId) base.dict_add_key(_key="memberId", value=self.memberId)
......
...@@ -31,13 +31,13 @@ class TestTriggerCreate(object): ...@@ -31,13 +31,13 @@ class TestTriggerCreate(object):
db_base = env["db_base"] db_base = env["db_base"]
base_name = "SS测试主机" base_name = "SS测试主机"
base_description = "SS测试触发器" base_description = "SS测试触发器"
base_expression = "{Template OS Linux:agent.ping.last()}=0" base_expression = "{Template OS Linux:agent.ping.nodata(5m)}=1"
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
cls.log.debug("开始执行测试套件.......") 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) 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)
# DataTriggers().delete_description(session=session, description=cls.base_description) DataTriggers().delete_description(session=session, description=cls.base_description)
@classmethod @classmethod
def teardown_class(cls): def teardown_class(cls):
......
...@@ -10,6 +10,8 @@ from WorkCase import CaseBase ...@@ -10,6 +10,8 @@ from WorkCase import CaseBase
from WorkUtils.UtilsLog import UtilsLog from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsDataBase import UtilsDataBase from WorkUtils.UtilsDataBase import UtilsDataBase
from WorkUtils.UtilsResponse import UtilsResponse from WorkUtils.UtilsResponse import UtilsResponse
from WorkApi.APP.Api.api_login import ApiLogin
from WorkApi.APP.Members.members_create import MembersCreate from WorkApi.APP.Members.members_create import MembersCreate
from WorkData.Argus.members import DataMembers from WorkData.Argus.members import DataMembers
...@@ -28,7 +30,10 @@ class TestMembersCreate(object): ...@@ -28,7 +30,10 @@ class TestMembersCreate(object):
db_user = env["db_user"] db_user = env["db_user"]
db_pw = env["db_pw"] db_pw = env["db_pw"]
db_base = env["db_base"] db_base = env["db_base"]
base_id = 10
base_name = "SS测试用户名" base_name = "SS测试用户名"
base_password = "123456"
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
...@@ -44,6 +49,14 @@ class TestMembersCreate(object): ...@@ -44,6 +49,14 @@ class TestMembersCreate(object):
def teardown_method(self): def teardown_method(self):
self.log.debug("测试用例执行结束...") self.log.debug("测试用例执行结束...")
@allure.step("调用接口:api.login")
def api_login(self, name=None, password=None):
api = ApiLogin(_host=self.host)
api.name = name
api.password = password
api.get_response()
return api.response
@allure.step("调用接口:members.create") @allure.step("调用接口:members.create")
def members_create(self, token=None, name=None, position=None, role=None, password=None, def members_create(self, token=None, name=None, position=None, role=None, password=None,
phone=None, email=None, wechatUrl=None, dingdingUrl=None, remark=None): phone=None, email=None, wechatUrl=None, dingdingUrl=None, remark=None):
...@@ -61,11 +74,22 @@ class TestMembersCreate(object): ...@@ -61,11 +74,22 @@ class TestMembersCreate(object):
api.get_response() api.get_response()
return api.response return api.response
@allure.step("创建测试数据")
def get_base_token(self):
response = self.api_login(name=self.base_name, password=self.base_password)
self.token = UtilsResponse().get_data(response=response)
@allure.step("连接数据库:Argus") @allure.step("连接数据库:Argus")
def db_session(self): def db_session(self):
session = UtilsDataBase().conn_mysql(db_url=self.db_url, db_port=self.db_port, db_base=self.db_base, db_user=self.db_user, db_pw=self.db_pw) session = UtilsDataBase().conn_mysql(db_url=self.db_url, db_port=self.db_port, db_base=self.db_base, db_user=self.db_user, db_pw=self.db_pw)
return session return session
@allure.step("新增表数据:members")
def insert_one(self, name=None, role=None, password=None):
session = self.db_session()
sql = DataMembers().insert_one(session=session, name=name, role=role, password=password)
return sql
@allure.step("查询表:members") @allure.step("查询表:members")
def select_members(self, members_id=None, name=None, role=None, status=None, del_flag=None): def select_members(self, members_id=None, name=None, role=None, status=None, del_flag=None):
session = self.db_session() session = self.db_session()
...@@ -73,6 +97,24 @@ class TestMembersCreate(object): ...@@ -73,6 +97,24 @@ class TestMembersCreate(object):
status=status, del_flag=del_flag) status=status, del_flag=del_flag)
return sql return sql
@allure.step("更新表数据:members -- del_flag")
def update_members_del_flag(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_del_flag(session=session, _id=members_id, value=value)
return sql
@allure.step("更新表数据:members -- status")
def update_members_status(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_status(session=session, _id=members_id, value=value)
return sql
@allure.step("更新表数据:members -- password")
def update_members_password(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_password(session=session, _id=members_id, value=value)
return sql
@allure.step("校验查询结果") @allure.step("校验查询结果")
def check_select(self, members_id, name, position, role, password, phone, email, wechatUrl, dingdingUrl, remark): def check_select(self, members_id, name, position, role, password, phone, email, wechatUrl, dingdingUrl, remark):
sql = self.select_memberss(members_id=members_id) sql = self.select_memberss(members_id=members_id)
...@@ -112,15 +154,43 @@ class TestMembersCreate(object): ...@@ -112,15 +154,43 @@ class TestMembersCreate(object):
_status = UtilsResponse().get_status(response=response) _status = UtilsResponse().get_status(response=response)
assert _status == status assert _status == status
@allure.title("members.create:创建一个新用户") @allure.title("members.create:token未传")
@allure.story("创建用户:创建一个新用户") @allure.story("创建用户:token未传")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_01(self): def test_case_01(self):
response = self.members_create(token="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxIn0.qfd0G-elhE1aGr15LrnYlIZ_3UToaOM5HeMcXrmDGBM",name=self.base_name, role=0, password=123456) self.get_base_token()
self.check_code(response=response, code=0)
response = self.members_create()
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
members_id = UtilsResponse().get_data(response=response) @allure.title("members.create:token的用户已删除")
# self.check_select(membersid=membersid, description=self.base_description, tags_tag=tags_tag, tags_value=tags_value) @allure.story("创建用户:token的用户已删除")
@allure.severity("blocker")
def test_case_02(self):
self.get_base_token()
self.update_members_del_flag(members_id=self.base_id, value=1)
response = self.members_create(token=self.token)
self.check_code(response=response, code=2004)
self.check_msg(response=response, msg="用户不存在")
@allure.title("settings.changePassword:token的用户已禁用")
@allure.story("变更密码:token的用户已禁用")
@allure.severity("blocker")
def test_case_03(self):
self.get_base_token()
self.update_members_status(members_id=self.base_id, value=1)
response = self.members_create(token=self.token)
self.check_code(response=response, code=2003)
self.check_msg(response=response, msg="账户已被禁用")
@allure.title("settings.changePassword:token错误")
@allure.story("变更密码:token错误")
def test_case_04(self):
self.get_base_token()
response = self.settings_changePassword(token="Test", memberId=self.base_id)
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="token错误,请重新登录")
if __name__ == "__main__": if __name__ == "__main__":
...@@ -137,4 +207,4 @@ if __name__ == "__main__": ...@@ -137,4 +207,4 @@ if __name__ == "__main__":
a = TestMembersCreate() a = TestMembersCreate()
a.setup_class() a.setup_class()
a.test_case_01() a.test_case_02()
...@@ -46,6 +46,7 @@ class TestSettingsChangePassword(object): ...@@ -46,6 +46,7 @@ class TestSettingsChangePassword(object):
self.log.debug("恢复测试数据...") self.log.debug("恢复测试数据...")
self.update_members_del_flag(members_id=self.base_id, value=0) self.update_members_del_flag(members_id=self.base_id, value=0)
self.update_members_status(members_id=self.base_id, value=0) self.update_members_status(members_id=self.base_id, value=0)
self.update_members_password(members_id=self.base_id, value=self.base_password)
def teardown_method(self): def teardown_method(self):
self.log.debug("测试用例执行结束...") self.log.debug("测试用例执行结束...")
...@@ -98,6 +99,12 @@ class TestSettingsChangePassword(object): ...@@ -98,6 +99,12 @@ class TestSettingsChangePassword(object):
sql = DataMembers().update_status(session=session, _id=members_id, value=value) sql = DataMembers().update_status(session=session, _id=members_id, value=value)
return sql return sql
@allure.step("更新表数据:members -- password")
def update_members_password(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_password(session=session, _id=members_id, value=value)
return sql
@allure.title("settings.changePassword:token未传") @allure.title("settings.changePassword:token未传")
@allure.story("变更密码:token未传") @allure.story("变更密码:token未传")
@allure.severity("blocker") @allure.severity("blocker")
...@@ -147,9 +154,13 @@ class TestSettingsChangePassword(object): ...@@ -147,9 +154,13 @@ class TestSettingsChangePassword(object):
def test_case_05(self): def test_case_05(self):
response = self.api_login(name=self.base_name, password=self.base_password) response = self.api_login(name=self.base_name, password=self.base_password)
self.token = UtilsResponse().get_data(response=response) self.token = UtilsResponse().get_data(response=response)
response = self.settings_changePassword(token=self.token, memberId=self.base_id) new_password = "Test"
response = self.settings_changePassword(token=self.token, memberId=self.base_id, oldPassword=self.base_password,
newPassword=new_password)
self.check_code(response=response, code=0) self.check_code(response=response, code=0)
self.api_login
if __name__ == "__main__": if __name__ == "__main__":
from WorkUtils.UtilsPyTest import UtilsPyTest from WorkUtils.UtilsPyTest import UtilsPyTest
......
...@@ -11,17 +11,17 @@ class CaseBase: ...@@ -11,17 +11,17 @@ class CaseBase:
self.environment = { self.environment = {
# "host": "http://10.0.0.12:7070", # "host": "http://10.0.0.12:7070",
# "db_url": "10.0.0.153", "db_url": "10.0.0.153",
# "db_port": 3306,
# "db_user": "zmops",
# "db_pw": "0VMoH%W7|h",
# "db_base": "zabbix",
"host": "http://localhost:7070",
"db_url": "10.0.0.155",
"db_port": 3306, "db_port": 3306,
"db_user": "root", "db_user": "zmops",
"db_pw": "123456", "db_pw": "0VMoH%W7|h",
"db_base": "zabbix" "db_base": "zabbix",
"host": "http://localhost:7070",
# "db_url": "10.0.0.155",
# "db_port": 3306,
# "db_user": "root",
# "db_pw": "123456",
# "db_base": "zabbix"
} }
self.app_environment = { self.app_environment = {
......
...@@ -47,6 +47,34 @@ class DataMembers(object): ...@@ -47,6 +47,34 @@ class DataMembers(object):
self.table = Members self.table = Members
def insert_one(self, session, name=None, password=None, role=None):
"""
:param session: 指针
:param name:
:param password:
:param role:
:return:
"""
self.log.debug("新增表数据:")
try:
base = UtilsDataBase()
base.add_param(_key="name", value=name)
base.add_param(_key="password", value=password)
base.add_param(_key="role", value=role)
sql_rep = self.table(**base.param)
session.add(sql_rep)
session.commit()
_id = sql_rep.id
self.log.debug("新增的id:%s" % _id)
session.close()
return _id
except UtilsDataBase().errors as error:
self.log.error("异常:")
self.log.error(error)
session.close()
return error
def select_all_from_allKeys(self, session, _id=None, name=None, role=None, status=None, del_flag=None): def select_all_from_allKeys(self, session, _id=None, name=None, role=None, status=None, del_flag=None):
""" """
:param session: 指针 :param session: 指针
...@@ -139,3 +167,25 @@ class DataMembers(object): ...@@ -139,3 +167,25 @@ class DataMembers(object):
self.log.error(error) self.log.error(error)
session.close() session.close()
return error return error
def update_password(self, session, _id, value):
"""
:param session: 指针
:param _id:
:param value:
:return:
"""
self.log.debug("查询数据库:")
try:
self.log.debug("更新相关测试数据")
sql_rep = session.query(self.table).filter_by(id=_id).one()
sql_rep.password = value
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
# -*- coding: utf_8 -*-
# 表名: functions
# 作者: 陈磊
# 时间: 2019-11-21
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, VARCHAR, BIGINT, 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 Functions(Base):
"""
监控与触发器关系表
"""
__tablename__ = "functions"
functionid = Column(BigInteger, primary_key=True)
itemid = Column(BigInteger)
triggerid = Column(BigInteger)
name = Column(VARCHAR(12))
parameter = Column(VARCHAR(255))
class DataFunctions(object):
def __init__(self):
self.log = UtilsLog()
self.log.info(self.__class__)
self.table = Functions
def select_all_from_allKeys(self, session, itemid=None, triggerid=None):
"""
:param session: 指针
:param itemid:
:param triggerid:
:return: 查询结果
"""
self.log.debug("查询数据库:")
self.log.debug("triggerid: %s" % triggerid)
self.log.debug("itemid: %s" % itemid)
try:
base = UtilsDataBase()
base.add_param(_key="itemid", value=itemid)
base.add_param(_key="triggerid", value=triggerid)
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
...@@ -82,6 +82,9 @@ class DataHosts(object): ...@@ -82,6 +82,9 @@ class DataHosts(object):
:return: 查询结果 :return: 查询结果
""" """
self.log.debug("查询数据库:") self.log.debug("查询数据库:")
self.log.debug("hostid: %s" % hostid)
self.log.debug("host: %s" % host)
self.log.debug("name: %s" % name)
try: try:
base = UtilsDataBase() base = UtilsDataBase()
base.add_param(_key="hostid", value=hostid) base.add_param(_key="hostid", value=hostid)
...@@ -97,7 +100,26 @@ class DataHosts(object): ...@@ -97,7 +100,26 @@ class DataHosts(object):
session.close() session.close()
return error return error
def delete_name(self, session, name): def select_like_name(self, session, name):
"""
:param session: 指针
:param name:
:return:
"""
self.log.debug("查询数据库:")
try:
self.log.debug("查询相关测试数据")
sql = session.query(self.table).filter(self.table.name.like(name + "%")).all()
session.close()
self.log.debug("删除成功")
return sql
except UtilsDataBase().errors as error:
self.log.error("异常:")
self.log.error(error)
session.close()
return error
def delete_like_name(self, session, name):
""" """
:param session: 指针 :param session: 指针
:param name: :param name:
...@@ -106,7 +128,7 @@ class DataHosts(object): ...@@ -106,7 +128,7 @@ class DataHosts(object):
self.log.debug("查询数据库:") self.log.debug("查询数据库:")
try: try:
self.log.debug("删除相关测试数据") self.log.debug("删除相关测试数据")
session.query(self.table).filter_by(name=name).delete(synchronize_session=False) session.query(self.table).filter(self.table.name.like(name + "%")).delete(synchronize_session=False)
# session.delete(sql) # session.delete(sql)
session.commit() session.commit()
session.close() session.close()
......
...@@ -51,6 +51,10 @@ class DataInterface(object): ...@@ -51,6 +51,10 @@ class DataInterface(object):
:return: 查询结果 :return: 查询结果
""" """
self.log.debug("查询数据库:") self.log.debug("查询数据库:")
self.log.debug("interfaceid: %s" % interfaceid)
self.log.debug("hostid: %s" % hostid)
self.log.debug("ip: %s" % ip)
self.log.debug("port: %s" % port)
try: try:
base = UtilsDataBase() base = UtilsDataBase()
base.add_param(_key="interfaceid", value=interfaceid) base.add_param(_key="interfaceid", value=interfaceid)
......
# -*- coding: utf_8 -*-
# 表名: items
# 作者: 陈磊
# 时间: 2019-11-21
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 Items(Base):
"""
监控信息表
"""
__tablename__ = "items"
itemid = Column(BigInteger, primary_key=True)
type = Column(Integer)
snmp_community = Column(VARCHAR(64))
snmp_oid = Column(VARCHAR(512))
hostid = Column(BigInteger)
name = Column(VARCHAR(255))
key_ = Column(VARCHAR(255))
delay = Column(VARCHAR(1024))
history = Column(VARCHAR(255))
trends = Column(VARCHAR(255))
status = Column(Integer)
value_type = Column(Integer)
trapper_hosts = Column(VARCHAR(255))
units = Column(VARCHAR(255))
snmpv3_securityname = Column(VARCHAR(64))
snmpv3_securitylevel = Column(Integer)
snmpv3_authpassphrase = Column(Integer)
snmpv3_privpassphrase = Column(VARCHAR(64))
formula = Column(VARCHAR(255))
error = Column(VARCHAR(2048))
lastlogsize = Column(BigInteger)
logtimefmt = Column(VARCHAR(64))
templateid = Column(BigInteger)
valuemapid = Column(BigInteger)
params = Column(TEXT)
ipmi_sensor = Column(VARCHAR(128))
authtype = Column(Integer)
username = Column(VARCHAR(64))
password = Column(VARCHAR(64))
publickey = Column(VARCHAR(64))
privatekey = Column(VARCHAR(64))
mtime = Column(Integer)
flags = Column(Integer)
interfaceid = Column(BigInteger)
port = Column(VARCHAR(64))
description = Column(TEXT)
inventory_link = Column(Integer)
lifetime = Column(VARCHAR(255))
snmpv3_authprotocol = Column(Integer)
snmpv3_privprotocol = Column(Integer)
state = Column(Integer)
snmpv3_contextname = Column(VARCHAR(255))
evaltype = Column(Integer)
jmx_endpoint = Column(VARCHAR(255))
master_itemid = Column(BigInteger)
timeout = Column(VARCHAR(255))
url = Column(VARCHAR(2048))
query_fields = Column(VARCHAR(2048))
posts = Column(TEXT)
status_codes = Column(VARCHAR(255))
follow_redirects = Column(Integer)
post_type = Column(Integer)
http_proxy = Column(VARCHAR(255))
headers = Column(TEXT)
retrieve_mode = Column(Integer)
request_method = Column(Integer)
output_format = Column(Integer)
ssl_cert_file = Column(VARCHAR(255))
ssl_key_file = Column(VARCHAR(255))
ssl_key_password = Column(VARCHAR(64))
verify_peer = Column(Integer)
verify_host = Column(Integer)
allow_traps = Column(Integer)
class DataItems(object):
def __init__(self):
self.log = UtilsLog()
self.log.info(self.__class__)
self.table = Items
def select_all_from_allKeys(self, session, hostid=None, templateid=None):
"""
:param session: 指针
:param hostid:
:param templateid:
:return: 查询结果
"""
self.log.debug("查询数据库:")
self.log.debug("hostid: %s" % hostid)
self.log.debug("templateid: %s" % templateid)
try:
base = UtilsDataBase()
base.add_param(_key="hostid", value=hostid)
base.add_param(_key="templateid", value=templateid)
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_hostid(self, session, hostid):
"""
:param session: 指针
:param hostid:
:return:
"""
self.log.debug("查询数据库:")
try:
self.log.debug("删除相关测试数据")
session.query(self.table).filter_by(hostid=hostid).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
...@@ -51,18 +51,23 @@ class DataTriggers(object): ...@@ -51,18 +51,23 @@ class DataTriggers(object):
self.table = Triggers self.table = Triggers
def select_all_from_allKeys(self, session, triggerid=None, description=None): def select_all_from_allKeys(self, session, triggerid=None, description=None, templateid=None):
""" """
:param session: 指针 :param session: 指针
:param triggerid: :param triggerid:
:param templateid:
:param description: :param description:
:return: 查询结果 :return: 查询结果
""" """
self.log.debug("查询数据库:") self.log.debug("查询数据库:")
self.log.debug("triggerid: %s" % triggerid)
self.log.debug("description: %s" % description)
self.log.debug("templateid: %s" % templateid)
try: try:
base = UtilsDataBase() base = UtilsDataBase()
base.add_param(_key="triggerid", value=triggerid) base.add_param(_key="triggerid", value=triggerid)
base.add_param(_key="description", value=description) base.add_param(_key="description", value=description)
base.add_param(_key="templateid", value=templateid)
sql_rep = session.query(self.table).filter_by(**base.param).all() sql_rep = session.query(self.table).filter_by(**base.param).all()
self.log.debug(sql_rep) self.log.debug(sql_rep)
session.close() session.close()
...@@ -93,3 +98,24 @@ class DataTriggers(object): ...@@ -93,3 +98,24 @@ class DataTriggers(object):
self.log.error(error) self.log.error(error)
session.close() session.close()
return error return error
def delete_description(self, session, description):
"""
:param session: 指针
:param description:
:return:
"""
self.log.debug("查询数据库:")
try:
self.log.debug("删除相关测试数据")
session.query(self.table).filter_by(description=description).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
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment