Skip to content

数据库问答

连接数据库

POST http://{ip:port}/uran/agent/db-connects

协议接口

传输协议 HTTP(POST)
URI PATH /uran/agent/db-connects
Headers Content-Type:application/json;charset=UTF-8
Version v1.0

请求参数

名称 类型 是否必须 说明
uri String Y 数据库链接uri
dbs StringArray Y 要用到的数据库数组

响应参数

名称 类型 是否必须 说明
status Int Y 状态码200为成功, 其余为出错
message String Y 当status=200为”success”, 其余为错误信息
data Object N 返回有用的数据

请求示例

{
    "uri":"mysql://root:Koala_MySQL#20Xx..A..@10.10.8.5:43306",
    "dbs":["koala_ai_alarm", "xxx", ...]
}

响应示例

{
    "status": 200,
    "message": "success"
}

断开数据库

DELETE http://{ip:port}/uran/agent/db-connects

协议接口

传输协议 HTTP(DELETE)
URI PATH /uran/agent/db-connects
Headers Content-Type:application/json;charset=UTF-8
Version v1.0

请求参数

名称 类型 是否必须 说明
uri String Y 数据库链接uri
dbs StringArray Y 要用到的数据库数组

响应参数

名称 类型 是否必须 说明
status Int Y 状态码200为成功, 其余为出错
message String Y 当status=200为”success”, 其余为错误信息
data Object N 返回有用的数据

请求示例

{
    "uri":"mysql://root:Koala_MySQL#20Xx..A..@10.10.8.5:43306",
    "dbs":["koala_ai_alarm", "xxx", ...]
}

响应示例

{
    "status": 200,
    "message": "success"
}

数据库问答

POST http://{ip:port}/uran/database-plugin/search

请求参数

名称 类型 是否必须 说明
db String Y 数据库名
text StringArray Y 查询问题名

响应参数

名称 类型 是否必须 说明
status Int Y 状态码200为成功, 其余为出错
message String Y 当status=200为”success”, 其余为错误信息
result Object N 返回有用的数据

请求示例

{
    "db": "abc",
    "text": "按天统计2023年9月报警记录"
}

响应示例

{
    "status": 200,
    "result": {
        "count": [1,1996,1,1,1],
        "day": ["2023-09-12","2023-09-13","2023-09-14","2023-09-15","2023-09-20"]
    }
}

数据库中数据分析

POST http://{ip:port}/uran/database-plugin/analysis

获取需要分析的数据,并按问题给出分析答案。

请求参数

名称 类型 是否必须 说明
db String Y 数据库名
dbquery StringArray Y 查询数据问题
questions StringArray Y 分析数据问题

响应参数

名称 类型 是否必须 说明
status Int Y 状态码200为成功, 其余为出错
message String Y 当status=200为”success”, 其余为错误信息
db_data Object N 返回数据库查询数据
result Object N 返回分析数据答案

请求示例

{
    "db": "large_model_alarm",
    "dbquery": "按小时统计2023年9月13日每小时报警记录",
    "questions": [
        "根据以上数据,请告诉我统计的是那天数据",
        "根据以上数据,请分析几点是最高峰期",
        "根据以上数据,请分析数据的分布、规律和趋势"
    ]
}

响应示例

{
    "status": 200,
    "db_data": {
        "count": [100,10,10,196,10,10,10,150,100,100,100,100,100,100,100,100,100,100,100,100,100,50,100
        ],
        "hour": ["00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22",
"23"]
    },
    "result": [
        "根据数据中的信息,可以看出这是2023年9月13日的每小时报警记录数据。",
        "根据提供的数据,可以看出最高峰期为13:00和14:00,这两个小时的报警记录数量都有196条。因此,可以认为这两个小时是当天最高的报警记录时段。",
        "根据提供的数据,可以看出这个数据的分布比较集中,主要在12:00和14:00两个小时内,两个小时的报警记录数量都超过了100条。其他小时的报警记录数量都比较低,大多数小时的报警记录数量都在10以下。\n\n可以看到,这个数据的规律比较简单,主要是在工作日上午高峰期间出现了较多的报警记录,这可能是因为在这段时间内,更多的人在使用网络和电脑等设备,导致了更多的安全风险和漏洞被攻击者利用。\n\n趋势方面,可以看出这个数据的趋势是逐渐增加,从早晨开始增加,到午后高峰期间达到巅峰,然后逐渐减少。这可能是因为在高峰期间,更多的人在使用网络和电脑等设备,导致了更多的安全风险和漏洞被攻击者利用,同时也可能是因为在高峰期间,更多的人在网络上进行交易和转账等操作,这也带来了更多的安全风险。因此,需要更加注重网络安全和信息安全,加强防范措施,避免安全事件的发生。"
    ]
}

数据库生成ECharts数据

POST http://{ip:port}/uran/database-plugin/echarts

请求参数

名称 类型 是否必须 说明
uri String Y 数据库名
text StringArray Y 问题名

响应参数

名称 类型 是否必须 说明
status Int Y 状态码200为成功, 其余为出错
message String Y 当status=200为”success”, 其余为错误信息
data Object N 返回有用的数据

请求示例

{
    "db": "abc",
    "text": "按天统计2023年9月报警事件记录,并生成折线图"
}

响应示例

{
    "status": 200,
    "result": "根据提供的数据,生成符合ECharts options格式的JSON字符串如下:\n```json\n{\n  \"title\": {\n    \"text\": \"2023年9月报警事件记录\"\n  },\n  \"tooltip\": {\n    \"trigger\": \"axis\"\n  },\n  \"legend\": {\n    \"data\": [\"周一\"]\n  },\n  \"xAxis\": {\n    \"type\": \"category\",\n    \"data\": [\"2023-09-12\", \"2023-09-13\", \"2023-09-14\", \"2023-09-15\", \"2023-09-20\"]\n  },\n  \"yAxis\": {\n    \"type\": \"value\"\n  },\n  \"series\": [\n    {\n      \"name\": \"报警事件数\",\n      \"type\": \"line\",\n      \"data\": [1, 1996, 1, 1, 1]\n    }\n  ]\n}\n```\n该JSON字符串可以作为ECharts options的参数,用于绘制2023年9月报警事件记录的折线图。"
}