数据统计可视化工具:Ranaly

jopen 9年前

Ranaly是一个基于 Redis 的数据统计可视化工具。一个简单易用的数据统计工具,只需要在项目中加入几行代码就可以生成可视化的图表。

Ranaly 的 Node.js 客户端库node_ranaly已经完成。

特点如下:

  1. 使用简单,容易维护

  2. 基于Redis,性能优异

  3. 支持模块级别的权限控制

  4. 长连接实时数据统计

  5. 多种图表可以选择,可以自定义模板、模块

快速入门

在项目中使用Ranaly统计数据十分简单,步骤如下。

1. 安装Node.js和Redis

Ranaly使用Node.js开发,所以需要先安装Node.js。同样因为Ranaly的统计数据存储于Redis中,所以需要安装Redis

2. 安装Ranaly

git clone git://github.com/luin/ranaly.git  cd ranaly  npm install

3. 在已有项目中加入统计代码

如果你的项目使用Node.js开发,可以使用Ranaly的node客户端库,安装方法如下:

npm install node_ranaly

如果希望统计项目注册用户的变化趋势,可以在用户注册成功后加上如下代码:

var ranaly = equire('node_ranaly').createClient();  var rUsers = new ranaly.Amount('Users');  rUsers.incr();

node_ranaly库会将名为“Users”的Amount类型的桶的值增1并和当前时间一起写入到Redis中。

4. 查看统计结果

建立配置文件,内容如下:

app_name: Demo  users:    - username: admin      password: admin123  pages:    - title: Overview      widgets:        - type: amount_line_chart          bucket: Users

将文件保存,并进入Ranaly的目录执行:

node ranaly /path/to/config_file

其中/path/to/config_file表示配置文件路径。此时就可以访问 http://127.0.0.1:3000 进入数据查看页面了,使用admin和admin123登录系统,能看到用户数量的折线图。

文档

Ranaly由两个部分组成,分别是客户端库和数据展示部分,本页面项目是数据展示部分。在程序中通过客户端库在Redis中记录统计数据,而本页面项目的作用是将这些数据以图表的形式显示出来。

1. 客户端库

Node.js:node_ranaly

2. 数据类型

为了适应不同场合的统计需要,Ranaly支持3种类型的数据统计:

(1) Amount

当要记录某一个数据的在不用时间的数量变化时就需要使用Amount类型,如想记录用户数量的变化趋势等。

(2) Realtime

Realtime用来记录实时数据,如当前系统内存使用情况等。

(3) DataList

DataList用来记录数据列表,数据可以是数字、字符串甚至对象。如新注册的用户头像地址列表、新注册的用户资料列表等。DataList只保留数据列表中的前N条数据(N的数值可以指定)。

3. Ranaly配置文件

为了能够通过Ranaly来将Redis中记录的统计数据可视化,需要提供一份配置文件。配置文件的格式为YAML,样例如下:

app_name: 应用名称  port: Ranaly使用的端口号,默认是3000  redis:      host: Redis的主机地址,默认是127.0.0.1      port: Redis的端口号,默认是6379      key_prefix: 存储统计数据的键名前缀,需要和客户端库的配置一样  users:      - username: 用户名        password: 密码        role: 数字,表示用户的权限,默认是0  pages:      - title: 页面的标题        widgets:            - type: widget的类型              bucket: widget对应的bucket              title: widget的标题              role: 数字,只对拥有大于或等于该role的用户可见

4. 桶(bucket)

为了区分不同的统计数据,需要为每类数据起个名字(桶),如统计用户名称的桶可以命名为“Users”,统计访问量的桶可以命名为“Page views”。不同数据类型的桶可以重名,桶的名称可以包含空格。

5. Widget类型

在配置文件中可以看到每一个项目是由若干个page组成的,每个page由若干个widget组成。widget分为不同种类,每一种widget只适用于一种数据类型,可以从其命名看出来。

数据统计可视化工具:Ranaly

项目主页:http://www.open-open.com/lib/view/home/1417588725573