Redashを採用しようとしたきっかけ
数年前にPerlで作った自作のDashboardが細々とまだ使われるのを見て、今だったらRedashに置き換えることが出来るんじゃない? と思ってちょっと試してみた作業ログ。
ちなみに、現時点ではとりあえずデータソースにOracleは入ったがデータを引き出すまでには至ってないという状態。
インストールした環境
動作させるサーバーは jessie/sid
な Ubuntu 14.04.4 LTS
で、接続するOracleサーバーは Oracle 11g
、インストールしたRedashは Re:dash 0.10.1+b1836
という感じ。
Redashのインストール
Redashのインストールについては「re:dashセットアップ手順」を参考にしてインストール。
結構時間はかかるけどRedashのインストール自体に躓くところは無かった。
Goolgeアカウントとの連携
社内サーバーなんで認証についてはそんなに厳しくする必要が無いのだが、監査ログがとれるみたいなのでせっかくだから使ってるAppsドメイン以外からはログイン出来なくしてみた。
先程のインストールで参考にしたページではうまく設定出来なかった(情報が古い? )が、 公式のページ の内容にそって設定すればOK。ドメインを指定する方法が違うみたい。
で、無事にAppsアカウントでログインすると自動的にユーザーが作られるので、必要に応じてAdminグループ等に追加すればそのアカウントで色々設定できるようになる。
データソースにOracleを追加
公式のデータソース にはOracleの設定方法があるのだが、インストールしただけではデータソースの一覧に表示が出てこない。
ステップ的には、インスタントクライアントのインストール、Oracle用Pythoneパッケージのインストール、設定ファイルの調整という3ステップが必要だった。
Oracleライブラリのインストール
Oracleのインスタントクライアントについては このページ からダウンロードできる。
バージョンやパッケージ違いで候補が沢山あるが、「UbuntuでPythonからcx_Oracleモジュールを使ってOracle Database 11gに接続する」を参考にして11gのパッケージを3つインストールした。
alienを利用したインストールから各種設定まで同じようにやれば問題ないが、 ORACLE_HOME
と PATH
については /opt/redash/.env
に設定する。
設定ファイルの調整
Oracleに接続する準備は出来たはずだが、このままではまだデータソースにOracleが追加されない。
もう少し調べてみるとリストアップさせるデータソースを書き換えなくてはいけないみたいで、 CentOS用だが「Redash: Abilitare i datasource oracle manualmente in Centos」が参考になった。
今回はOracleを追加したのだが、必要に応じて不要なデータソースを消すことも出来そう。ただ、バージョンアップの際にどうなるかはちょっと検証してみないと分からない。
[2016-06-24] 追記:Oracleへの接続をデフォルトにしてという PullReq があって、それ自体は却下されてるんだけど設定ファイルで調整できることが分かった。
具体的には /opt/redash/.env
に下記を追加するだけで良い。
export REDASH_ADDITIONAL_QUERY_RUNNERS=redash.query_runner.oracle
データソースにOracleが追加
という感じで進めてやっとデータソースにOracleが表示された。
[2016-06-24] 追記:環境変数も設定したほうが良いかもしれない。とりあえずこちらの環境では以下の環境変数を /opt/redash/.env
に追加している(それでも相変わらず日本語テーブル名は化けてるままだが)。
export NLS_LANG=JAPANESE_JAPAN.UTF8
export NLS_DATE_FORMAT=YYYY-MM-DD
ただ、データソースは表示されてテーブルも見えるのだが、実際はエラーが出てつながらない。
ここからがちょっと長くて嵌りそうな感じである。
[2016-06-24] 追記:ソースを修正してエラーを回避することが出来た。 PullReq 送ってるけどマージしてもらえるかな?