官方帮助文档https://redash.io/help/

redash在CentOS下的安装 https://note.abeffect.com/note/articles/2018/02/23/1519351936006.html

Redash 安装部署 https://www.cnblogs.com/shhnwangjian/p/8417748.html

[Redash] 权限机制 https://ithelp.ithome.com.tw/articles/10208456?sc=iThelpR

Redash汉化(Redash实现国际化) https://blog.csdn.net/weixin_42273374/article/details/84949963

 

 

配置邮箱: 官网的配置教程: https://redash.io/help/open-source/setup

配置日志:

需要重启服务器,才生效

关于权限

Reash是一个数据查询平台,必定会涉及权限管理。主要由3个概念:组(group),用户(user), 数据源(data source)。
group在最上层,一个group对应多个user 和 data source。反之也可行,但不利于权限的管理。
权限功能主要基于组(group)和所属数据源(data source)来控制。一个用户(user)必须属于一个或多个组,当新用户进入时,该用户默认在“default组”。在新增一个数据源时,该数据源默认归属于”default组”。

数据源 数据源有两个权限设置:
Full access,即:该组的用户可操作被保存的查询(可以改SQL源码),创建一个新的查询
View Only access,即:该组的用户只能阅读被保存的查询(看不到SQL源码)及其结果
对于不需要写SQL取结果的用户群来说,应该与需要写SQL取结果的用户群体区分在不同组(group)中。比如:基础架构查看报表组,基础架构制作报表组。

如果想对一个组的用户做table级别的查询限制,官方提供的方案:
在建立数据源时,配置一个带有权限控制的数据库用户即可。比如,连接mysql时,用一个只能查询测试db/table的用户名进行连接。把这个数据源赋给某个组,然后该组的所有用户,只能看到这个数据源里的测试db/table。

组 组可设置的权限有:
admin/super_admin,管理员/超级管理员,可用所用功能
create_dashboard,创建dashboard
create_query,创建SQL查询
edit_dashboard,编辑自己/别人的dashboard
edit_query,编辑自己/别人的SQL查询
view_query,查看已经存在的SQL
view_source,查看SQL源码
execute_query,执行SQL
list_users,看到所有用户
schedule_query,设置定时刷新
list_dashboards,看到所用的dashboard
list_alerts,看到所有的提醒任务
list_data_sources,看到所有的数据源
将以上权限赋给不同的组,每个组的用户就可以实现不同的功能。Redash不强调对用户做太多的权限控制,因为一个用户必须要归属于一个组。所以,对组做现在即可。

我的创建例子:

对同一个数据库,
1. 创建两个数据源: datasource_a,datasource_b
2. 创建分组 group_a, group_b,group_b_view,分别使用数据源datasource_a,datasource_b,datasource_b, 都用于所有访问权限!
3. 创建user_a用户,使用 group_a, 都用于所有访问权限!
4. 创建user_b_admin用户,使用 group_b, 都用于所有访问权限!
5. 创建user_b_01用户,使用 group_b_view, 拥有仅仅视图权限!
6. 创建user_b_02用户,使用 group_b_view, 拥有仅仅视图权限!
———————
这样能保证仪表盘等信息, 不会被其他组看到,以此类推

 

删除用户:

 

 

安装详细步骤

简单来说就是:(Fedora28安装的话,需要转成dnf命令安装,不同的地方做标记)
安装 redis
安装 PostgreSQL 数据库(估计也可以使用其它数据库)
安装 nodejs相关
安装 nginx 做请求转发(不是必需)

#加入永久开放端口:

 

If SELinux is enabled, you might need to change your SELinux Setting.
httpd_can_network_connect flag is for Allowing HTTPD scripts and modules to connect to the network.

安装必要软件

安装redis

测试确认安装正常

 

安装postgresql 9.5

安装后,可执行文件在 /usr/pgsql-9.5/bin/, 数据和配置文件在 /var/lib/pgsql/9.5/data/
初始化数据:

★★初始化或者修改密码:

 

重启数据库,并修改postgresql密码,注意,这个密码下面使用到的

操作完成的,执行:\q命令回车退出。

恢复pg_hba.conf设置为md5并重启服务

重启数据库:

启动服务:

开机自动启动:

★★创建表空间

然后可以使用pgadminIII来创建表空间了: tb_spance ==> /var/lib/pgsql/9.5/tb_spance

安装redash, 版本看这里: https://github.com/getredash/redash/releases

pwgen -1s 32 获取值:Ah5CBpYjWoPCEbgjy39wwEKpKcD6TIS9(看情况而定,没次安装都不一样) ,用于REDASH_COOKIE_SECRET

翻译处理

由于我不知道怎么做翻译替换,安装完成后翻译再替换,也无法生效,所以决定在这里替换,把已经翻译好的app文件夹,替换到 /opt/redash/redash/client/app ,然后再往下安装。

 

 

设定环境变量

创建连接:

设定环境变量

使环境变量生效

 

pip安装

修改版本: #版本到:https://pypi.org/ 去查询,查找比较接近的

修改版本:

#下面安装碰到版本问题,请按照上面方法解决

如果已经安装过,强制重新安装:

 

npm安装

postgresql方式
数据库创建
#会提示先输入新账户的密码:123456

#创建用户(这步会报错,因为还没有用户组,可以不执行. 下面会从页面再执行的. ) 输入上面创建新账户的密码
#sudo PGPASSWORD=”123456″ -u redash bin/run ./manage.py users create –admin –password admin “Admin” “admin”

supervisord配置

查看日志: 必要的时候

 

Nginx配置

最后启动

页面IP访问: http://ip:8080  本地Nginx: http://localhost:8080 不启动Nginx访问: http://localhost:5000/

supervisor控制台: http://localhost:9001

第一次登陆,会创建admin账号,后面就不需要了,创建账户的话,需要使用admin进入系统创建

重新部署: 方便对代码进行翻译