def get(self, *args, **kwargs):
        key = self.get_argument('key', default=None, strip=True)
        value = self.get_argument('value', default=None, strip=True)
        page_size = self.get_argument('page', default=1, strip=True)
        limit = self.get_argument('limit', default=15, strip=True)
        limit_start = (int(page_size) - 1) * int(limit)
        event_record_list = []
        with DBContext('w') as session:
            if key and value:
                count = session.query(EventRecord).filter_by(**{
                    key: value
                }).count()
                event_record_data = session.query(EventRecord).filter_by(
                    **{
                        key: value
                    }).order_by(EventRecord.id).offset(limit_start).limit(
                        int(limit))
            else:
                count = session.query(EventRecord).count()
                event_record_data = session.query(EventRecord).order_by(
                    EventRecord.id).offset(limit_start).limit(int(limit))

        for data in event_record_data:
            data_dict = model_to_dict(data)
            data_dict['event_start_time'] = str(data_dict['event_start_time'])
            data_dict['event_end_time'] = str(data_dict['event_end_time'])
            data_dict['create_at'] = str(data_dict['create_at'])
            data_dict['update_at'] = str(data_dict['update_at'])
            event_record_list.append(data_dict)
        return self.write(
            dict(code=0, msg='获取成功', count=count, data=event_record_list))
    def get(self, *args, **kwargs):
        zabbix_url = self.get_argument('zabbix_url', default=None, strip=True)
        group_name = self.get_argument('group_name', default=None, strip=True)
        search_val = self.get_argument('search_val', default=None, strip=True)
        host_list = []
        if search_val:
            with DBContext('w') as session:
                zabbix_host_info = session.query(ZabbixHosts).filter(
                    or_(ZabbixHosts.group_name.like('%{}%'.format(search_val)),
                        ZabbixHosts.host_name.like('%{}%'.format(search_val)),
                        ZabbixHosts.zabbix_url.like('%{}%'.format(search_val)))
                ).order_by(ZabbixHosts.zabbix_url, ZabbixHosts.group_name).all()

        elif zabbix_url and group_name:
            with DBContext('w') as session:
                zabbix_host_info = session.query(ZabbixHosts).filter(ZabbixHosts.zabbix_url == zabbix_url,
                                                                     ZabbixHosts.group_name == group_name).order_by(
                    ZabbixHosts.zabbix_url, ZabbixHosts.group_name).all()
        else:
            with DBContext('w') as session:
                zabbix_host_info = session.query(ZabbixHosts).order_by(ZabbixHosts.zabbix_url,
                                                                       ZabbixHosts.group_name).all()

        for msg in zabbix_host_info:
            data_dict = model_to_dict(msg)
            hook_list = []
            if data_dict['zabbix_hooks']:
                git_hooks = json.loads(data_dict['zabbix_hooks'])
                for k, v in git_hooks.items():
                    v['alert_title'] = k
                    hook_list.append(v)
            data_dict['hook_list'] = hook_list
            host_list.append(data_dict)

        return self.write(dict(code=0, msg='获取成功', data=host_list))
Exemple #3
0
    def get(self, *args, **kwargs):
        key = self.get_argument('key', default=None, strip=True)
        value = self.get_argument('value', default=None, strip=True)
        page_size = self.get_argument('page', default=1, strip=True)
        limit = self.get_argument('limit', default=15, strip=True)
        limit_start = (int(page_size) - 1) * int(limit)
        zabbix_list = []
        with DBContext('w') as session:
            if key and value:
                count = session.query(ZabbixConfig).filter_by(**{
                    key: value
                }).count()
                zabbix_data = session.query(ZabbixConfig).filter_by(**{
                    key: value
                }).order_by(ZabbixConfig.id).offset(limit_start).limit(
                    int(limit))
            else:
                count = session.query(ZabbixConfig).count()
                zabbix_data = session.query(ZabbixConfig).order_by(
                    ZabbixConfig.id).offset(limit_start).limit(int(limit))

        for data in zabbix_data:
            data_dict = model_to_dict(data)
            zabbix_list.append(data_dict)
        return self.write(
            dict(code=0, msg='获取成功', count=count, data=zabbix_list))
Exemple #4
0
 def get_remind_data(self):
     remind_list = []
     remind_data = db_session.query(remindModels).all()
     for data in remind_data:
         data_dict = model_to_dict(data)
         if data_dict['remind_email']:
             data_dict['remind_email'] = data_dict['remind_email'].split(',')
         remind_list.append(data_dict)
     return remind_list
 def get(self, *args, **kwargs):
     page_size = self.get_argument('page', default=1, strip=True)
     limit = self.get_argument('limit', default=1, strip=True)
     limit_start = (int(page_size) - 1) * int(limit)  # 只能有一条
     submit_task_conf_list = []
     with DBContext('w') as session:
         zabbix_submit_task_conf_data = session.query(ZabbixSubmitTaskConf).order_by(ZabbixSubmitTaskConf.id).offset(
             limit_start).limit(int(limit))
     for data in zabbix_submit_task_conf_data:
         data_dict = model_to_dict(data)
         submit_task_conf_list.append(data_dict)
     return self.write(dict(code=0, msg='获取成功', data=submit_task_conf_list))
    def get(self, *args, **kwargs):
        log_list = []

        with DBContext('w') as session:
            hooks_log_info = session.query(ZabbixHookLog).order_by(-ZabbixHookLog.id).limit(200).all()

        for msg in hooks_log_info:
            data_dict = model_to_dict(msg)
            data_dict['create_time'] = str(data_dict['create_time'])
            log_list.append(data_dict)

        return self.write(dict(code=0, msg='获取成功', data=log_list))
Exemple #7
0
    def get(self, *args, **kwargs):
        hosts_list = []
        with DBContext('w') as session:
            hosts_info = session.query(ZabbixHosts).all()

        for msg in hosts_info:
            data_dict = model_to_dict(msg)
            hosts_list.append(data_dict)

        _tree = [{
            "expand": True,
            "title": "ZABBIX",
            "children": [],
            "data_type": 'root'
        }]

        if hosts_list:
            tmp_tree = {
                "zabbix_url": {},
                "group_name": {},
            }

            for t in hosts_list:
                zabbix_url, group_name = t["zabbix_url"], t['group_name']

                # 因为是第一层所以没有parent
                tmp_tree["zabbix_url"][zabbix_url] = {
                    "expand": True,
                    "title": zabbix_url,
                    "parent": "ZABBIX",
                    "children": [],
                    "data_type": 'zabbix_url'
                }

                tmp_tree["group_name"][zabbix_url + "|" + group_name] = {
                    "expand": False,
                    "title": group_name,
                    "parent": zabbix_url,
                    "zabbix_url": zabbix_url,
                    "children": [],
                    "data_type": 'group_name'
                }

            for tmp_group in tmp_tree["group_name"].values():
                tmp_tree["zabbix_url"][tmp_group["parent"]]["children"].append(
                    tmp_group)

            for tmp_zabbix in tmp_tree["zabbix_url"].values():
                _tree[0]["children"].append(tmp_zabbix)

            return self.write(dict(code=0, msg='获取项目Tree成功', data=_tree))
        else:
            return self.write(dict(code=0, msg='获取项目Tree失败', data=_tree))
Exemple #8
0
def get_alert_info():
    """
    获取alert报警配置信息
    :return:
    """
    alert_list = []
    tornado_alert = db_session.query(PrometheusAlert).all()
    for data in tornado_alert:
        data_dict = model_to_dict(data)
        data_dict['create_at'] = str(data_dict['create_at'])
        data_dict['update_at'] = str(data_dict['update_at'])
        alert_list.append(data_dict)

    return alert_list
def get_paid_info():
    """
    获取付费管理信息
    :return:
    """
    paid_list = []
    paid_data = db_session.query(PaidMG).all()
    db_session.close()

    for data in paid_data:
        data_dict = model_to_dict(data)
        data_dict['paid_start_time'] = str(data_dict['paid_start_time'])
        data_dict['paid_end_time'] = str(data_dict['paid_end_time'])
        data_dict['create_at'] = str(data_dict['create_at'])
        data_dict['update_at'] = str(data_dict['update_at'])
        paid_list.append(data_dict)
    return paid_list
Exemple #10
0
    def get(self, *args, **kwargs):
        key = self.get_argument('key', default=None, strip=True)
        page_size = self.get_argument('page', default=1, strip=True)
        limit = self.get_argument('limit', default="13", strip=True)
        limit_start = (int(page_size) - 1) * int(limit)
        remind_list = []
        print(key, page_size, limit)
        with DBContext('w') as session:
            if key:
                count = session.query(remindModels).filter(
                    or_(
                        remindModels.remind_name.like('%{}%'.format(key)),
                        remindModels.remind_content.like('%{}%'.format(key)),
                        remindModels.remind_day.like('%{}%'.format(key)),
                        remindModels.remind_method.like('%{}%'.format(key)),
                        remindModels.remind_type.like('%{}%'.format(key)),
                        remindModels.remind_email.like('%{}%'.format(key)),
                        remindModels.webhook_addr.like('%{}%'.format(key)),
                    )).count()
                remind_data = session.query(remindModels).filter(
                    or_(
                        remindModels.remind_name.like('%{}%'.format(key)),
                        remindModels.remind_content.like('%{}%'.format(key)),
                        remindModels.remind_day.like('%{}%'.format(key)),
                        remindModels.remind_method.like('%{}%'.format(key)),
                        remindModels.remind_type.like('%{}%'.format(key)),
                        remindModels.webhook_addr.like('%{}%'.format(key)),
                        remindModels.remind_email.like('%{}%'.format(key)),
                    ))
            else:
                count = session.query(remindModels).count()
                # remind_data = session.query(remindModels).order_by(remindModels.id).all()
                remind_data = session.query(remindModels).offset(
                    limit_start).limit(int(limit))

            for data in remind_data:
                data_dict = model_to_dict(data)
                data_dict['remind_time'] = str(data_dict['remind_time'])
                if data_dict['remind_email']:
                    data_dict['remind_email'] = data_dict[
                        'remind_email'].split(',')
                remind_list.append(data_dict)

        return self.write(
            dict(code=0, msg='获取成功', count=count, data=remind_list))
Exemple #11
0
    def get(self, *args, **kwargs):
        key = self.get_argument('key', default=None, strip=True)
        value = self.get_argument('value', default=None, strip=True)
        project_list = []
        with DBContext('w') as session:
            if key and value:
                alert_data = session.query(PrometheusAlert).filter_by(
                    **{
                        key: value
                    }).all()
            else:
                alert_data = session.query(PrometheusAlert).all()

        for data in alert_data:
            data_dict = model_to_dict(data)
            data_dict['create_at'] = str(data_dict['create_at'])
            data_dict['update_at'] = str(data_dict['update_at'])
            project_list.append(data_dict)
        return self.write(dict(code=0, msg='获取成功', data=project_list))