示例#1
0
    def response(self):
        '''watch
        '''
        zoo_client = ZookeeperService.get_zoo_client(self.cluster_name)
        if not zoo_client:
            return self.ajax_popup(code=300, msg="连接zookeeper出错!")

        try:
            zk_agents = zoo_client.get_children(self.agent_register_prefix)
        except NoNodeError:
            return self.ajax_popup(code=300, msg="节点路径不存在!")

        records = ZdQconfAgent.select().where(
            (ZdQconfAgent.cluster_name == self.cluster_name) &
            (ZdQconfAgent.deleted == '0')
        )
        mysql_agents = [record.hostname for record in records]

        # agent在mysql上的统计信息和在zookeeper上注册信息的对比
        agents_stat = []
        for diff_info in Differ().compare(mysql_agents, zk_agents):
            agent_name = diff_info[2:]
            if diff_info[0] == "+":
                cmp_res = ['无', agent_name]
            elif diff_info[0] == "-":
                cmp_res = [agent_name, '无']
            else:
                cmp_res = [agent_name, agent_name]
            agents_stat.append(cmp_res)
        return agents_stat
示例#2
0
 def response(self):
     '''导出选中数据到excel中
     '''
     id_li = self.info_ids.split(',')
     sheet_text = ZdQconfAgent.select().where(ZdQconfAgent.id << id_li)
     sheet_title = [
         {
             'name': 'ip'
         },
         {
             'name': '主机名'
         },
         {
             'name': '说明'
         },
     ]
     bind_attr = (
         'ip',
         'hostname',
         'notes',
     )
     ewb = ExcelWorkBook()
     sheet_name = ZdQconfAgent._meta.db_table
     ewb.add_sheet(sheet_name)
     ewb.add_title(sheet_name, sheet_title)
     ewb.add_text(sheet_name, sheet_text, bind=bind_attr)
     filename = '{}.xls'.format(sheet_name)
     filename = urllib.urlencode({'filename': filename})
     self.set_header('Content-Disposition',
                     'attachment;{}'.format(filename))
     self.finish(ewb.get_stream())
示例#3
0
 def response(self):
     '''search
     '''
     clauses = self.parse_query(ZdQconfAgent)
     order = getattr(ZdQconfAgent, self.order_field)
     records = ZdQconfAgent.select().order_by(
         getattr(order, self.order_direction)()
     ).where(reduce(operator.and_, clauses))
     self.render('config/agent/datagrid.html',
                 total=records.count(),
                 current_page=self.current_page,
                 page_size=self.page_size,
                 records=records.paginate(self.current_page, self.page_size))
示例#4
0
 def response(self):
     """index
     """
     clauses = self.parse_query(ZdQconfAgent)
     order = getattr(ZdQconfAgent, self.order_field)
     records = (
         ZdQconfAgent.select().order_by(getattr(order, self.order_direction)()).where(reduce(operator.and_, clauses))
     )
     self.render(
         "config/agent/index.html",
         action="/config/agent/index",
         total=records.count(),
         current_page=self.current_page,
         page_size=self.page_size,
         records=records.paginate(self.current_page, self.page_size),
     )
示例#5
0
 def response(self):
     """导出选中数据到excel中
     """
     id_li = self.info_ids.split(",")
     sheet_text = ZdQconfAgent.select().where(ZdQconfAgent.id << id_li)
     sheet_title = [{"name": "ip"}, {"name": "主机名"}, {"name": "说明"}]
     bind_attr = ("ip", "hostname", "notes")
     ewb = ExcelWorkBook()
     sheet_name = ZdQconfAgent._meta.db_table
     ewb.add_sheet(sheet_name)
     ewb.add_title(sheet_name, sheet_title)
     ewb.add_text(sheet_name, sheet_text, bind=bind_attr)
     filename = "{}.xls".format(sheet_name)
     filename = urllib.urlencode({"filename": filename})
     self.set_header("Content-Disposition", "attachment;{}".format(filename))
     self.finish(ewb.get_stream())
示例#6
0
文件: agent.py 项目: 87439247/zkdash
 def response(self):
     '''导出选中数据到excel中
     '''
     id_li = self.info_ids.split(',')
     sheet_text = ZdQconfAgent.select().where(ZdQconfAgent.id << id_li)
     sheet_title = [
         {'name': 'ip'},
         {'name': '主机名'},
         {'name': '说明'},
     ]
     bind_attr = (
         'ip',
         'hostname',
         'notes',
     )
     ewb = ExcelWorkBook()
     sheet_name = ZdQconfAgent._meta.db_table
     ewb.add_sheet(sheet_name)
     ewb.add_title(sheet_name, sheet_title)
     ewb.add_text(sheet_name, sheet_text, bind=bind_attr)
     filename = '{}.xls'.format(sheet_name)
     filename = urllib.urlencode({'filename': filename})
     self.set_header('Content-Disposition', 'attachment;{}'.format(filename))
     self.finish(ewb.get_stream())