redash部署使用

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云原生内存数据库 Tair,内存型 2GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

一、安装

https://github.com/getredash/redash 拉取代码,运行docker-compose.production.yml

1,docker-compose文件调整

主要修改了两处:

1,增加了redis和postgres的db文件与宿主机的映射,不让docker容器停止后数据丢失。

官方默认的docker-compose.production.yml在docker-compose down 命令后,所有的配置信息都丢失了

2,增加了redis和postgres的端口映射,方便调试,线上环境也可以关掉。

3,修改REDASH_COOKIE_SECRET。

修改后的docker-compose.production.yml文件如下:


# This is an example configuration for Docker Compose. Make sure to atleast update
# the cookie secret & postgres database password.
#
# Some other recommendations:
# 1. To persist Postgres data, assign it a volume host location.
# 2. Split the worker service to adhoc workers and scheduled queries workers.
version: '2'
services:
  server:
    image: redash/redash:latest
    command: server
    depends_on:
      - postgres
      - redis
    ports:
      - "5000:5000"
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
      REDASH_COOKIE_SECRET: "Q422k6vaXUk8"
      REDASH_WEB_WORKERS: 4      
    restart: always
  worker:
    image: redash/redash:latest
    command: scheduler
    environment:
      PYTHONUNBUFFERED: 0
      REDASH_LOG_LEVEL: "INFO"
      REDASH_REDIS_URL: "redis://redis:6379/0"
      REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
      QUEUES: "queries,scheduled_queries,celery"
      WORKERS_COUNT: 2
    restart: always
  redis:
    image: redis:3.0-alpine
    ports:
    - "6379:6379"
    volumes: 
      - ./data/redis_data:/data
    restart: always
  postgres:
    image: postgres:9.5.6-alpine
    ports:
    - "5432:5432"
    volumes:
      - ./data/postgresql_data:/var/lib/postgresql/data
    restart: always
  nginx:
    image: redash/nginx:latest
    ports:
      - "88:80"
    depends_on:
      - server
    links:
      - server:redash
    restart: always

2,创建db


[root@VM_38_115_centos redash]# docker-compose -f docker-compose.production.yml run --rm server create_db
 
Starting redash_redis_1
 
Starting redash_postgres_1
 
[2018-09-11 09:02:39,580][PID:1][INFO][root] Generating grammar tables from /usr/lib/python2.7/lib2to3/Grammar.txt
 
[2018-09-11 09:02:39,601][PID:1][INFO][root] Generating grammar tables from /usr/lib/python2.7/lib2to3/PatternGrammar.txt
 
[2018-09-11 09:02:41,707][PID:1][INFO][alembic.runtime.migration] Context impl PostgresqlImpl.
 
[2018-09-11 09:02:41,708][PID:1][INFO][alembic.runtime.migration] Will assume transactional DDL.
 
[2018-09-11 09:02:41,724][PID:1][INFO][alembic.runtime.migration] Running stamp_revision -> 969126bd800f
 

3,运行

# docker-compose -f docker-compose.production.yml up

运行起来的容器如下:

4,邮件配置

For the system to be able to send emails (for example when alerts trigger), you need to set the mail server to use and the host name of your Redash server. If you’re using one of our images, you can do this by editing the .env file:

 
# Note that not all values are required, as they have default values.
 
export REDASH_MAIL_SERVER="" # default: localhost
export REDASH_MAIL_PORT="" # default: 25
export REDASH_MAIL_USE_TLS="" # default: false
export REDASH_MAIL_USE_SSL="" # default: false
export REDASH_MAIL_USERNAME="" # default: None
export REDASH_MAIL_PASSWORD="" # default: None
export REDASH_MAIL_DEFAULT_SENDER="" # Email address to send from
 
export REDASH_HOST="" # base address of your Redash instance, for example: "https://demo.redash.io"

docker-compose文件中配置

server:
    image: redash/redash:latest
    environment:
  
      ...
 
      #邮箱 
      REDASH_MAIL_SERVER: "smtp.exmail.qq.com"
      REDASH_MAIL_PORT: 465
      REDASH_MAIL_USE_TLS: "false"
      REDASH_MAIL_USE_SSL: "true"
      REDASH_MAIL_USERNAME: "no-reply@yoursite.com"
      REDASH_MAIL_PASSWORD: "111111"
      REDASH_MAIL_DEFAULT_SENDER: "no-reply@yoursite.com"
      REDASH_HOST: "http://redash.mysite.com"
 

测试是否配置成功:

 
[root@VM_38_115_centos ~]# docker exec -it redash_server_1 python manage.py send_test_mail
 
[2018-09-11 10:02:28,627][PID:37][INFO][root] Generating grammar tables from /usr/lib/python2.7/lib2to3/Grammar.txt
 
[2018-09-11 10:02:28,649][PID:37][INFO][root] Generating grammar tables from /usr/lib/python2.7/lib2to3/PatternGrammar.txt
 

自己邮件会收到Test message。

PS:配置成功了,但在Alerts中触发了警告,设置的接受邮件没收到警告信息。还没找到原因...

二、使用

1,配置数据库

2,查询语句

  • 获取表的更新时间

增加图表展示:

3,Dashboards

三、用户管理


添加用户

四、特性

1,支持iframe嵌入到其它网页

对于任何Query,表格和图形都支持embed

点击Embed弹出:


这个功能可以实现自己系统中集成报表展示。

2,可视化图形支持的类型

箱型图

线形图、柱状图、面积图、饼图、散点图



队列图

计数器

漏斗图

地图

透视表

桑基图

桑基图用于表达流量分布于结构对比,最初的发明者使用它来呈现能量的流动与分布。

旭日图(Sunburst)

词云图

五,实践

根据scrapy log日志表,设计出一张bashboard监控面板:

参考

redash邮箱设置

redash环境变量

Visualization Types

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
Shell 数据安全/隐私保护
部署Alist
快速安装、更新和卸载Alist的命令行脚本:`curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s {install|update|uninstall}`。默认安装路径为`/opt/alist`。管理密码使用`chmod +x ./alist; ./alist admin {random|set NEW_PASSWORD}`。附图展示界面。(235字符)
129 0
|
2月前
|
机器学习/深度学习 自然语言处理 Ubuntu
OpenVoice一键部署
OpenVoice一键部署
177 0
|
8月前
|
Kubernetes 网络协议 网络虚拟化
003_部署loadbalance
003_部署loadbalance
87 0
|
8月前
|
Kubernetes Cloud Native Docker
在 K8S 中部署一个应用 下
在 K8S 中部署一个应用 下
|
8月前
|
Kubernetes 调度 Docker
在 K8S 中部署一个应用 上
在 K8S 中部署一个应用 上
|
Python Perl
K3s部署
使用k3s部署python flask项目
K3s部署
|
监控 NoSQL 测试技术
readis部署
redis部署
|
NoSQL 网络协议 Oracle
umpServer部署及应用
umpServer部署及应用
317 0
VuePressBlog部署
VuePressBlog部署
395 0
VuePressBlog部署
|
Java
部署服务总结
关于常用应用的操作和部署过程中遇到的错误以及处理。
401 0