蓝鲸 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"}
并未做说明,这里我只是根据自己摸索简单的说下使用方法。
接口参数
字段 | 类型 | 必选 | 描述 |
---|---|---|---|
sql | string | 是 | SQL查询语句 |
这里只有一个 sql 参数,sql 是查询的语句,蓝鲸保存监控数据使用的是 influxdb 我们可以在 influxdb 主机中使用如下命令查看:
source /data/install/utils.fc #登录进数据库 influx -host $INFLUXDB_HOST -port $INFLUXDB_PORT #查看数据库 show databases;
这里可以看到每个监控对象(包括主机、组件)都保存为一个数据库。数字代表业务id
#进入数据库 use system_2; #查看表 show measurements;
具体查看那些监控指标在哪个表中,可以到蓝鲸监控 SaaS -> 仪表盘 中查看
这里需要注意 sql 语句中的表名 与实际 influxdb 中表名业务id前后顺序是反的。
time>="1m" 这种语法 在influxdb 中也是不支持的,
influxdb 中的 group by time(1m) 在sql 中对应 group by minute1
Comments (0)