Grafana是指标数据图形化展示工具,可以从多个数据源采集数据并以图表展示。本文介绍如何通过Grafana访问Lindorm中的数据,可以利用Grafana丰富易用的可视化工具更好地监控和分析来自Lindorm的数据。

前提条件

  • 已安装5.x-7.x版本的Grafana,请单击下载Grafana
  • 确保ECS实例与Lindorm实例属于同一专有网络。
  • 确保ECS实例已开通公网访问。如果您未分配公网IP地址,可以申请弹性公网IP,具体操作,请参见申请弹性公网IP
  • 将ECS实例的内网IP地址添加至Lindorm实例的白名单中。具体操作,请参见设置白名单
  • 该数据源只适用于TableService结构的时序数据(time-series data)。

安装Grafana插件

  1. 进入Grafana插件安装目录。
    cd *
    说明 如果在Ubuntu系统中,需要在/var/lib/grafana/plugins/中安装插件。
  2. 执行以下命令下载插件。
    wget https://github.com/aliyun/aliyun-apsaradb-hbase-demo/archive/refs/heads/master.zip
  3. 执行以下命令解压插件。
    unzip master.zip
  4. 在已部署Grafana的机器中,打开grafana.ini配置文件。
    • macOS系统的文件路径:/usr/local/etc/grafana/grafana.ini
    • Linux系统的文件路径:/etc/grafana/grafana.ini
  5. grafana.ini配置文件中的plugins项设置allow_loading_unsigned_plugins参数。
    allow_loading_unsigned_plugins = lindorm_lql_datasource
  6. 重启Grafana服务。
    service grafana-server restart

配置数据源

  1. 登录Grafana服务。
  2. 在左侧菜单栏,选择shezhi>Data Sources
  3. Data Sources页签,单击Add data source
  4. Add data source页面,单击Alibaba Lindorm对应的Select按钮。
  5. 配置数据源参数,包括通讯地址端口
    说明 通讯地址端口使用Lindorm宽表SQL地址及端口,可以通过云原生多模数据库Lindorm控制台获取,具体操作请参见访问实例

添加仪表盘

通过Grafana查询数据包括两种方式。
说明 通过Query Configurator方式查询数据更易于使用但存在一定的限制,通过Query Editor方式查询数据需要熟悉Lindorm SQL语言。

通过Query Configurator方式查询数据

Query Configurator是查询数据最简单的方法。先输入keyspacetable name,然后选择columns。如果keyspacetable 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
查询到的数据如下图所示。shujuxianshi
Visualization中选择Graph,并调整时间段,得到的图表如下所示。tubiaoxianshi