はじめに
Redash では環境変数として設定すると動作を変更できるパラメータがたくさん存在します。
公式ドキュメントと実際のコードを確認しながらどんなパラメータがあるのかを調べてみました。
注意として Redash でパラメータという用語はクエリ内に {{name}}
のように記述することで変数になるパラメータ付きクエリを指しますが、ここでは動作を変更するための値を表す用語としてパラメータと呼ぶことにします。
パラメータ付きクエリについては次の資料が参考になります。
また、開発中の最新(master ブランチ)を対象としています。そのため、バージョンによっては指定しても反映されない可能性がありますのでご注意ください。
パラメータ一覧
基本
サイト全般に関わるパラメータです。
REDASH_STATIC_ASSETS_PATH
../client/dist/
- 説明: 静的なアセットファイルのパス
Redis 関係
REDASH_REDIS_URL
- 説明: RedisのURL
-
デフォルト値:
redis://localhost:6379/0
REDASH_PROXIES_COUNT
- 説明: プロキシサーバ数
-
デフォルト値:
1
werkzeug.contrib.fixers.ProxyFixを参照
REDASH_JOB_EXPIRY_TIME
- 説明: ジョブの最長実行時間
-
デフォルト値:
3600 * 12
StatsD 関係
Graphite クライアントの StatsD に関するパラメータです。
REDASH_STATSD_HOST
- 説明: StatsD のアドレス
-
デフォルト値:
127.0.0.1
REDASH_STATSD_PORT
- 説明: StatsD のポート番号
-
デフォルト値:
8125
REDASH_STATSD_PREFIX
- 説明: StatsD のプレフィックス
-
デフォルト値:
redash
REDASH_STATSD_USE_TAGS
-
デフォルト値:
false
- 説明: StatsD メトリックでタグを使うかどうか
データベース関係
Redash 自身のデータベースに関するパラメータです。ORM である SQLAlchemy を使っているので、名前に SQLALCHEMY
を含むものが多くなっています。
REDASH_DATABASE_URL
- 説明: データベースのURL
-
デフォルト値:
postgresql://postgres
SQLALCHEMY_MAX_OVERFLOW
- 説明: データベースの最大接続数
-
デフォルト値:
None
SQLALCHEMY_POOL_SIZE
- 説明: データベースのプール数
-
デフォルト値:
None
SQLALCHEMY_DISABLE_POOL
ワーカー関係
ワーカーに関するパラメータです。タスクキューライブラリである Celery を使っているので、名前に CELERY
を含むものが多くなっています。
REDASH_CELERY_BROKER
- 説明: Celery の Broker
-
デフォルト値: パラメータ
REDIS_URL
の値
REDASH_CELERY_BACKEND
- 説明: Celery のバックエンド
-
デフォルト値:
CELERY_BROKER
REDASH_CELERY_TASK_RESULT_EXPIRES
- 説明: Celery のタスク結果をキャッシュとして保存する期間
-
デフォルト値:
3600 * 4
REDASH_ADHOC_QUERY_TIME_LIMIT
- 説明: クエリ実行のタイムアウト
- デフォルト値: None
クエリ削除関係
QUERY_RESULTS_CLEANUP_ENABLED
-
説明: パラメータ
QUERY_RESULTS_CLEANUP_MAX_AGE
日以上経過したクエリを削除するか -
デフォルト値:
true
QUERY_RESULTS_CLEANUP_COUNT
-
説明: パラメータ
QUERY_RESULTS_CLEANUP_MAX_AGE
日以上経過したクエリを削除する際の最大削除数 -
デフォルト値:
100
QUERY_RESULTS_CLEANUP_MAX_AGE
- 説明: 指定値以上経過したクエリ結果を削除する
-
デフォルト値:
7
(単位: 日)
ログイン関係
REDASH_AUTH_TYPE
-
説明: APIの認証方式
api_key
,hmac
,password
のいずれか -
デフォルト値:
api_key
REDASH_INVITATION_TOKEN_MAX_AGE
- 説明: 新規ユーザ招待トークンの有効時間
-
デフォルト値:
604800
(単位: 秒) => 7日間 - 参考:
REDASH_MULTI_ORG
- 説明: 複数所属を有効にするか
-
デフォルト値:
false
REDASH_COOKIE_SECRET
- 説明: クッキーのシリアライザ
-
デフォルト値:
c292a0a3aa32397cdb050e233733900f
REDASH_GOOGLE_CLIENT_ID
- 説明: Google OAuth 2.0 のクライアントID
- デフォルト値: (なし)
REDASH_GOOGLE_CLIENT_SECRET
- 説明: Google OAuth 2.0 のクライアントシークレット
- デフォルト値: (なし)
REDASH_THROTTLE_LOGIN_PATTERN
- 説明: ログインアクセス制限パターン
-
デフォルト値:
50/hour
(1時間に50アクセス) - 参考: https://flask-limiter.readthedocs.io/en/stable/#rate-limit-string-notation
REDASH_LIMITER_STORAGE
- 説明: ログインアクセス情報のストレージURL
-
デフォルト値:
REDIS_URL
の値 - 参考: http://limits.readthedocs.io/en/latest/storage.html#storage-scheme
REMOTE_USER_LOGIN_ENABLED
-
説明:
- リモートログインを許可するか
-
REDASH_REMOTE_USER_HEADER
で指定されたヘッダー付きリクエストのあったユーザ(メールアドレス)についてログインを許可する仕組み
-
デフォルト値:
false
- 参考: セキュリティリスクが高いので要注意
REDASH_LDAP_LOGIN_ENABLED
- 説明: LDAPログインを有効にするか
-
デフォルト値:
false
REDASH_LDAP_URL
- 説明: LDAP ディレクトリの URL
- デフォルト値: (なし)
REDASH_LDAP_BIND_DN
- 説明: LDAP にバインドする DN
- デフォルト値: (なし)
REDASH_LDAP_BIND_DN_PASSWORD
- 説明: LDAP DN のパスワード
- デフォルト値: (なし)
REDASH_LDAP_DISPLAY_NAME_KEY
- 説明: LDAP 表示名のキー
-
デフォルト値:
displayName
REDASH_LDAP_EMAIL_KEY
- 説明: LDAP メールのキー
-
デフォルト値:
mail
REDASH_LDAP_CUSTOM_USERNAME_PROMPT
- 説明: LDAP 表示名とメールのプロンプト
-
デフォルト値:
LDAP/AD/SSO username:
REDASH_LDAP_SEARCH_TEMPLATE
- 説明: LDAP データ検索時のテンプレート
-
デフォルト値:
(cn=%(username)s)
REDASH_SEARCH_DN
- 説明: LDAP DN 検索時のスキーマ
- デフォルト値: (空)
REDASH_REMOTE_USER_LOGIN_ENABLED
- 説明: リモートログインの可否
- デフォルト値: false
REDASH_REMOTE_USER_HEADER
- 説明: リモートログイン時のヘッダー
-
デフォルト値:
X-Forwarded-Remote-User
セキュリティ関係
REDASH_ENFORCE_HTTPS
- 説明: HTTPSを強制するか
-
デフォルト値:
false
REDASH_ALLOW_SCRIPTS_IN_USER_INPUT
- 説明: ユーザがテキストとして入力する値をサニタイズしないか
-
デフォルト値:
false
REDASH_ALLOW_PARAMETERS_IN_EMBEDS
-
説明:
- Embeds でパラメータの埋め込みを許可するか
- SQL インジェクションにつながるので注意
-
デフォルト値:
false
SAML 関係
REDASH_SAML_METADATA_URL
- 説明: SAML認証用IdPのメタデータを返すURL
- デフォルト値: (なし)
REDASH_SAML_LOCAL_METADATA_PATH
- 説明: SAML認証用IdPのメタデータファイルパス
- デフォルト値: (なし)
REDASH_SAML_CALLBACK_SERVER_NAME
- 説明: SAML認証用IdPからコールバックされる Redash のホスト名
- デフォルト値: (なし)
REDASH_SAML_NAMEID_FORMAT
- 説明: SAML認証用 NameIDFormat
- デフォルト値: (なし)
REDASH_SAML_ENTITY_ID
- 説明: SAML認証用 SPを一意に表す文字列
- デフォルト値: (なし)
メール関係
REDASH_MAIL_SERVER
- 説明: メールサーバのホスト名
-
デフォルト値:
localhost
REDASH_MAIL_PORT
- 説明: メールサーバのポート番号
-
デフォルト値:
25
REDASH_MAIL_USE_TLS
- 説明: メールサーバが TLS を使用するか
-
デフォルト値:
false
REDASH_MAIL_USE_SSL
- 説明: メールサーバが SSL を使用するか
-
デフォルト値:
false
REDASH_MAIL_USERNAME
- 説明: メールサーバのユーザ名
-
デフォルト値:
None
REDASH_MAIL_PASSWORD
- 説明: メールサーバのパスワード
-
デフォルト値:
None
REDASH_MAIL_DEFAULT_SENDER
- 説明: テストメール送信時の送信先アドレス
-
デフォルト値:
None
REDASH_MAIL_ASCII_ATTACHMENTS
- 説明: メール送信時の添付ファイル
-
デフォルト値:
false
- 参考: https://pythonhosted.org/Flask-Mail/#attachments
CORS 関係
REDASH_HOST
- 説明: Redash ホスト名
REDASH_CORS_ACCESS_CONTROL_ALLOW_ORIGIN
- 説明: CORS で許可するアクセス元ORIGIN
REDASH_CORS_ACCESS_CONTROL_ALLOW_CREDENTIALS
- 説明: CORS のCredential
-
デフォルト値:
false
REDASH_CORS_ACCESS_CONTROL_REQUEST_METHOD
- 説明: CORS で許可するメソッド
-
デフォルト値:
GET,POST,PUT
REDASH_CORS_ACCESS_CONTROL_ALLOW_HEADERS
- 説明: CORS で許可するヘッダ
-
デフォルト値:
Content-Type
データソース(クエリランナー)関係
REDASH_ENABLED_QUERY_RUNNERS
にREDASH_ADDITIONAL_QUERY_RUNNERS
を加えて
REDASH_DISABLED_QUERY_RUNNERS
を除いたものが実行できる対象データソースになります。
REDASH_ENABLED_QUERY_RUNNERS
-
説明: デフォルトで有効にするデータソース文字列を
,
(カンマ)でつなげたもの
デフォルトのデータソースは 9bbce6b の時点で次の通り。
# Query Runners
default_query_runners = [
'redash.query_runner.athena',
'redash.query_runner.big_query',
'redash.query_runner.google_spreadsheets',
'redash.query_runner.graphite',
'redash.query_runner.mongodb',
'redash.query_runner.mysql',
'redash.query_runner.pg',
'redash.query_runner.url',
'redash.query_runner.influx_db',
'redash.query_runner.elasticsearch',
'redash.query_runner.presto',
'redash.query_runner.hive_ds',
'redash.query_runner.impala_ds',
'redash.query_runner.vertica',
'redash.query_runner.clickhouse',
'redash.query_runner.treasuredata',
'redash.query_runner.sqlite',
'redash.query_runner.dynamodb_sql',
'redash.query_runner.mssql',
'redash.query_runner.memsql_ds',
'redash.query_runner.mapd',
'redash.query_runner.jql',
'redash.query_runner.google_analytics',
'redash.query_runner.axibase_tsd',
'redash.query_runner.salesforce',
'redash.query_runner.query_results'
]
REDASH_ADDITIONAL_QUERY_RUNNERS
-
説明:
- 追加のクエリランナー
- 複数ある場合は
,
(カンマ)でつなげる
- デフォルト値: (空)
REDASH_DISABLED_QUERY_RUNNERS
- デフォルト値: (空)
-
説明:
- 除外するクエリランナー
REDASH_SCHEMAS_REFRESH_SCHEDULE
- 説明: データソースのスキーマ取得間隔
-
デフォルト値:
30
(単位: 分)
通知関係
REDASH_ENABLED_DESTINATIONS
の値に REDASH_ADDITIONAL_DESTINATIONS
の値を加えたものが指定できる通知先になります。
REDASH_ENABLED_DESTINATIONS
-
説明: デフォルトの通知先文字列を
,
(カンマ)でつなげたもの - デフォルト値: (空)
デフォルトの通知先は 9bbce6b の時点で次の通り。
# Destinations
default_destinations = [
'redash.destinations.email',
'redash.destinations.slack',
'redash.destinations.webhook',
'redash.destinations.hipchat',
]
REDASH_ADDITIONAL_DESTINATIONS
-
説明:
- 追加の通知先
- 複数ある場合は
,
(カンマ)でつなげる
- デフォルト値: (空)
- 参考:
REDASH_ALERTS_DEFAULT_MAIL_SUBJECT_TEMPLATE
- 説明: アラート通知のメールタイトルテンプレート
-
デフォルト値:
({state}) {alert_name}
REDASH_EVENT_REPORTING_WEBHOOKS
-
説明:
- イベントデータを保存する際にデータを送信するPOST先 Webhook URL
- 複数ある場合は,(カンマ)で結合する
- デフォルト値: (空)
ログ関係
REDASH_LOG_LEVEL
- 説明: ログレベル
-
デフォルト値:
INFO
REDASH_LOG_STDOUT
- 説明: 標準出力にログを出力するか
-
デフォルト値:
false
REDASH_LOG_FORMAT
- 説明: ログのフォーマット
-
デフォルト値:
[%(asctime)s][PID:%(process)d][%(levelname)s][%(name)s] %(message)s
- サンプル:
[2017-12-02 10:14:02,348][PID:5137][INFO][metrics] method=POST path=/api/events endpoint=events status=200 content_type=application/json content_length=4 duration=204.14 query_count=2 query_duration=2.90
CELERYD_LOG_FORMAT
- 説明: ワーカー(Celery)のログフォーマット
-
デフォルト値:
[%(asctime)s][PID:%(process)d][%(levelname)s][%(processName)s] %(message)s
- サンプル:
[2017-12-02 10:18:00,786][PID:8099][WARNING][MainProcess] celery@XXXXXXXX.local ready.
REDASH_CELERYD_TASK_LOG_FORMAT
- 説明: ワーカー(Celery)のタスクログフォーマット
-
デフォルト値:
[%(asctime)s][PID:%(process)d][%(levelname)s][%(processName)s] task_name=%(task_name)s task_id=%(task_id)s %(message)s'
実験的機能
REDASH_FEATURE_DISABLE_REFRESH_QUERIES
- 説明: クエリのリフレッシュを無効にするか
-
デフォルト値:
false
REDASH_FEATURE_SHOW_QUERY_RESULTS_COUNT
- 説明: クエリの結果をカウントして表示するか
-
デフォルト値:
true
REDASH_FEATURE_SHOW_PERMISSIONS_CONTROL
- 説明: パーミッション管理を表示するか
-
デフォルト値:
false
REDASH_FEATURE_ALLOW_CUSTOM_JS_VISUALIZATIONS
- 説明: カスタム JS の VISUALIZATION を許可するか
-
デフォルト値:
false
REDASH_FEATURE_AUTO_PUBLISH_NAMED_QUERIES
- 説明: クエリの名前を変更した際に自動的に「公開」状態にするか
-
デフォルト値:
true
REDASH_FEATURE_DUMB_RECENTS
- 説明: 最新のクエリ・ダッシュボードの取得数を制限する
-
デフォルト値:
false
その他
REDASH_SENTRY_DSN
- 説明: エラートラッカー Sentry クライアントのホスト名
- デフォルト値: (空)
REDASH_DATE_FORMAT
- 説明: 日付値のフォーマット
-
デフォルト値:
DD/MM/YY
REDASH_VERSION_CHECK
- 説明: 最新の安定版がリリースされているかのチェックを行うか
-
デフォルト値:
true
REDASH_BIGQUERY_HTTP_TIMEOUT
- 説明: BigQuery のタイムアウト時間
-
デフォルト値:
600
REDASH_SCHEMA_RUN_TABLE_SIZE_CALCULATIONS
- 説明: デーブルスキーマの行数をカウントするか
-
デフォルト値:
false
REDASH_DASHBOARD_REFRESH_INTERVALS
- 説明: ダッシュボードのリフレッシュで指定可能な間隔
-
デフォルト値:
60,300,600,1800,3600,43200,86400
(単位:秒)
REDASH_QUERY_REFRESH_INTERVALS
- 説明: クエリのリフレッシュで指定可能な間隔
-
デフォルト値:
60, 300, 600, 900, 1800, 3600, 7200, 10800, 14400, 18000, 21600, 25200, 28800, 32400, 36000, 39600, 43200, 86400, 604800, 1209600, 2592000
(単位:秒)