はじめに

Redash では環境変数として設定すると動作を変更できるパラメータがたくさん存在します。

公式ドキュメントと実際のコードを確認しながらどんなパラメータがあるのかを調べてみました。

注意として Redash でパラメータという用語はクエリ内に {{name}} のように記述することで変数になるパラメータ付きクエリを指しますが、ここでは動作を変更するための値を表す用語としてパラメータと呼ぶことにします。

パラメータ付きクエリについては次の資料が参考になります。

また、最新のリリースバージョンは v2.0.1 ですが、開発中の最新(master ブランチ)を対象としています。そのため、バージョンによっては指定しても反映されない可能性がありますのでご注意ください。

パラメータ一覧

基本

サイト全般に関わるパラメータです。

REDASH_NAME

  • 説明: サイト名
  • デフォルト値:Redash

(今は使われていない?)

REDASH_LOGO_URL

  • 説明: ロゴのURL
  • デフォルト値:/images/redash_icon_small.png

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

  • 説明: ジョブの最長実行時間
  • デフォルト値: 21600

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

REDASH_ADHOC_QUERY_TIME_LIMIT

  • 説明: クエリ実行のタイムアウト
  • デフォルト値: (なし)

クエリ削除関係

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_PASSWORD_LOGIN_ENABLED

  • 説明: パスワードログインを有効にするか
  • デフォルト値: true

REDASH_INVITATION_TOKEN_MAX_AGE

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

REDASH_LIMITER_STORAGE

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_HEADER

  • 説明: リモートログイン時のヘッダー
  • デフォルト値: X-Forwarded-Remote-User

セキュリティ関係

REDASH_ENFORCE_HTTPS

  • 説明: HTTPSを強制するか
  • デフォルト値: false

REDASH_ALLOW_SCRIPTS_IN_USER_INPUT

  • 説明: ユーザがテキストとして入力する値をサニタイズしないか
  • デフォルト値: false

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

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_RUNNERSREDASH_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}

EVENT_REPORTING_WEBHOOKS

  • 説明:
    • イベント結果を送信するPOST先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_SENTRY_DSN

  • 説明: エラートラッカー Sentry クライアントのホスト名
  • デフォルト値: (空)

REDASH_DATE_FORMAT

  • 説明: 日付値のフォーマット
  • デフォルト値: DD/MM/YY

REDASH_FEATURE_ALLOW_ALL_TO_EDIT

  • 説明: (使われていない?)
  • デフォルト値: true

FEATURE_SHOW_QUERY_RESULTS_COUNT

  • 説明: クエリのヒット数を表示するか
  • デフォルト値: true

REDASH_VERSION_CHECK

  • 説明: 最新の安定版がリリースされているかのチェックを行うか
  • デフォルト値: true

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_BIGQUERY_HTTP_TIMEOUT

  • 説明: BigQuery のタイムアウト時間
  • デフォルト値: 600

REDASH_SCHEMA_RUN_TABLE_SIZE_CALCULATIONS

  • 説明: デーブルスキーマの行数をカウントするか
  • デフォルト値: false
1473686961
ねる、くう、はしる