数据统计可视化工具:Ranaly
Ranaly是一个基于 Redis 的数据统计可视化工具。一个简单易用的数据统计工具,只需要在项目中加入几行代码就可以生成可视化的图表。
Ranaly 的 Node.js 客户端库node_ranaly已经完成。
特点如下:
-
使用简单,容易维护
-
基于Redis,性能优异
-
支持模块级别的权限控制
-
长连接实时数据统计
-
多种图表可以选择,可以自定义模板、模块
快速入门
在项目中使用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只适用于一种数据类型,可以从其命名看出来。