class OperationLogTable(tables.Table): helpdoc = u'查看系统操作日志' uid = tables.Column(u'用户名', orderable=True, accessor='user.username', attrs=tables.Attrs(th={'width': '10%'})) terminal_ip = tables.Column(u'终端IP', orderable=True, attrs=tables.Attrs(th={'width': '15%'})) action = tables.EnumColumn(u'操作', 'oper_obj', enums={ 'insert': u'添加', 'update': u'更新', 'delete': u'删除' }, orderable=True) module = tables.Column(u'操作对象', orderable=True) created_at = tables.DateTimeColumn(u'时间', orderable=True, format='%Y-%m-%d %H:%M:%S') summary = tables.PopoverColumn(u'详细') class Meta(): model = OperationLog order_by = '-created_at'
class AlarmTable(t.Table): ack = t.Action(name=u'确认', endpoint='alarms.alarms_ack', modalable=True) clear = t.Action(name=u'清除', endpoint='alarms.alarms_clear', modalable=True) check = t.CheckBoxColumn() severity = SeverityColumn() alarm_state = t.EnumColumn(u'状态', name='alarm-state', enums=constants.STATES, orderable=True) alarm_alias = t.LinkColumn(u'名称', endpoint='alarms.alarms_show', orderable=True) node_alias = t.LinkColumn(u'节点', accessor='node.alias', orderable=True) node_addr = t.Column(u'节点地址', accessor='node.addr', orderable=True) summary = t.Column(u'详细') occur_count = t.Column(u'发生次数') last_occurrence = t.Column(u'最后发生时间', orderable=True) class Meta: model = Alarm per_page = 30 order_by = '-last_occurrence' url_makers = { 'node_alias': lambda record: redirect_node_show(record.node), 'node_addr': lambda record: redirect_node_show(record.node) }
class PonUsageTable(t.Table): helpdoc = u'PON口占用率' pontotal = t.Column(u'PON口总数') ponused = t.Column(u'PON口使用数') ponusage = t.Column(u'PON口占用率') ponfree = t.Column(u'PON口空闲率') class Meta(): model = PonUsagePerf
class BoardTable(t.Table, NodeMixin): helpdoc = u'板卡' boardtype = t.Column('板卡类型', ) cpu = t.Column(u'CPU利用率', subcolumns=[(u'均值', 'cpuavg'), (u'峰值', 'cpumax')]) mem = t.Column(u'内存', subcolumns=[(u'均值', 'memavg'), (u'峰值', 'memmax')]) temp = t.Column(u'温度', subcolumns=[(u'均值', 'tempavg'), (u'峰值', 'tempmax')]) class Meta(): model = BoardPerf
class IntfUsageTable(t.Table, NodeMixin): helpdoc = u'端口占用' intftotal = t.Column(u'端口总数') intfused = t.Column(u'端口使用数') intfusage = t.Column(u'端口占用率') intfidle = t.Column(u'端口空闲率') class Meta(): model = IntfUsagePerf
class EocTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='nodes.eocs_edit') delete = tables.Action(name=u'删除', endpoint='nodes.eocs_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(u'名称', endpoint='nodes.eocs_show', orderable=True) alias = tables.Column(u'别名', orderable=True) vendor_name = tables.Column(u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(u'型号', orderable=True, accessor='model.alias') addr = tables.Column(u'IP', orderable=True) area_name = tables.Column(u'所属区域', accessor='area.full_name') onu_name = tables.Column(u'所属ONU', accessor='onu.name') last_check = tables.Column(u'上次同步', orderable=True) cpe_count_plan = tables.Column(u'CPE终端数量') cpe_count_unplan = tables.Column(u'未规划CPE终端') class Meta(): model = NodeEoc per_page = 30 url_makers = { 'onu_name': lambda record: url_for('nodes.onus_show', id=record.olt.id), }
class CpuMemTable(t.Table, NodeMixin): helpdoc = u"CPU/内存" cpu = t.Column(u'CPU利用率', orderable=True, subcolumns=[(u'均值', 'cpuavg'), (u'峰值', 'cpumax')]) mem = t.Column(u'内存', orderable=True, subcolumns=[(u'均值', 'memavg'), (u'峰值', 'memmax')]) temp = t.Column(u'温度', orderable=True, subcolumns=[(u'均值', 'tempavg'), (u'峰值', 'tempmax')]) powerstate = t.Column(u'电源状态', orderable=True) fanstate = t.Column(u'风扇状态') class Meta(): model = CpuMemPerf
class SecurityLogTable(tables.Table): helpdoc = u'查看系统安全日志' uid = tables.Column(u'用户名', orderable=True, accessor='user.username') terminal_ip = tables.Column(u'终端IP', orderable=True) summary = tables.Column(u'操作', orderable=True) time = tables.Column(u'时间') class Meta(): model = SecurityLog order_by = '-id'
class SettingTable(tables.Table): helpdoc = u'查看系统设置参数' edit = tables.Action(name=u'编辑', endpoint='system.settings_edit') check = tables.CheckBoxColumn() name = tables.Column(u'参数名', orderable=True) alias = tables.Column(u'参数别名', orderable=True) value = tables.Column(u'参数值') unit = tables.Column(u'参数单位') class Meta(): model = Setting
class QueryTable(t.Table): #edit = t.Action(name=u'Edit', endpoint='alarms.query_edit') check = t.CheckBoxColumn() name = t.LinkColumn(u'名称', endpoint='alarms.query_edit', orderable=True) is_public = t.Column(u'是否公开', orderable=True) created_at = t.Column(u'创建时间', orderable=True) updated_at = t.Column(u'最后更新时间') class Meta: model = Query per_page = 30 order_by = '-created_at'
class DictCodeTable(tables.Table): helpdoc = u'查看系统字典' edit = tables.Action(name=u'编辑', endpoint='system.dict_codes_edit') check = tables.CheckBoxColumn() type_label = tables.Column(u'字典类型', orderable=True, accessor='type.type_label') code_label = tables.Column(u'字典值', orderable=True) is_valid = tables.EnumColumn(u'是否有效', 'is_valid', enums={0: u'否', 1: u'是'}) class Meta(): model = DictCode
class NodeTable(tables.Table): edit = tables.Action(name=u'编辑', url=lambda record: redirect_node_edit(record)) delete = tables.Action(name=u'删除', endpoint='nodes.nodes_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(u'名称', orderable=True) alias = tables.Column(u'别名', orderable=True) category = tables.Column(u'节点类型', orderable=True, accessor='category.alias') vendor_name = tables.Column(u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(u'型号', orderable=True, accessor='model.alias') addr = tables.Column(u'IP', orderable=True) area_name = tables.Column(u'所属区域', accessor='area.full_name') last_check = tables.Column(u'上次同步', orderable=True) summary = tables.Column(u'状态信息') class Meta(): model = Node per_page = 30 url_makers = { 'name': lambda record: redirect_node_show(record), 'edit': lambda record: redirect_node_show(record) }
class DomainTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='users.domains_edit') delete = tables.Action(name=u'删除', endpoint='users.domains_delete', modalable=True) check = tables.CheckBoxColumn() name = tables.Column(u'名称') description = tables.Column(u'描述') class Meta(): model = Domain order_by = 'id'
class PermissionTable(t.Table): helpdoc = u'权限表' edit = t.Action(name=u'编辑', endpoint='admin.permissions_edit') delete = t.Action(name=u'删除', endpoint='admin.permissions_delete', modalable=True) check = t.CheckBoxColumn() endpoint = t.Column(u'endpoint', orderable=True) module_text = t.Column(u'模块名', orderable=True) name = t.Column(u'子模块名') operation = t.Column(u'操作名', orderable=True) class Meta(): model = Permission order_by = 'endpoint'
class SubSystemTable(tables.Table): helpdoc = u'查看所有子系统 (子采集)' name = tables.Column(u'名称', orderable=True) alias = tables.Column(u'显示名') host = tables.Column(u'主机名', orderable=True) status = tables.EnumColumn(u'状态', 'state', enums=constants.STATUS, orderable=True) descr = tables.Column(u'描述') started_at = tables.DateTimeColumn(u'开始采集时间', orderable=True) class Meta(): model = SubSystem
class SysOidTable(t.Table): helpdoc = u'SysOid表: 管理设备系统OID' edit = t.Action(name=u'编辑', endpoint='admin.sysoids_edit') delete = t.Action(name=u'删除', endpoint='admin.sysoids_delete', modalable=True) check = t.CheckBoxColumn() sysoid = t.Column(u'OID', orderable=True) model = t.Column(u'设备型号', accessor='model.alias', orderable=True) disco = t.Column(u'发现模块') mib = t.Column(u'MIB', orderable=True) remark = t.Column(u'备注') class Meta(): model = SysOid order_by = 'id'
class VendorTable(t.Table): helpdoc = u'厂商表' edit = t.Action(name=u'编辑', endpoint='admin.vendors_edit') delete = t.Action(name=u'删除', endpoint='admin.vendors_delete', modalable=True) check = t.CheckBoxColumn() id = t.Column(u'ID', orderable=True) name = t.Column(u'供应商名', orderable=True) alias = t.Column(u'供应商别名', orderable=True) url = t.Column(u'供应商URL') is_valid= t.Column(u'是否有效') class Meta(): model = Vendor order_by = 'id'
class AlarmClassTable(t.Table): name = t.LinkColumn(u'名称', endpoint='alarms.classes_edit', orderable=True) alias = t.LinkColumn(u'显示名', endpoint='alarms.classes_edit', orderable=True) category = t.Column(u'分类', accessor="category.alias") severity = SeverityColumn() probable_cause = t.Column(u'可能原因') specific_problem = t.Column(u'特定原因') additional_info = t.Column(u'附加信息') remark = t.Column(u'备注') class Meta: model = AlarmClass per_page = 50 order_by = 'id'
class MiboidTable(t.Table): helpdoc = u'Mib 表' edit = t.Action(name=u'编辑', endpoint='admin.miboids_edit') delete = t.Action(name=u'删除', endpoint='admin.miboids_delete', modalable=True) check = t.CheckBoxColumn() grp = t.Column(u'分组') name = t.Column(u'名称') oid = t.Column(u'oid') alias = t.Column(u'显示名') is_valid = t.EnumColumn(u'是否有效', 'is_valid', enums={0: u'否', 1: u'是'}) remark = t.Column(u'备注') class Meta(): model = Miboid group_by = 'grp'
class CategoryTable(t.Table): helpdoc = u"分类表: 管理设备分类表" edit = t.Action(name=u'编辑', endpoint='admin.categories_edit') delete = t.Action(name=u'删除', endpoint='admin.categories_delete', modalable=True) check = t.CheckBoxColumn() id = t.Column(u'ID', orderable=True) obj = t.Column(u'对象', orderable=True) name = t.Column(u'分类名', orderable=True) alias = t.Column(u'分类别名') is_valid= t.Column(u'是否有效') class Meta(): model = Category order_by = 'id'
class HistoryTable(t.Table): severity = SeverityColumn() alarm_alias = t.LinkColumn(u'名称', endpoint='alarms.history_show', orderable=True) node_alias = t.LinkColumn(u'节点', orderable=True) #accessor='node.alias', node_addr = t.Column(u'节点地址') summary = t.Column(u'详细') occur_count = t.Column(u'发生次数') last_occurrence = t.Column(u'最后发生时间', orderable=True) created_at = t.Column(u'迁移历史时间') class Meta: model = History per_page = 30 order_by = '-created_at' url_makers = { 'node_alias': lambda record: redirect_node_show(record.node) }
class MetricTable(tables.Table): helpdoc = u'指标管理' edit = tables.Action(name=u'编辑', endpoint='system.metrics_edit') delete = tables.Action(name=u'删除', endpoint='system.metrics_delete', modalable=True) check = tables.CheckBoxColumn() grp = tables.Column(u'分组') name = tables.LinkColumn(u'名称', endpoint='system.metrics_edit') alias = tables.LinkColumn(u'显示名', endpoint='system.metrics_edit') calc = tables.Column(u'计算方法') unit = tables.Column(u'单位') format = tables.Column(u'格式') descr = tables.Column(u'说明') class Meta(): model = Metric group_by = 'grp'
class CategoryTable(tables.Table): category_name = tables.EnumColumn(u'类型', name='category', enums={ 1: u'OLT', 2: u'ONU', 3: u'DSLAM', 4: u'EOC', 5: u'Switch' }, orderable=True) total_count = tables.Column(u'数量') status1_count = tables.Column(u'正常') status2_count = tables.Column(u'宕机') status3_count = tables.Column(u'不可达') status4_count = tables.Column(u'未监控') class Meta(): model = Node
class IntfTrafficOctetsTable(t.Table): """流量流速""" octetstotal = t.Column(u'总流量') bwusage = t.Column(u'总带宽利用率', subcolumns=[(u'均值', 'bwusage'), (u'峰值', 'bwusagemax')]) inoctetstotal = t.Column(u'接收流量') inbwusage = t.Column(u'接收带宽利用率', subcolumns=[(u'均值', 'inbwusage'), (u'峰值', 'inbwusagemax')]) outoctetstotal = t.Column(u'发送流量') outbwusage = t.Column(u'发送带宽利用率', subcolumns=[(u'均值', 'outbwusage'), (u'峰值', 'outbwusagemax')]) octets = t.Column(u'总速率', subcolumns=[(u'均值', 'octets'), (u'峰值', 'octetsmax')]) inoctets = t.Column(u'总发送速率', subcolumns=[(u'均值', 'inoctets'), (u'峰值', 'inoctetsmax')]) outoctets = t.Column(u'总接收速率', subcolumns=[(u'均值', 'outoctets'), (u'峰值', 'outoctetsmax')]) class Meta(): model = IntfTrafficPerf
class IntfTrafficTable(t.Table, NodeMixin): helpdoc = u'端口流量' node_alias = t.Column(u'节点别名', accessor='node.alias') intf_alias = t.Column(u'端口', accessor='intf.alias') sampletime = t.Column(u'时间') inoctets = t.Column(u'接收速率', subcolumns=[(u'均值', 'inoctets'), (u'峰值', 'inoctetsmax')]) inpkts = t.Column(u'接收包数', subcolumns=[(u'均值', 'inpkts'), (u'峰值', 'inpktsmax')]) inucastpkts = t.Column(u'单播包数') outoctets = t.Column(u'发送速率', subcolumns=[(u'均值', 'outoctets'), (u'峰值', 'outoctetsmax')]) outpkts = t.Column(u'发送包数', subcolumns=[(u'均值', 'outpkts'), (u'峰值', 'outpktsmax')]) outucastpkts = t.Column(u'单播包数') class Meta(): model = IntfTrafficPerf
class AlarmKnowledgeTable(t.Table): class_alias = t.LinkColumn(u'故障名称', endpoint='alarms.knowledges_edit', accessor='alarm_class.alias', orderable=True) probable_cause = t.Column(u'可能原因') resolvent = t.Column(u'解决方法') probability = t.EnumColumn(u'发生概率', 'probability', enums={ 1: u'极少发生', 2: u'偶尔发生', 3: u'频繁发生' }) apply_count = t.Column(u'应用次数') class Meta: model = AlarmKnowledge per_page = 50 order_by = '-id'
class CpeTable(tables.Table): edit = tables.Action(name=u'编辑', endpoint='nodes.cpes_edit') delete = tables.Action(name=u'删除', endpoint='nodes.cpes_delete', attrs=Attrs(a={"class": "delete"})) check = tables.CheckBoxColumn() status = StatusColumn() name = tables.LinkColumn(endpoint='nodes.cpes_show', verbose_name=u'名称', orderable=True) alias = tables.Column(verbose_name=u'别名', orderable=True) vendor_name = tables.Column(verbose_name=u'厂商', orderable=True, accessor='vendor.alias') model_name = tables.Column(verbose_name=u'型号', orderable=True, accessor='model.alias') mac = tables.Column(verbose_name=u'Mac地址', orderable=True) area_name = tables.Column(verbose_name=u'所属区域', accessor='area.full_name') eoc_name = tables.LinkColumn(verbose_name=u'所属EOC', accessor='eoc.name') last_check = tables.Column(verbose_name=u'上次同步', orderable=True) class Meta(): model = NodeCpe per_page = 30 url_makers = { 'eoc_name': lambda record: url_for('nodes.eocs_show', id=record.eoc.id), }
class ThresholdTable(tables.Table): helpdoc = u'阀值设置' edit = tables.Action(name=u'编辑', endpoint='system.thresholds_edit') check = tables.CheckBoxColumn() alias = tables.Column(u'阀值') summary = tables.Column(u'摘要') category_name = tables.Column(u'设备', accessor='category.alias') occur_cond1 = tables.Column(u'一级产生条件') restore_cond1 = tables.Column(u'一级恢复条件') severity1 = tables.Column(u'一级告警条件') occur_cond2 = tables.Column(u'二级产生条件') restore_cond2 = tables.Column(u'二级恢复条件') severity2 = tables.Column(u'二级告警条件') enabled = tables.EnumColumn(u'是否有效', 'is_valid', enums={0: u'否', 1: u'是'}) class Meta(): model = Threshold
class PingTable(t.Table, NodeMixin): helpdoc = u'PING时延' rtavg = t.Column(u'平均时延(ms)', orderable=True) rtmax = t.Column(u'最大时延(ms)', orderable=True) rtmin = t.Column(u'最小时延(ms)', orderable=True) lossavg = t.Column(u'平均丢包率(%)', orderable=True) lossmax = t.Column(u'最大丢包率(%)', orderable=True) stdevavg = t.Column(u'平均抖动率', orderable=True) stdevmax = t.Column(u'最大抖动率', orderable=True) class Meta(): model = PingPerf
class VendorTable(tables.Table): alias = tables.Column(u'名称', orderable=True) node_count = tables.Column(u'数量') node_status1_count = tables.Column(u'正常') node_status2_count = tables.Column(u'宕机') node_status3_count = tables.Column(u'不可达') node_status4_count = tables.Column(u'未监控') class Meta(): model = Node