monitor_host_list.py 1.3 KB
from sqlalchemy.sql.functions import func
from .models import MonitorHost, db
from sqlalchemy import and_
from app.util.component.ApiTemplate import ApiTemplate


class Api(ApiTemplate):
    api_name = "监控主机列表"

    def process(self):

        # 返回结果
        res = {}
        res["data"] = []
        logs = []
        try:
            datas = db.session.query(
                MonitorHost.host.label("host"), MonitorHost.srcid.label(
                    "srcid"), MonitorHost.type.label("type"),
                MonitorHost.host_name.label("host_name"),
                MonitorHost.user.label("user")).all()
            res["data"] = list(map(lambda data:
                               {'host': data.host, 'srcid': data.srcid,
                                   'type': data.type, 'host_name': data.host_name,
                                   'user': data.user},
                datas))
            res["result"] = True
        except Exception as e:
            raise e
        return res

    api_doc = {
        "tags": ["监控接口"],
        "parameters": [
        ],
        "responses": {
            200: {
                "schema": {
                    "properties": {
                    }
                }
            }
        }
    }