如何调用蓝鲸 api 网关蓝鲸监控图表数据查询接口 query_data

作者:admin 发布:2019-08-16 浏览:1120次

蓝鲸 5.1 版本开放了蓝鲸监控api,不过这里应用最多的应该是 query_data (图表数据查询),这样我们就可以查询我们监控设备的性能数据,方便接入其他可视化展示。

官网给出的请求实例是这样的:

请求示例

{
    "username":"admin",
    "sql":"select max(in_use) as _in_use from 3_system_disk where time >= \"1m\" group by ip, plat_id, company_id, device_name, minute1 order by time desc limit 1"}

并未做说明,这里我只是根据自己摸索简单的说下使用方法。

接口参数

字段类型必选描述
sqlstringSQL查询语句

这里只有一个 sql 参数,sql 是查询的语句,蓝鲸保存监控数据使用的是 influxdb 我们可以在 influxdb 主机中使用如下命令查看:

 source /data/install/utils.fc
 #登录进数据库
 influx -host $INFLUXDB_HOST -port $INFLUXDB_PORT 
 #查看数据库
 show databases;

图片.png

这里可以看到每个监控对象(包括主机、组件)都保存为一个数据库。数字代表业务id

#进入数据库
use system_2;
#查看表
show measurements;

图片.png

具体查看那些监控指标在哪个表中,可以到蓝鲸监控 SaaS -> 仪表盘 中查看

图片.png


这里需要注意 sql 语句中的表名 与实际 influxdb 中表名业务id前后顺序是反的。

time>="1m" 这种语法 在influxdb 中也是不支持的,

influxdb 中的 group by time(1m) 在sql 中对应 group by minute1

Comments (0)