持续维护和基本操作
快速导航
配置和日志
如果使用新的系统软件包安装 Supervisor 的镜像,则可以在 /etc/supervisor/conf.d/redash.conf
中找到 supervisor 配置。否则,您可以在 /opt/redash/supervisord/supervisord.conf
中找到它。
在那里,您可以看到 Redash 进程的名称(redash_celery
、redash_server
和 redash_celery_scheduled
),以及它们的日志位置。如果不存在日志位置,则日志将写入 /var/logs/supervisor
。
重启
- 重启所有进程:
sudo supervisorctl restart all
。 - 重启 Web 服务器:
sudo supervisorctl restart redash_server
。 - 重启 Celery 工作进程:
sudo supervisorctl restart redash_celery
。
重启 Celery 工作进程 & 查询队列
如果您正在处理问题,并且需要停止当前正在运行的查询并重置队列,请按照以下步骤操作。
- 停止 celery:
sudo supervisorctl stop redash_celery
(如果 celery 正在运行查询,则可能需要一些时间才能停止) - 刷新 redis:
redis-cli flushall
。 - 启动 celery:
sudo supervisorctl start redash_celery
更改工作进程的数量
默认情况下,Celery 将为每个 CPU 核心启动一个工作进程。因为 Redash 的大多数任务都是 IO 密集型的,所以您可以使用的最大工作进程数量取决于您机器的内存大小。建议增加工作进程的数量,以支持更多的并发查询。
- 打开 supervisord 配置文件:
/opt/redash/supervisord/supervisord.conf
- 编辑
[program:redash_celery]
部分,并在 command 值中添加参数 "-c" 以及您需要的并发工作进程数量。 - 重启 supervisord 以应用新配置:
sudo /etc/init.d/redash_supervisord restart
。
数据库
备份 Redash 的数据库
未压缩备份: sudo -u redash pg_dump > backup_filename.sql
压缩备份: sudo -u redash pg_dump redash | gzip > backup_filename.gz
版本
查看当前版本
bin/run ./manage.py version
监控
Redash 默认附带一个 HTTP 处理程序,为您提供有关应用程序运行状况的有用信息。端点是 /status.json
,如果您尚未登录,则需要提供超级管理员 API 密钥。此 API 密钥可以从您个人资料的专用选项卡中获取。
您将在下面找到此端点的示例输出
{
"dashboards_count": 30,
"manager": {
"last_refresh_at": "1465392784.433638",
"outdated_queries_count": 1,
"query_ids": "[34]",
"queues": {
"queries": {
"data_sources": "Redshift data, redash metadata, MySQL data, MySQL read-only, Redshift read-only",
"size": 1
},
"scheduled_queries": {
"data_sources": "Redshift data, redash metadata, MySQL data, MySQL read-only, Redshift read-only",
"size": 0
}
}
},
"queries_count": 204,
"query_results_count": 11161,
"redis_used_memory": "6.09M",
"unused_query_results_count": 32,
"version": "0.10.0+b1774",
"widgets_count": 176,
"workers": []
}
如果您计划在未登录的情况下访问此端点,则需要将您的 API 密钥作为查询参数提供。带有 API 密钥的示例端点:/status.json?api_key=fooBarqsLlGJQIs3maPErUxKuxwWGIpDXoSzQsx7xdv