Grafana是指标数据图形化展示工具,可以从多个数据源采集数据并以图表展示。本文介绍如何通过Grafana访问Lindorm中的数据,可以利用Grafana丰富易用的可视化工具更好地监控和分析来自Lindorm的数据。
前提条件
安装Grafana插件
- 进入Grafana插件安装目录。
cd *
说明 如果在Ubuntu系统中,需要在/var/lib/grafana/plugins/中安装插件。 - 执行以下命令下载插件。
wget https://github.com/aliyun/aliyun-apsaradb-hbase-demo/archive/refs/heads/master.zip
- 执行以下命令解压插件。
unzip master.zip
- 在已部署Grafana的机器中,打开grafana.ini配置文件。
- macOS系统的文件路径:/usr/local/etc/grafana/grafana.ini。
- Linux系统的文件路径:/etc/grafana/grafana.ini。
- 在grafana.ini配置文件中的plugins项设置allow_loading_unsigned_plugins参数。
allow_loading_unsigned_plugins = lindorm_lql_datasource
- 重启Grafana服务。
service grafana-server restart
配置数据源
- 登录Grafana服务。
- 在左侧菜单栏,选择
>Data Sources。
- 在Data Sources页签,单击Add data source。
- 在Add data source页面,单击Alibaba Lindorm对应的Select按钮。
- 配置数据源参数,包括通讯地址和端口。
添加仪表盘
通过Grafana查询数据包括两种方式。
说明 通过Query Configurator方式查询数据更易于使用但存在一定的限制,通过Query Editor方式查询数据需要熟悉Lindorm SQL语言。
通过Query Configurator方式查询数据
Query Configurator是查询数据最简单的方法。先输入keyspace和table name,然后选择columns。如果keyspace和table name为正确,数据源将自动建议columns名称。参数说明如下。
参数名称 | 说明 |
---|---|
Time Column | 表示存储timestamp value的Column,用于回答何时问题。 |
Value Column | 表示存储需要显示的值的Column,可以是数值、温度或其他属性。 |
ID Column | 唯一标识数据来源的Column,例如sensor_id、shop_id或其他数据来源。 |
说明
全表扫描时需要使用ALLOW FILTERING选项,但是建议避免使用该选项。
通过Query Editor方式查询数据
Query Editor是查询数据较强大的方法。需要启用Query Editor,请单击。
Query Editor可以用Lindorm SQL的语法执行。更多语法信息,请参见Lindorm宽表SQL语法手册。
SELECT id, value, created_at FROM test.test WHERE id IN (99051fe9-6a9c-46c2-b949-38ef78858dd1, 99051fe9-6a9c-46c2-b949-38ef78858dd0) AND created_at > $__timeFrom and created_at < $__timeTo
SELECT表达式参数说明如下:
参数名称 | 说明 |
---|---|
id | 表达式第一个属性,表示唯一标识数据。 |
Value | 表达式第二个属性,表示需要显示的值。 |
Timestamp | 表示值的时间戳。 |
说明 通过添加
_timeTo
占位符可以实现按时间过滤数据。如果没有添加占位符获取到的数据为整个时间段的。
操作示例
假如想绘制一张包含各地气温随时间变化曲线的图表。Lindorm中的数据如下,包括气温temp,测量时间local_time,城市city和索引id。
create table log.temp
(
local_time timestamp,
temp int,
id int,
city text,
primary key ((id))
)
通过Query Editor方式查询,Lindorm SQL语句如下所示。
SELECT city, temp , local_time FROM log.temp WHERE local_time > $__timeFrom and local_time < $__timeTo ALLOW FILTERING
查询到的数据如下图所示。
在Visualization中选择Graph,并调整时间段,得到的图表如下所示。
